add health command (#2659)

* add health command
* update health check implementation to allow for more checks to added over time
* add change changelog entry
This commit is contained in:
Stavros Kois
2025-10-16 15:00:11 +03:00
committed by GitHub
parent c2a58a304d
commit c07cc491bf
9 changed files with 400 additions and 105 deletions

View File

@@ -773,4 +773,24 @@ func (api headscaleV1APIServer) DebugCreateNode(
return &v1.DebugCreateNodeResponse{Node: newNode.Node.Proto()}, nil
}
func (api headscaleV1APIServer) Health(
ctx context.Context,
request *v1.HealthRequest,
) (*v1.HealthResponse, error) {
var healthErr error
response := &v1.HealthResponse{}
if err := api.h.state.PingDB(ctx); err != nil {
healthErr = fmt.Errorf("database ping failed: %w", err)
} else {
response.DatabaseConnectivity = true
}
if healthErr != nil {
log.Error().Err(healthErr).Msg("Health check failed")
}
return response, healthErr
}
func (api headscaleV1APIServer) mustEmbedUnimplementedHeadscaleServiceServer() {}