diff --git a/cmd/plugin-backend.go b/cmd/plugin-backend.go index 7d97c375..aa2e8c61 100644 --- a/cmd/plugin-backend.go +++ b/cmd/plugin-backend.go @@ -13,16 +13,16 @@ import ( ) var ( - portArg = flag.Int("port", 0, "server port to listen on (default: 9443)\nports 9444 and 9445 reserved for other use") + portArg = flag.Int("port", 9443, "server port to listen on\nports 9444 and 9445 reserved for other use") certArg = flag.String("cert", "", "cert file path to enable TLS (disabled by default)") keyArg = flag.String("key", "", "private key file path to enable TLS (disabled by default)") featuresArg = flag.String("features", "", "enabled features, comma separated.\noptions: ['acm-alerting', 'incidents', 'dev-config', 'perses-dashboards']") - staticPathArg = flag.String("static-path", "", "static files path to serve frontend (default: './web/dist')") - configPathArg = flag.String("config-path", "", "config files path (default: './config')") - pluginConfigArg = flag.String("plugin-config-path", "", "plugin yaml configuration") - 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')") - alertmanagerUrlArg = flag.String("alertmanager", "", "alertmanager url to proxy to for acm mode") - thanosQuerierUrlArg = flag.String("thanos-querier", "", "thanos querier url to proxy to for acm mode") + staticPathArg = flag.String("static-path", "/opt/app-root/web/dist", "static files path to serve frontend") + configPathArg = flag.String("config-path", "/opt/app-root/config", "config files path") + pluginConfigArg = flag.String("plugin-config-path", "/etc/plugin/config.yaml", "plugin yaml configuration") + 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") + alertmanagerUrlArg = flag.String("alertmanager", "", "Alertmanager URL to proxy to for ACM mode") + thanosQuerierUrlArg = flag.String("thanos-querier", "", "Thanos Querier URL to proxy to for ACM mode") tlsMinVersionArg = flag.String("tls-min-version", "VersionTLS12", "minimum TLS version\noptions: ['VersionTLS10', 'VersionTLS11', 'VersionTLS12', 'VersionTLS13']") tlsMaxVersionArg = flag.String("tls-max-version", "", "maximum TLS version\noptions: ['VersionTLS10', 'VersionTLS11', 'VersionTLS12', 'VersionTLS13']\n(default is the highest supported by Go)") 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 ( func main() { flag.Parse() - port := mergeEnvValueInt("PORT", *portArg, 9443) - cert := mergeEnvValue("CERT_FILE_PATH", *certArg, "") - key := mergeEnvValue("PRIVATE_KEY_FILE_PATH", *keyArg, "") - features := mergeEnvValue("MONITORING_PLUGIN_FEATURES", *featuresArg, "") - staticPath := mergeEnvValue("MONITORING_PLUGIN_STATIC_PATH", *staticPathArg, "/opt/app-root/web/dist") - configPath := mergeEnvValue("MONITORING_PLUGIN_MANIFEST_CONFIG_PATH", *configPathArg, "/opt/app-root/config") - pluginConfigPath := mergeEnvValue("MONITORING_PLUGIN_CONFIG_PATH", *pluginConfigArg, "/etc/plugin/config.yaml") - logLevel := mergeEnvValue("MONITORING_PLUGIN_LOG_LEVEL", *logLevelArg, logrus.InfoLevel.String()) - alertmanagerUrl := mergeEnvValue("MONITORING_PLUGIN_ALERTMANAGER", *alertmanagerUrlArg, "") - thanosQuerierUrl := mergeEnvValue("MONITORING_PLUGIN_THANOS_QUERIER", *thanosQuerierUrlArg, "") - tlsMinVersion := mergeEnvValue("TLS_MIN_VERSION", *tlsMinVersionArg, "") - tlsMaxVersion := mergeEnvValue("TLS_MAX_VERSION", *tlsMaxVersionArg, "") - tlsCipherSuites := mergeEnvValue("TLS_CIPHER_SUITES", *tlsCipherSuitesArg, "") + port := mergeEnvValueInt("PORT", *portArg) + cert := mergeEnvValue("CERT_FILE_PATH", *certArg) + key := mergeEnvValue("PRIVATE_KEY_FILE_PATH", *keyArg) + features := mergeEnvValue("MONITORING_PLUGIN_FEATURES", *featuresArg) + staticPath := mergeEnvValue("MONITORING_PLUGIN_STATIC_PATH", *staticPathArg) + configPath := mergeEnvValue("MONITORING_PLUGIN_MANIFEST_CONFIG_PATH", *configPathArg) + pluginConfigPath := mergeEnvValue("MONITORING_PLUGIN_CONFIG_PATH", *pluginConfigArg) + logLevel := mergeEnvValue("MONITORING_PLUGIN_LOG_LEVEL", *logLevelArg) + alertmanagerUrl := mergeEnvValue("MONITORING_PLUGIN_ALERTMANAGER", *alertmanagerUrlArg) + thanosQuerierUrl := mergeEnvValue("MONITORING_PLUGIN_THANOS_QUERIER", *thanosQuerierUrlArg) + tlsMinVersion := mergeEnvValue("TLS_MIN_VERSION", *tlsMinVersionArg) + tlsMaxVersion := mergeEnvValue("TLS_MAX_VERSION", *tlsMaxVersionArg) + tlsCipherSuites := mergeEnvValue("TLS_CIPHER_SUITES", *tlsCipherSuitesArg) featuresList := strings.Fields(strings.Join(strings.Split(strings.ToLower(features), ","), " ")) @@ -98,33 +98,27 @@ func main() { } } -func mergeEnvValue(key string, arg string, defaultValue string) string { +func mergeEnvValue(key string, arg string) string { if arg != "" { return arg } - envValue := os.Getenv(key) - - if envValue != "" { - return envValue - } - - return defaultValue + return os.Getenv(key) } -func mergeEnvValueInt(key string, arg int, defaultValue int) int { +func mergeEnvValueInt(key string, arg int) int { if arg != 0 { return arg } envValue := os.Getenv(key) - num, err := strconv.Atoi(envValue) - if err != nil && num != 0 { - return num + i, err := strconv.Atoi(envValue) + if err != nil { + return 0 } - return defaultValue + return i } func getCipherSuitesMap() map[string]uint16 {