diff --git a/registry/registry.go b/registry/registry.go index 15eb94109..0890287ec 100644 --- a/registry/registry.go +++ b/registry/registry.go @@ -100,29 +100,12 @@ var ServeCmd = &cobra.Command{ cmd.Usage() os.Exit(1) } - - if config.HTTP.Debug.Addr != "" { - go func(addr string) { - logrus.Infof("debug server listening %v", addr) - if err := http.ListenAndServe(addr, nil); err != nil { - logrus.Fatalf("error listening on debug interface: %v", err) - } - }(config.HTTP.Debug.Addr) - } - registry, err := NewRegistry(ctx, config) if err != nil { logrus.Fatalln(err) } - if config.HTTP.Debug.Prometheus.Enabled { - path := config.HTTP.Debug.Prometheus.Path - if path == "" { - path = "/metrics" - } - logrus.Info("providing prometheus metrics on ", path) - http.Handle(path, metrics.Handler()) - } + configureDebugServer(config) if err = registry.ListenAndServe(); err != nil { logrus.Fatalln(err) @@ -318,6 +301,29 @@ func (registry *Registry) ListenAndServe() error { } } +func configureDebugServer(config *configuration.Configuration) { + if config.HTTP.Debug.Addr != "" { + go func(addr string) { + logrus.Infof("debug server listening %v", addr) + if err := http.ListenAndServe(addr, nil); err != nil { + logrus.Fatalf("error listening on debug interface: %v", err) + } + }(config.HTTP.Debug.Addr) + configurePrometheus(config) + } +} + +func configurePrometheus(config *configuration.Configuration) { + if config.HTTP.Debug.Prometheus.Enabled { + path := config.HTTP.Debug.Prometheus.Path + if path == "" { + path = "/metrics" + } + logrus.Info("providing prometheus metrics on ", path) + http.Handle(path, metrics.Handler()) + } +} + func configureReporting(app *handlers.App) http.Handler { var handler http.Handler = app