diff --git a/cmd/karma/views.go b/cmd/karma/views.go index 14bad38df..12fa28b61 100644 --- a/cmd/karma/views.go +++ b/cmd/karma/views.go @@ -86,6 +86,7 @@ func index(c *gin.Context) { defaultsB64 := base64.StdEncoding.EncodeToString(defaults) c.HTML(http.StatusOK, "ui/build/index.html", gin.H{ + "KarmaName": config.Config.Karma.Name, "Version": version, "SentryDSN": config.Config.Sentry.Public, "DefaultFilter": filtersB64, diff --git a/demo/karma.yaml b/demo/karma.yaml index d4fc5456c..34a3ddf6d 100644 --- a/demo/karma.yaml +++ b/demo/karma.yaml @@ -32,6 +32,8 @@ grid: critical: 1 warning: 2 info: 3 +karma: + name: karma-demo labels: color: static: diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md index affa87f40..248b69378 100644 --- a/docs/CONFIGURATION.md +++ b/docs/CONFIGURATION.md @@ -321,6 +321,27 @@ grid: info: 3 ``` +### Karma + +`karma` section allows configuring miscellaneous internal options. + +Syntax: + +```YAML +karma: + name: string +``` + +- `name` - name of given karma instance, this is currently used for the browser + tab title. + +Defaults: + +```YAML +karma: + name: karma +``` + ### Labels `labels` section allows configuring how alert labels will be rendered in the diff --git a/docs/example.yaml b/docs/example.yaml index 69b754d7c..bfa11ca85 100644 --- a/docs/example.yaml +++ b/docs/example.yaml @@ -27,6 +27,8 @@ debug: false filters: default: - "@receiver=by-cluster-service" +karma: + name: karma-prod labels: color: static: diff --git a/internal/config/config.go b/internal/config/config.go index 787283c21..9e2a6b1a1 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -37,6 +37,8 @@ func init() { pflag.Bool("alertmanager.proxy", false, "Proxy all client requests to Alertmanager via karma (only used with simplified config)") + pflag.String("karma.name", "karma", "Name for the karma instance") + pflag.Bool( "annotations.default.hidden", false, "Hide all annotations by default unless explicitly listed in the 'visible' list") @@ -162,6 +164,7 @@ func (config *configSchema) Read() { config.Grid.Sorting.Order = v.GetString("grid.sorting.order") config.Grid.Sorting.Reverse = v.GetBool("grid.sorting.reverse") config.Grid.Sorting.Label = v.GetString("grid.sorting.label") + config.Karma.Name = v.GetString("karma.name") config.Labels.Color.Custom = CustomLabelColors{} config.Labels.Color.Static = v.GetStringSlice("labels.color.static") config.Labels.Color.Unique = v.GetStringSlice("labels.color.unique") diff --git a/internal/config/config_test.go b/internal/config/config_test.go index f245713e4..0cb2a78ea 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -30,6 +30,7 @@ func resetEnv() { "CUSTOM_JS", "DEBUG", "FILTERS_DEFAULT", + "KARMA_NAME", "LABELS_COLOR_STATIC", "LABELS_COLOR_UNIQUE", "LABELS_KEEP", @@ -91,6 +92,8 @@ grid: label: alertname customValues: labels: {} +karma: + name: another karma labels: keep: - foo @@ -171,6 +174,7 @@ func TestReadConfig(t *testing.T) { os.Setenv("CUSTOM_JS", "/custom.js") os.Setenv("DEBUG", "true") os.Setenv("FILTERS_DEFAULT", "@state=active foo=bar") + os.Setenv("KARMA_NAME", "another karma") os.Setenv("LABELS_COLOR_STATIC", "a bb ccc") os.Setenv("LABELS_COLOR_UNIQUE", "f gg") os.Setenv("LABELS_KEEP", "foo bar") diff --git a/internal/config/models.go b/internal/config/models.go index 0c92cff92..c3620dfaa 100644 --- a/internal/config/models.go +++ b/internal/config/models.go @@ -66,6 +66,9 @@ type configSchema struct { } `yaml:"customValues" mapstructure:"customValues"` } } + Karma struct { + Name string + } Labels struct { Keep []string Strip []string diff --git a/ui/public/index.html b/ui/public/index.html index 14fa72e38..27e88bfcb 100644 --- a/ui/public/index.html +++ b/ui/public/index.html @@ -19,7 +19,7 @@ href="%PUBLIC_URL%/custom.css" media="screen" /> - karma + {{ .KarmaName }}