---
global:
  resolve_timeout: 5m
route:
  group_by: ["alertname", "job"]
  group_interval: 10m
  group_wait: 1m
  receiver: pushover
  repeat_interval: 12h
  routes:
    - receiver: heartbeat
      group_interval: 5m
      group_wait: 0s
      matchers:
        - alertname =~ "Watchdog"
      repeat_interval: 5m
    - receiver: "null"
      matchers:
        - alertname =~ "InfoInhibitor"
    - receiver: pushover
      continue: true
      matchers:
        - severity = "critical"
inhibit_rules:
  - equal: ["alertname", "namespace"]
    source_matchers:
      - severity = "critical"
    target_matchers:
      - severity = "warning"
receivers:
  - name: heartbeat
    webhook_configs:
      - send_resolved: true
        url: "{{ .alertmanager_heartbeat_url }}"
  - name: "null"
  - name: pushover
    pushover_configs:
      - html: true
        # Compooters are hard
        message: |-
          {{ "{{-" }} range .Alerts {{ "}}" }}
            {{ "{{-" }} if ne .Annotations.description "" {{ "}}" }}
              {{ "{{" }} .Annotations.description {{ "}}" }}
            {{ "{{-" }} else if ne .Annotations.summary "" {{ "}}" }}
              {{ "{{" }} .Annotations.summary {{ "}}" }}
            {{ "{{-" }} else if ne .Annotations.message "" {{ "}}" }}
              {{ "{{" }} .Annotations.message {{ "}}" }}
            {{ "{{-" }} else {{ "}}" }}
              Alert description not available
            {{ "{{-" }} end {{ "}}" }}
            {{ "{{-" }} if gt (len .Labels.SortedPairs) 0 {{ "}}" }}
              <small>
              {{ "{{-" }} range .Labels.SortedPairs {{ "}}" }}
                <b>{{ "{{" }} .Name {{ "}}" }}:</b> {{ "{{" }} .Value {{ "}}" }}
              {{ "{{-" }} end {{ "}}" }}
              </small>
            {{ "{{-" }} end {{ "}}" }}
          {{ "{{-" }} end {{ "}}" }}
        priority: |-
          {{ "{{" }} if eq .Status "firing" {{ "}}" }}1{{ "{{" }} else {{ "}}" }}0{{ "{{" }} end {{ "}}" }}
        send_resolved: true
        sound: gamelan
        title: >-
          {{ "{{" }} .CommonLabels.alertname {{ "}}" }}
          [{{ "{{" }} .Status | toUpper {{ "}}" }}{{ "{{" }} if eq .Status "firing" {{ "}}" }}:{{ "{{" }} .Alerts.Firing | len {{ "}}" }}{{ "{{" }} end {{ "}}" }}]
        token: "{{ .alertmanager_token }}"
        url_title: View in Alertmanager
        user_key: "{{ .userkey_jahanson }}"