diff options
author | Jaime Martinez <jmartinez@gitlab.com> | 2021-10-13 08:46:56 +0300 |
---|---|---|
committer | Jaime Martinez <jmartinez@gitlab.com> | 2021-10-13 08:46:56 +0300 |
commit | b9e48b62307e7b6ea18949a805bb986deac79032 (patch) | |
tree | 56e2b60a92c561aca307aae64f99c3efa08df7ac /main.go | |
parent | 247bd7ba2fd9139711218c6a42ed03c551f958d9 (diff) |
feat: add status-address listener609-listen-status-ready
Changelog: added
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -80,6 +80,7 @@ func appMain() { for _, cs := range [][]io.Closer{ createAppListeners(config), createMetricsListener(config), + createStatusListener(config), } { defer closeAll(cs) } @@ -176,6 +177,25 @@ func createMetricsListener(config *cfg.Config) []io.Closer { return []io.Closer{l, f} } +// createStatusListener returns net.Listener and *os.File instances. The +// caller must ensure they don't get closed or garbage-collected (which +// implies closing) too soon. +func createStatusListener(config *cfg.Config) []io.Closer { + addr := config.General.StatusAddress + if addr == "" { + return nil + } + + l, f := createSocket(addr) + config.ListenStatus = f.Fd() + + log.WithFields(log.Fields{ + "listener": addr, + }).Debug("Set up status listener") + + return []io.Closer{l, f} +} + func printVersion(showVersion bool, version string) { if showVersion { fmt.Fprintf(os.Stdout, "%s\n", version) |