diff --git a/cmd/windows_exporter/main.go b/cmd/windows_exporter/main.go index 82c59bb74..a652160f2 100644 --- a/cmd/windows_exporter/main.go +++ b/cmd/windows_exporter/main.go @@ -163,11 +163,6 @@ func run() int { return 1 } - // NOTE: This is temporary fix for issue #1092, calling kingpin.Parse - // twice makes slices flags duplicate its value, this clean up - // the first parse before the second call. - *webConfig.WebListenAddresses = (*webConfig.WebListenAddresses)[1:] - // Parse flags once more to include those discovered in configuration file(s). if _, err = app.Parse(os.Args[1:]); err != nil { logger.ErrorContext(ctx, "failed to parse CLI args from YAML file", @@ -177,6 +172,12 @@ func run() int { return 1 } + // NOTE: This is temporary fix for issue #1092, calling kingpin.Parse + // twice makes slices flags duplicate its value, this clean up + // the first parse before the second call. + slices.Sort(*webConfig.WebListenAddresses) + *webConfig.WebListenAddresses = slices.Clip(slices.Compact(*webConfig.WebListenAddresses)) + logger, err = log.New(logConfig) if err != nil { //nolint:sloglint // we do not have an logger yet