From 3e7d8b391a93ba9dfc6f93c992ea247041572f3d Mon Sep 17 00:00:00 2001
From: Frederic Branczyk <fbranczyk@gmail.com>
Date: Wed, 29 Jan 2020 18:31:48 +0100
Subject: [PATCH] *: Add default receivers

This patch adds a few out of the box receivers that only need their
notification provider configuration filled in, instead of figuring out
all the wiring for critical alerts for example.
---
 .../alertmanager/alertmanager.libsonnet        | 18 +++++++++++++++---
 manifests/alertmanager-secret.yaml             | 11 ++++++++---
 2 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/jsonnet/kube-prometheus/alertmanager/alertmanager.libsonnet b/jsonnet/kube-prometheus/alertmanager/alertmanager.libsonnet
index 715d0c8c..bdbe57a2 100644
--- a/jsonnet/kube-prometheus/alertmanager/alertmanager.libsonnet
+++ b/jsonnet/kube-prometheus/alertmanager/alertmanager.libsonnet
@@ -40,19 +40,31 @@ local k = import 'ksonnet/ksonnet.beta.4/k.libsonnet';
           group_wait: '30s',
           group_interval: '5m',
           repeat_interval: '12h',
-          receiver: 'null',
+          receiver: 'Default',
           routes: [
             {
-              receiver: 'null',
+              receiver: 'Watchdog',
               match: {
                 alertname: 'Watchdog',
               },
             },
+            {
+              receiver: 'Critical',
+              match: {
+                severity: 'critical',
+              },
+            },
           ],
         },
         receivers: [
           {
-            name: 'null',
+            name: 'Default',
+          },
+          {
+            name: 'Watchdog',
+          },
+          {
+            name: 'Critical',
           },
         ],
       },
diff --git a/manifests/alertmanager-secret.yaml b/manifests/alertmanager-secret.yaml
index 8ab686b9..ecd30d30 100644
--- a/manifests/alertmanager-secret.yaml
+++ b/manifests/alertmanager-secret.yaml
@@ -22,16 +22,21 @@ stringData:
       "target_match_re":
         "severity": "info"
     "receivers":
-    - "name": "null"
+    - "name": "Default"
+    - "name": "Watchdog"
+    - "name": "Critical"
     "route":
       "group_by":
       - "namespace"
       "group_interval": "5m"
       "group_wait": "30s"
-      "receiver": "null"
+      "receiver": "Default"
       "repeat_interval": "12h"
       "routes":
       - "match":
           "alertname": "Watchdog"
-        "receiver": "null"
+        "receiver": "Watchdog"
+      - "match":
+          "severity": "critical"
+        "receiver": "Critical"
 type: Opaque
-- 
GitLab