Skip to content

Commit ad11b18

Browse files
Merge pull request #665 from simonpasquier/refactor-args
NO-ISSUE: expose argument's default values
2 parents 2373894 + 54e5313 commit ad11b18

1 file changed

Lines changed: 27 additions & 33 deletions

File tree

cmd/plugin-backend.go

Lines changed: 27 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ import (
1313
)
1414

1515
var (
16-
portArg = flag.Int("port", 0, "server port to listen on (default: 9443)\nports 9444 and 9445 reserved for other use")
16+
portArg = flag.Int("port", 9443, "server port to listen on\nports 9444 and 9445 reserved for other use")
1717
certArg = flag.String("cert", "", "cert file path to enable TLS (disabled by default)")
1818
keyArg = flag.String("key", "", "private key file path to enable TLS (disabled by default)")
1919
featuresArg = flag.String("features", "", "enabled features, comma separated.\noptions: ['acm-alerting', 'incidents', 'dev-config', 'perses-dashboards']")
20-
staticPathArg = flag.String("static-path", "", "static files path to serve frontend (default: './web/dist')")
21-
configPathArg = flag.String("config-path", "", "config files path (default: './config')")
22-
pluginConfigArg = flag.String("plugin-config-path", "", "plugin yaml configuration")
23-
logLevelArg = flag.String("log-level", logrus.InfoLevel.String(), "verbosity of logs\noptions: ['panic', 'fatal', 'error', 'warn', 'info', 'debug', 'trace']\n'trace' level will log all incoming requests\n(default 'error')")
24-
alertmanagerUrlArg = flag.String("alertmanager", "", "alertmanager url to proxy to for acm mode")
25-
thanosQuerierUrlArg = flag.String("thanos-querier", "", "thanos querier url to proxy to for acm mode")
20+
staticPathArg = flag.String("static-path", "/opt/app-root/web/dist", "static files path to serve frontend")
21+
configPathArg = flag.String("config-path", "/opt/app-root/config", "config files path")
22+
pluginConfigArg = flag.String("plugin-config-path", "/etc/plugin/config.yaml", "plugin yaml configuration")
23+
logLevelArg = flag.String("log-level", logrus.InfoLevel.String(), "verbosity of logs\noptions: ['panic', 'fatal', 'error', 'warn', 'info', 'debug', 'trace']\n'trace' level will log all incoming requests")
24+
alertmanagerUrlArg = flag.String("alertmanager", "", "Alertmanager URL to proxy to for ACM mode")
25+
thanosQuerierUrlArg = flag.String("thanos-querier", "", "Thanos Querier URL to proxy to for ACM mode")
2626
tlsMinVersionArg = flag.String("tls-min-version", "VersionTLS12", "minimum TLS version\noptions: ['VersionTLS10', 'VersionTLS11', 'VersionTLS12', 'VersionTLS13']")
2727
tlsMaxVersionArg = flag.String("tls-max-version", "", "maximum TLS version\noptions: ['VersionTLS10', 'VersionTLS11', 'VersionTLS12', 'VersionTLS13']\n(default is the highest supported by Go)")
2828
tlsCipherSuitesArg = flag.String("tls-cipher-suites", "", "comma-separated list of cipher suites for the server\nvalues are from tls package constants (https://golang.org/pkg/crypto/tls/#pkg-constants)")
@@ -32,19 +32,19 @@ var (
3232
func main() {
3333
flag.Parse()
3434

35-
port := mergeEnvValueInt("PORT", *portArg, 9443)
36-
cert := mergeEnvValue("CERT_FILE_PATH", *certArg, "")
37-
key := mergeEnvValue("PRIVATE_KEY_FILE_PATH", *keyArg, "")
38-
features := mergeEnvValue("MONITORING_PLUGIN_FEATURES", *featuresArg, "")
39-
staticPath := mergeEnvValue("MONITORING_PLUGIN_STATIC_PATH", *staticPathArg, "/opt/app-root/web/dist")
40-
configPath := mergeEnvValue("MONITORING_PLUGIN_MANIFEST_CONFIG_PATH", *configPathArg, "/opt/app-root/config")
41-
pluginConfigPath := mergeEnvValue("MONITORING_PLUGIN_CONFIG_PATH", *pluginConfigArg, "/etc/plugin/config.yaml")
42-
logLevel := mergeEnvValue("MONITORING_PLUGIN_LOG_LEVEL", *logLevelArg, logrus.InfoLevel.String())
43-
alertmanagerUrl := mergeEnvValue("MONITORING_PLUGIN_ALERTMANAGER", *alertmanagerUrlArg, "")
44-
thanosQuerierUrl := mergeEnvValue("MONITORING_PLUGIN_THANOS_QUERIER", *thanosQuerierUrlArg, "")
45-
tlsMinVersion := mergeEnvValue("TLS_MIN_VERSION", *tlsMinVersionArg, "")
46-
tlsMaxVersion := mergeEnvValue("TLS_MAX_VERSION", *tlsMaxVersionArg, "")
47-
tlsCipherSuites := mergeEnvValue("TLS_CIPHER_SUITES", *tlsCipherSuitesArg, "")
35+
port := mergeEnvValueInt("PORT", *portArg)
36+
cert := mergeEnvValue("CERT_FILE_PATH", *certArg)
37+
key := mergeEnvValue("PRIVATE_KEY_FILE_PATH", *keyArg)
38+
features := mergeEnvValue("MONITORING_PLUGIN_FEATURES", *featuresArg)
39+
staticPath := mergeEnvValue("MONITORING_PLUGIN_STATIC_PATH", *staticPathArg)
40+
configPath := mergeEnvValue("MONITORING_PLUGIN_MANIFEST_CONFIG_PATH", *configPathArg)
41+
pluginConfigPath := mergeEnvValue("MONITORING_PLUGIN_CONFIG_PATH", *pluginConfigArg)
42+
logLevel := mergeEnvValue("MONITORING_PLUGIN_LOG_LEVEL", *logLevelArg)
43+
alertmanagerUrl := mergeEnvValue("MONITORING_PLUGIN_ALERTMANAGER", *alertmanagerUrlArg)
44+
thanosQuerierUrl := mergeEnvValue("MONITORING_PLUGIN_THANOS_QUERIER", *thanosQuerierUrlArg)
45+
tlsMinVersion := mergeEnvValue("TLS_MIN_VERSION", *tlsMinVersionArg)
46+
tlsMaxVersion := mergeEnvValue("TLS_MAX_VERSION", *tlsMaxVersionArg)
47+
tlsCipherSuites := mergeEnvValue("TLS_CIPHER_SUITES", *tlsCipherSuitesArg)
4848

4949
featuresList := strings.Fields(strings.Join(strings.Split(strings.ToLower(features), ","), " "))
5050

@@ -98,33 +98,27 @@ func main() {
9898
}
9999
}
100100

101-
func mergeEnvValue(key string, arg string, defaultValue string) string {
101+
func mergeEnvValue(key string, arg string) string {
102102
if arg != "" {
103103
return arg
104104
}
105105

106-
envValue := os.Getenv(key)
107-
108-
if envValue != "" {
109-
return envValue
110-
}
111-
112-
return defaultValue
106+
return os.Getenv(key)
113107
}
114108

115-
func mergeEnvValueInt(key string, arg int, defaultValue int) int {
109+
func mergeEnvValueInt(key string, arg int) int {
116110
if arg != 0 {
117111
return arg
118112
}
119113

120114
envValue := os.Getenv(key)
121115

122-
num, err := strconv.Atoi(envValue)
123-
if err != nil && num != 0 {
124-
return num
116+
i, err := strconv.Atoi(envValue)
117+
if err != nil {
118+
return 0
125119
}
126120

127-
return defaultValue
121+
return i
128122
}
129123

130124
func getCipherSuitesMap() map[string]uint16 {

0 commit comments

Comments
 (0)