diff --git a/services/antivirus/pkg/server/debug/server.go b/services/antivirus/pkg/server/debug/server.go index 5fbc2c5cc..180fe4c25 100644 --- a/services/antivirus/pkg/server/debug/server.go +++ b/services/antivirus/pkg/server/debug/server.go @@ -18,7 +18,6 @@ func Server(opts ...Option) (*http.Server, error) { options := newOptions(opts...) readyHandlerConfiguration := handlers.NewCheckHandlerConfiguration(). - WithLogger(options.Logger). WithLogger(options.Logger). WithCheck("nats reachability", checks.NewNatsCheck(options.Config.Events.Cluster)). WithCheck("antivirus reachability", func(ctx context.Context) error { diff --git a/services/collaboration/pkg/server/debug/server.go b/services/collaboration/pkg/server/debug/server.go index 4612b7c95..ca1b0cc48 100644 --- a/services/collaboration/pkg/server/debug/server.go +++ b/services/collaboration/pkg/server/debug/server.go @@ -3,6 +3,8 @@ package debug import ( "net/http" + "github.com/owncloud/ocis/v2/ocis-pkg/checks" + "github.com/owncloud/ocis/v2/ocis-pkg/handlers" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" ) @@ -11,6 +13,13 @@ import ( func Server(opts ...Option) (*http.Server, error) { options := newOptions(opts...) + checkHandler := handlers.NewCheckHandler( + handlers.NewCheckHandlerConfiguration(). + WithLogger(options.Logger). + WithCheck("web reachability", checks.NewHTTPCheck(options.Config.HTTP.Addr)). + WithCheck("grpc reachability", checks.NewGRPCCheck(options.Config.GRPC.Addr)), + ) + return debug.NewService( debug.Logger(options.Logger), debug.Name(options.Config.Service.Name+"."+options.Config.App.Name), @@ -19,6 +28,8 @@ func Server(opts ...Option) (*http.Server, error) { debug.Token(options.Config.Debug.Token), debug.Pprof(options.Config.Debug.Pprof), debug.Zpages(options.Config.Debug.Zpages), + debug.Health(checkHandler), + debug.Ready(checkHandler), //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), diff --git a/services/frontend/pkg/server/debug/server.go b/services/frontend/pkg/server/debug/server.go index 3ce3b8d3c..a05655afb 100644 --- a/services/frontend/pkg/server/debug/server.go +++ b/services/frontend/pkg/server/debug/server.go @@ -3,6 +3,8 @@ package debug import ( "net/http" + "github.com/owncloud/ocis/v2/ocis-pkg/checks" + "github.com/owncloud/ocis/v2/ocis-pkg/handlers" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" ) @@ -11,6 +13,13 @@ import ( func Server(opts ...Option) (*http.Server, error) { options := newOptions(opts...) + healthHandlerConfiguration := handlers.NewCheckHandlerConfiguration(). + WithLogger(options.Logger). + WithCheck("web reachability", checks.NewHTTPCheck(options.Config.HTTP.Addr)) + + readyHandlerConfiguration := healthHandlerConfiguration. + WithCheck("nats reachability", checks.NewNatsCheck(options.Config.Events.Cluster)) + return debug.NewService( debug.Logger(options.Logger), debug.Name(options.Config.Service.Name), @@ -19,6 +28,8 @@ func Server(opts ...Option) (*http.Server, error) { debug.Token(options.Config.Debug.Token), debug.Pprof(options.Config.Debug.Pprof), debug.Zpages(options.Config.Debug.Zpages), + debug.Health(handlers.NewCheckHandler(healthHandlerConfiguration)), + debug.Ready(handlers.NewCheckHandler(readyHandlerConfiguration)), //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), diff --git a/services/gateway/pkg/server/debug/server.go b/services/gateway/pkg/server/debug/server.go index 3ce3b8d3c..cc851382d 100644 --- a/services/gateway/pkg/server/debug/server.go +++ b/services/gateway/pkg/server/debug/server.go @@ -1,8 +1,11 @@ package debug import ( + "context" "net/http" + "github.com/owncloud/ocis/v2/ocis-pkg/checks" + "github.com/owncloud/ocis/v2/ocis-pkg/handlers" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" ) @@ -11,6 +14,15 @@ import ( func Server(opts ...Option) (*http.Server, error) { options := newOptions(opts...) + readyHandlerConfiguration := handlers.NewCheckHandlerConfiguration(). + WithLogger(options.Logger). + WithCheck("nats reachability", func(ctx context.Context) error { + if len(options.Config.Cache.ProviderCacheNodes) > 0 { + return checks.NewNatsCheck(options.Config.Cache.ProviderCacheNodes[0])(ctx) + } + return nil + }) + return debug.NewService( debug.Logger(options.Logger), debug.Name(options.Config.Service.Name), @@ -19,6 +31,7 @@ func Server(opts ...Option) (*http.Server, error) { debug.Token(options.Config.Debug.Token), debug.Pprof(options.Config.Debug.Pprof), debug.Zpages(options.Config.Debug.Zpages), + debug.Ready(handlers.NewCheckHandler(readyHandlerConfiguration)), //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), diff --git a/services/graph/pkg/server/debug/server.go b/services/graph/pkg/server/debug/server.go index 5db859a86..747367e3f 100644 --- a/services/graph/pkg/server/debug/server.go +++ b/services/graph/pkg/server/debug/server.go @@ -13,11 +13,13 @@ import ( func Server(opts ...Option) (*http.Server, error) { options := newOptions(opts...) - checkHandler := handlers.NewCheckHandler( - handlers.NewCheckHandlerConfiguration(). - WithLogger(options.Logger). - WithCheck("web reachability", checks.NewHTTPCheck(options.Config.HTTP.Addr)), - ) + healthHandlerConfiguration := handlers.NewCheckHandlerConfiguration(). + WithLogger(options.Logger). + WithCheck("web reachability", checks.NewHTTPCheck(options.Config.HTTP.Addr)) + + readyHandlerConfiguration := healthHandlerConfiguration. + WithCheck("nats reachability", checks.NewNatsCheck(options.Config.Events.Cluster)). + WithCheck("ldap reachability", checks.NewTCPCheck(options.Config.Identity.LDAP.URI)) return debug.NewService( debug.Logger(options.Logger), @@ -27,7 +29,7 @@ func Server(opts ...Option) (*http.Server, error) { debug.Token(options.Config.Debug.Token), debug.Pprof(options.Config.Debug.Pprof), debug.Zpages(options.Config.Debug.Zpages), - debug.Health(checkHandler), - debug.Ready(checkHandler), + debug.Health(handlers.NewCheckHandler(healthHandlerConfiguration)), + debug.Ready(handlers.NewCheckHandler(readyHandlerConfiguration)), ), nil } diff --git a/services/idp/pkg/server/debug/server.go b/services/idp/pkg/server/debug/server.go index 05349b1c3..5358b266e 100644 --- a/services/idp/pkg/server/debug/server.go +++ b/services/idp/pkg/server/debug/server.go @@ -18,7 +18,7 @@ func Server(opts ...Option) (*http.Server, error) { WithCheck("http reachability", checks.NewHTTPCheck(options.Config.HTTP.Addr)) readyHandlerConfiguration := healthHandlerConfiguration. - WithCheck("ldap-check", checks.NewTCPCheck(options.Config.Ldap.URI)) + WithCheck("ldap reachability", checks.NewTCPCheck(options.Config.Ldap.URI)) return debug.NewService( debug.Logger(options.Logger), diff --git a/services/ocm/pkg/server/debug/server.go b/services/ocm/pkg/server/debug/server.go index 3ce3b8d3c..87fe2864b 100644 --- a/services/ocm/pkg/server/debug/server.go +++ b/services/ocm/pkg/server/debug/server.go @@ -3,6 +3,8 @@ package debug import ( "net/http" + "github.com/owncloud/ocis/v2/ocis-pkg/checks" + "github.com/owncloud/ocis/v2/ocis-pkg/handlers" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" ) @@ -11,6 +13,14 @@ import ( func Server(opts ...Option) (*http.Server, error) { options := newOptions(opts...) + healthHandlerConfiguration := handlers.NewCheckHandlerConfiguration(). + WithLogger(options.Logger). + WithCheck("web reachability", checks.NewHTTPCheck(options.Config.HTTP.Addr)) + + readyHandlerConfiguration := healthHandlerConfiguration. + WithCheck("nats reachability", checks.NewNatsCheck(options.Config.Events.Endpoint)). + WithCheck("grpc reachability", checks.NewGRPCCheck(options.Config.GRPC.Addr)) + return debug.NewService( debug.Logger(options.Logger), debug.Name(options.Config.Service.Name), @@ -19,6 +29,8 @@ func Server(opts ...Option) (*http.Server, error) { debug.Token(options.Config.Debug.Token), debug.Pprof(options.Config.Debug.Pprof), debug.Zpages(options.Config.Debug.Zpages), + debug.Health(handlers.NewCheckHandler(healthHandlerConfiguration)), + debug.Ready(handlers.NewCheckHandler(readyHandlerConfiguration)), //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), diff --git a/services/ocs/pkg/server/debug/server.go b/services/ocs/pkg/server/debug/server.go index 4a831899d..52249a468 100644 --- a/services/ocs/pkg/server/debug/server.go +++ b/services/ocs/pkg/server/debug/server.go @@ -1,6 +1,7 @@ package debug import ( + "context" "net/http" "github.com/owncloud/ocis/v2/ocis-pkg/checks" @@ -13,11 +14,17 @@ import ( func Server(opts ...Option) (*http.Server, error) { options := newOptions(opts...) - checkHandler := handlers.NewCheckHandler( - handlers.NewCheckHandlerConfiguration(). - WithLogger(options.Logger). - WithCheck("web reachability", checks.NewHTTPCheck(options.Config.HTTP.Addr)), - ) + healthHandlerConfiguration := handlers.NewCheckHandlerConfiguration(). + WithLogger(options.Logger). + WithCheck("web reachability", checks.NewHTTPCheck(options.Config.HTTP.Addr)) + + readyHandlerConfiguration := healthHandlerConfiguration. + WithCheck("nats reachability", func(ctx context.Context) error { + if len(options.Config.SigningKeys.Nodes) > 0 { + return checks.NewNatsCheck(options.Config.SigningKeys.Nodes[0])(ctx) + } + return nil + }) return debug.NewService( debug.Logger(options.Logger), @@ -27,8 +34,8 @@ func Server(opts ...Option) (*http.Server, error) { debug.Token(options.Config.Debug.Token), debug.Pprof(options.Config.Debug.Pprof), debug.Zpages(options.Config.Debug.Zpages), - debug.Health(checkHandler), - debug.Ready(checkHandler), + debug.Health(handlers.NewCheckHandler(healthHandlerConfiguration)), + debug.Ready(handlers.NewCheckHandler(readyHandlerConfiguration)), debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), diff --git a/services/policies/pkg/server/debug/server.go b/services/policies/pkg/server/debug/server.go index 8099c7bf2..e3259472e 100644 --- a/services/policies/pkg/server/debug/server.go +++ b/services/policies/pkg/server/debug/server.go @@ -3,6 +3,8 @@ package debug import ( "net/http" + "github.com/owncloud/ocis/v2/ocis-pkg/checks" + "github.com/owncloud/ocis/v2/ocis-pkg/handlers" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" ) @@ -11,6 +13,13 @@ import ( func Server(opts ...Option) (*http.Server, error) { options := newOptions(opts...) + healthHandlerConfiguration := handlers.NewCheckHandlerConfiguration(). + WithLogger(options.Logger). + WithCheck("grpc reachability", checks.NewGRPCCheck(options.Config.GRPC.Addr)) + + readyHandlerConfiguration := healthHandlerConfiguration. + WithCheck("nats reachability", checks.NewNatsCheck(options.Config.Events.Cluster)) + return debug.NewService( debug.Logger(options.Logger), debug.Name(options.Config.Service.Name), @@ -19,5 +28,7 @@ func Server(opts ...Option) (*http.Server, error) { debug.Token(options.Config.Debug.Token), debug.Pprof(options.Config.Debug.Pprof), debug.Zpages(options.Config.Debug.Zpages), + debug.Health(handlers.NewCheckHandler(healthHandlerConfiguration)), + debug.Ready(handlers.NewCheckHandler(readyHandlerConfiguration)), ), nil } diff --git a/services/postprocessing/pkg/server/debug/server.go b/services/postprocessing/pkg/server/debug/server.go index 8099c7bf2..67e67eea9 100644 --- a/services/postprocessing/pkg/server/debug/server.go +++ b/services/postprocessing/pkg/server/debug/server.go @@ -3,6 +3,8 @@ package debug import ( "net/http" + "github.com/owncloud/ocis/v2/ocis-pkg/checks" + "github.com/owncloud/ocis/v2/ocis-pkg/handlers" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" ) @@ -11,6 +13,10 @@ import ( func Server(opts ...Option) (*http.Server, error) { options := newOptions(opts...) + readyHandlerConfiguration := handlers.NewCheckHandlerConfiguration(). + WithLogger(options.Logger). + WithCheck("nats reachability", checks.NewNatsCheck(options.Config.Postprocessing.Events.Endpoint)) + return debug.NewService( debug.Logger(options.Logger), debug.Name(options.Config.Service.Name), @@ -19,5 +25,6 @@ func Server(opts ...Option) (*http.Server, error) { debug.Token(options.Config.Debug.Token), debug.Pprof(options.Config.Debug.Pprof), debug.Zpages(options.Config.Debug.Zpages), + debug.Ready(handlers.NewCheckHandler(readyHandlerConfiguration)), ), nil } diff --git a/services/proxy/pkg/server/debug/server.go b/services/proxy/pkg/server/debug/server.go index 9d13cdf8e..802776235 100644 --- a/services/proxy/pkg/server/debug/server.go +++ b/services/proxy/pkg/server/debug/server.go @@ -17,11 +17,12 @@ import ( func Server(opts ...Option) (*http.Server, error) { options := newOptions(opts...) - checkHandler := handlers.NewCheckHandler( - handlers.NewCheckHandlerConfiguration(). - WithLogger(options.Logger). - WithCheck("web reachability", checks.NewHTTPCheck(options.Config.HTTP.Addr)), - ) + healthHandlerConfiguration := handlers.NewCheckHandlerConfiguration(). + WithLogger(options.Logger). + WithCheck("web reachability", checks.NewHTTPCheck(options.Config.HTTP.Addr)) + + readyHandlerConfiguration := healthHandlerConfiguration. + WithCheck("nats reachability", checks.NewNatsCheck(options.Config.Events.Cluster)) var configDumpFunc http.HandlerFunc = configDump(options.Config) return debug.NewService( @@ -32,8 +33,8 @@ func Server(opts ...Option) (*http.Server, error) { debug.Token(options.Config.Debug.Token), debug.Pprof(options.Config.Debug.Pprof), debug.Zpages(options.Config.Debug.Zpages), - debug.Health(checkHandler), - debug.Ready(checkHandler), + debug.Health(handlers.NewCheckHandler(healthHandlerConfiguration)), + debug.Ready(handlers.NewCheckHandler(readyHandlerConfiguration)), debug.ConfigDump(configDumpFunc), ), nil } diff --git a/services/sharing/pkg/server/debug/server.go b/services/sharing/pkg/server/debug/server.go index 3ce3b8d3c..48249f95d 100644 --- a/services/sharing/pkg/server/debug/server.go +++ b/services/sharing/pkg/server/debug/server.go @@ -3,6 +3,8 @@ package debug import ( "net/http" + "github.com/owncloud/ocis/v2/ocis-pkg/checks" + "github.com/owncloud/ocis/v2/ocis-pkg/handlers" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" ) @@ -11,6 +13,11 @@ import ( func Server(opts ...Option) (*http.Server, error) { options := newOptions(opts...) + readyHandlerConfiguration := handlers.NewCheckHandlerConfiguration(). + WithLogger(options.Logger). + WithCheck("nats reachability", checks.NewNatsCheck(options.Config.Events.Addr)). + WithCheck("grpc reachability", checks.NewGRPCCheck(options.Config.GRPC.Addr)) + return debug.NewService( debug.Logger(options.Logger), debug.Name(options.Config.Service.Name), @@ -19,6 +26,7 @@ func Server(opts ...Option) (*http.Server, error) { debug.Token(options.Config.Debug.Token), debug.Pprof(options.Config.Debug.Pprof), debug.Zpages(options.Config.Debug.Zpages), + debug.Ready(handlers.NewCheckHandler(readyHandlerConfiguration)), //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders), diff --git a/services/storage-users/pkg/server/debug/server.go b/services/storage-users/pkg/server/debug/server.go index 1af70eff7..839e36d6b 100644 --- a/services/storage-users/pkg/server/debug/server.go +++ b/services/storage-users/pkg/server/debug/server.go @@ -3,6 +3,8 @@ package debug import ( "net/http" + "github.com/owncloud/ocis/v2/ocis-pkg/checks" + "github.com/owncloud/ocis/v2/ocis-pkg/handlers" "github.com/owncloud/ocis/v2/ocis-pkg/service/debug" "github.com/owncloud/ocis/v2/ocis-pkg/version" ) @@ -11,6 +13,12 @@ import ( func Server(opts ...Option) (*http.Server, error) { options := newOptions(opts...) + readyHandler := handlers.NewCheckHandler(handlers.NewCheckHandlerConfiguration(). + WithLogger(options.Logger). + WithCheck("nats reachability", checks.NewNatsCheck(options.Config.Events.Addr)). + WithCheck("grpc reachability", checks.NewGRPCCheck(options.Config.GRPC.Addr)), + ) + return debug.NewService( debug.Logger(options.Logger), debug.Context(options.Context), @@ -20,6 +28,7 @@ func Server(opts ...Option) (*http.Server, error) { debug.Token(options.Config.Debug.Token), debug.Pprof(options.Config.Debug.Pprof), debug.Zpages(options.Config.Debug.Zpages), + debug.Ready(readyHandler), //debug.CorsAllowedOrigins(options.Config.HTTP.CORS.AllowedOrigins), //debug.CorsAllowedMethods(options.Config.HTTP.CORS.AllowedMethods), //debug.CorsAllowedHeaders(options.Config.HTTP.CORS.AllowedHeaders),