diff options
Diffstat (limited to 'workhorse/main.go')
-rw-r--r-- | workhorse/main.go | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/workhorse/main.go b/workhorse/main.go index 55c29b8abf5..91008e16961 100644 --- a/workhorse/main.go +++ b/workhorse/main.go @@ -4,7 +4,6 @@ import ( "context" "flag" "fmt" - "io/ioutil" "net" "net/http" _ "net/http/pprof" @@ -137,7 +136,7 @@ func buildConfig(arg0 string, args []string) (*bootConfig, *config.Config, error tomlData := "" if *configFile != "" { - buf, err := ioutil.ReadFile(*configFile) + buf, err := os.ReadFile(*configFile) if err != nil { return nil, nil, fmt.Errorf("configFile: %v", err) } @@ -149,6 +148,14 @@ func buildConfig(arg0 string, args []string) (*bootConfig, *config.Config, error return nil, nil, fmt.Errorf("configFile: %v", err) } + cfg.MetricsListener = cfgFromFile.MetricsListener + if boot.prometheusListenAddr != "" { + if cfg.MetricsListener != nil { + return nil, nil, fmt.Errorf("configFile: both prometheusListenAddr and metrics_listener can't be specified") + } + cfg.MetricsListener = &config.ListenerConfig{Network: "tcp", Addr: boot.prometheusListenAddr} + } + cfg.Redis = cfgFromFile.Redis cfg.ObjectStorageCredentials = cfgFromFile.ObjectStorageCredentials cfg.ImageResizerConfig = cfgFromFile.ImageResizerConfig @@ -196,11 +203,10 @@ func run(boot bootConfig, cfg config.Config) error { } monitoringOpts := []monitoring.Option{monitoring.WithBuildInformation(Version, BuildTime)} - - if boot.prometheusListenAddr != "" { - l, err := net.Listen("tcp", boot.prometheusListenAddr) + if cfg.MetricsListener != nil { + l, err := newListener("metrics", *cfg.MetricsListener) if err != nil { - return fmt.Errorf("prometheusListenAddr: %v", err) + return err } monitoringOpts = append(monitoringOpts, monitoring.WithListener(l)) } |