From 8e120a64f6beb9a35ab2b09f6915cb4b278ece20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Mierzwa?= Date: Mon, 20 Mar 2023 11:13:39 +0000 Subject: [PATCH] fix(ui): use correct case for silenceForm flags --- CHANGELOG.md | 7 ++ .../112_flag_defaultAlertmanagers.txt | 116 ++++++++++++++++++ demo/karma.yaml | 2 - internal/config/config.go | 4 +- 4 files changed, 125 insertions(+), 4 deletions(-) create mode 100644 cmd/karma/tests/testscript/112_flag_defaultAlertmanagers.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index d5fa9bd4a..a38583675 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## v0.114 + +### Fixed + +- Fixed silcen form crashes when `silenceForm:defaultAlertmanagers` config option + is not set. + ## v0.113 ### Added diff --git a/cmd/karma/tests/testscript/112_flag_defaultAlertmanagers.txt b/cmd/karma/tests/testscript/112_flag_defaultAlertmanagers.txt new file mode 100644 index 000000000..cf1f7b727 --- /dev/null +++ b/cmd/karma/tests/testscript/112_flag_defaultAlertmanagers.txt @@ -0,0 +1,116 @@ +karma.bin-should-work --log.config --silenceForm.defaultAlertmanagers=aaa --silenceForm.defaultAlertmanagers=bbb --check-config +! stdout . +cmp stderr stderr.txt + +-- stderr.txt -- +level=info msg="Version: dev" +level=info msg="Parsed configuration:" +level=info msg="authentication:" +level=info msg=" header:" +level=info msg=" name: \"\"" +level=info msg=" value_re: \"\"" +level=info msg=" group_name: \"\"" +level=info msg=" group_value_re: \"\"" +level=info msg=" group_value_separator: ' '" +level=info msg=" basicAuth:" +level=info msg=" users: []" +level=info msg="authorization:" +level=info msg=" groups: []" +level=info msg=" acl:" +level=info msg=" silences: \"\"" +level=info msg="alertmanager:" +level=info msg=" interval: 1m0s" +level=info msg=" servers: []" +level=info msg="alertAcknowledgement:" +level=info msg=" enabled: false" +level=info msg=" duration: 15m0s" +level=info msg=" author: karma" +level=info msg=" comment: ACK! This alert was acknowledged using karma on %NOW%" +level=info msg="annotations:" +level=info msg=" default:" +level=info msg=" hidden: false" +level=info msg=" hidden: []" +level=info msg=" visible: []" +level=info msg=" keep: []" +level=info msg=" strip: []" +level=info msg=" order: []" +level=info msg=" actions: []" +level=info msg=" enableInsecureHTML: false" +level=info msg="custom:" +level=info msg=" css: \"\"" +level=info msg=" js: \"\"" +level=info msg="debug: false" +level=info msg="filters:" +level=info msg=" default: []" +level=info msg="grid:" +level=info msg=" sorting:" +level=info msg=" order: startsAt" +level=info msg=" reverse: true" +level=info msg=" label: alertname" +level=info msg=" customValues:" +level=info msg=" labels: {}" +level=info msg=" auto:" +level=info msg=" ignore: []" +level=info msg=" order: []" +level=info msg=" groupLimit: 40" +level=info msg="history:" +level=info msg=" enabled: true" +level=info msg=" workers: 30" +level=info msg=" timeout: 20s" +level=info msg=" rewrite: []" +level=info msg="karma:" +level=info msg=" name: karma" +level=info msg="labels:" +level=info msg=" order: []" +level=info msg=" keep: []" +level=info msg=" keep_re: []" +level=info msg=" strip: []" +level=info msg=" strip_re: []" +level=info msg=" valueOnly: []" +level=info msg=" valueOnly_re: []" +level=info msg=" color:" +level=info msg=" custom: {}" +level=info msg=" static: []" +level=info msg=" unique: []" +level=info msg="listen:" +level=info msg=" address: \"\"" +level=info msg=" timeout:" +level=info msg=" read: 10s" +level=info msg=" write: 20s" +level=info msg=" tls:" +level=info msg=" cert: \"\"" +level=info msg=" key: \"\"" +level=info msg=" port: 8080" +level=info msg=" prefix: /" +level=info msg="log:" +level=info msg=" level: info" +level=info msg=" format: text" +level=info msg=" config: true" +level=info msg=" requests: false" +level=info msg=" timestamp: false" +level=info msg="receivers:" +level=info msg=" keep: []" +level=info msg=" strip: []" +level=info msg="silences:" +level=info msg=" expired: 10m0s" +level=info msg=" comments:" +level=info msg=" linkDetect:" +level=info msg=" rules: []" +level=info msg="silenceForm:" +level=info msg=" strip:" +level=info msg=" labels: []" +level=info msg=" defaultAlertmanagers:" +level=info msg=" - aaa" +level=info msg=" - bbb" +level=info msg="ui:" +level=info msg=" refresh: 30s" +level=info msg=" hideFiltersWhenIdle: true" +level=info msg=" colorTitlebar: false" +level=info msg=" theme: auto" +level=info msg=" animations: true" +level=info msg=" minimalGroupWidth: 420" +level=info msg=" alertsPerGroup: 5" +level=info msg=" collapseGroups: collapsedOnMobile" +level=info msg=" multiGridLabel: \"\"" +level=info msg=" multiGridSortReverse: false" +level=info msg="Configuration is valid" diff --git a/demo/karma.yaml b/demo/karma.yaml index f316412ab..447fba0e5 100644 --- a/demo/karma.yaml +++ b/demo/karma.yaml @@ -120,8 +120,6 @@ silenceForm: - job - severity - region - defaultAlertmanagers: - - single ui: refresh: 10s hideFiltersWhenIdle: true diff --git a/internal/config/config.go b/internal/config/config.go index 4536916b4..1c9835790 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -130,8 +130,8 @@ func SetupFlags(f *pflag.FlagSet) { "List of receivers to not display alerts for") f.Duration("silences.expired", time.Minute*10, "Maximum age of expired silences to show on active alerts") - f.StringSlice("silenceform.strip.labels", []string{}, "List of labels to ignore when auto-filling silence form from alerts") - f.StringSlice("silenceform.defaultAlertmanagers", []string{}, "List of Alertmanager names to use as default when creating a new silence") + f.StringSlice("silenceForm.strip.labels", []string{}, "List of labels to ignore when auto-filling silence form from alerts") + f.StringSlice("silenceForm.defaultAlertmanagers", []string{}, "List of Alertmanager names to use as default when creating a new silence") f.String("listen.address", "", "IP/Hostname to listen on") f.Int("listen.port", 8080, "HTTP port to listen on")