diff --git a/cmd/adapter/main.go b/cmd/adapter/main.go index dbbaf4a..d9ef690 100644 --- a/cmd/adapter/main.go +++ b/cmd/adapter/main.go @@ -114,7 +114,6 @@ func initPlugins(ctx context.Context, mgr *plugin.Manager, telemetryCfg *otelset // newServer creates and initializes the HTTP server. func newServer(ctx context.Context, mgr handler.PluginManager, cfg *Config, otelProvider *telemetry.Provider) (http.Handler, error) { mux := http.NewServeMux() - mux.HandleFunc("/health", handler.HealthHandler) if otelProvider != nil && otelProvider.MetricsHandler != nil { mux.Handle("/metrics", otelProvider.MetricsHandler) diff --git a/core/module/module.go b/core/module/module.go index 6165e2e..f41be23 100644 --- a/core/module/module.go +++ b/core/module/module.go @@ -29,6 +29,9 @@ var handlerProviders = map[handler.Type]Provider{ // It iterates over the module configurations, retrieves appropriate handler providers, // and registers the handlers with the HTTP multiplexer. func Register(ctx context.Context, mCfgs []Config, mux *http.ServeMux, mgr handler.PluginManager) error { + + mux.Handle("/health", http.HandlerFunc(handler.HealthHandler)) + log.Debugf(ctx, "Registering modules with config: %#v", mCfgs) // Iterate over the handlers in the configuration. for _, c := range mCfgs { diff --git a/core/module/module_test.go b/core/module/module_test.go index f3fe48d..34f0a76 100644 --- a/core/module/module_test.go +++ b/core/module/module_test.go @@ -123,6 +123,16 @@ func TestRegisterSuccess(t *testing.T) { if capturedModuleName != "test-module" { t.Errorf("expected module_id in context to be 'test-module', got %v", capturedModuleName) } + + // Verifying /health endpoint registration + reqHealth := httptest.NewRequest(http.MethodGet, "/health", nil) + recHealth := httptest.NewRecorder() + mux.ServeHTTP(recHealth, reqHealth) + + if status := recHealth.Code; status != http.StatusOK { + t.Errorf("handler for /health returned wrong status code: got %v want %v", + status, http.StatusOK) + } } // TestRegisterFailure tests scenarios where the handler registration should fail.