From: Dan Fuhry Date: Sat, 22 Mar 2025 01:10:32 +0000 (-0400) Subject: metrics/metricbus: add healthcheck endpoint X-Git-Url: https://go.fuhry.dev/?a=commitdiff_plain;h=12db7b9520e00ed7d28e3f6f6ef193ec44f40a77;p=runtime.git metrics/metricbus: add healthcheck endpoint --- diff --git a/metrics/metricbus/internal/server.go b/metrics/metricbus/internal/server.go index ba3f78c..eee8254 100644 --- a/metrics/metricbus/internal/server.go +++ b/metrics/metricbus/internal/server.go @@ -15,6 +15,7 @@ import ( "github.com/godbus/dbus/v5" "github.com/godbus/dbus/v5/introspect" + "go.fuhry.dev/runtime/constants" "go.fuhry.dev/runtime/metrics/metricbus" "go.fuhry.dev/runtime/mtls" "go.fuhry.dev/runtime/utils/hashset" @@ -115,7 +116,7 @@ func makeTlsListener(tcpAddr *net.TCPAddr, ctx context.Context) (net.Listener, e return nil, err } cv.AllowFrom(mtls.Service, "prometheus") - cv.AllowFrom(mtls.User, "dan") + cv.AllowFrom(mtls.Service, "healthcheck") return tls.NewListener(netListener, tlsc), nil } @@ -134,6 +135,7 @@ func NewMetricBusServerWithPort(port uint) (*mbServer, error) { } handler := http.NewServeMux() + handler.HandleFunc("/healthz", servicer.healthCheck) handler.HandleFunc("/metrics", servicer.metricsToString) server := &mbServer{ log: logger, @@ -301,6 +303,11 @@ func (s *mbServicer) metricsToString(w http.ResponseWriter, r *http.Request) { } } +func (s *mbServicer) healthCheck(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte(fmt.Sprintf("

%s Metric Collector

", constants.OrgName))) +} + func (s *mbServicer) Ping() *dbus.Error { return nil }