Replaces the minimal project description with a comprehensive README including a component overview table, quick start instructions, common Ansible operations, and links to detailed documentation. Aligns with Red Panda Approval™ standards.
148 lines
4.5 KiB
Django/Jinja
148 lines
4.5 KiB
Django/Jinja
global:
|
|
resolve_timeout: 5m
|
|
smtp_smarthost: '{{ smtp_host }}:{{ smtp_port }}'
|
|
smtp_from: '{{ smtp_from }}'
|
|
smtp_require_tls: false
|
|
|
|
route:
|
|
group_by: ['alertname', 'instance', 'severity']
|
|
group_wait: 30s
|
|
group_interval: 5m
|
|
repeat_interval: 4h
|
|
receiver: 'email'
|
|
routes:
|
|
- match:
|
|
severity: critical
|
|
receiver: 'email-critical'
|
|
continue: true
|
|
- match:
|
|
severity: warning
|
|
receiver: 'email-warning'
|
|
continue: true
|
|
- match:
|
|
severity: info
|
|
receiver: 'email-info'
|
|
repeat_interval: 24h
|
|
|
|
inhibit_rules:
|
|
- source_match:
|
|
severity: 'critical'
|
|
target_match:
|
|
severity: 'warning'
|
|
equal: ['alertname', 'instance']
|
|
|
|
receivers:
|
|
- name: 'email-critical'
|
|
email_configs:
|
|
- to: 'hostmaster+critical@ouranos.helu.ca'
|
|
send_resolved: true
|
|
html: true
|
|
headers:
|
|
Subject: '🚨 [CRITICAL] {{ "{{" }} .GroupLabels.alertname {{ "}}" }}'
|
|
text: |-
|
|
{{ "{{" }} range .Alerts {{ "}}" }}
|
|
{{ "{{" }} .Annotations.description {{ "}}" }}
|
|
|
|
Instance: {{ "{{" }} .Labels.instance {{ "}}" }}
|
|
{{ "{{" }} end {{ "}}" }}
|
|
|
|
- name: 'email-warning'
|
|
email_configs:
|
|
- to: 'hostmaster+warning@ouranos.helu.ca'
|
|
send_resolved: true
|
|
html: true
|
|
headers:
|
|
Subject: '⚠️ [WARNING] {{ "{{" }} .GroupLabels.alertname {{ "}}" }}'
|
|
text: |-
|
|
{{ "{{" }} range .Alerts {{ "}}" }}
|
|
{{ "{{" }} .Annotations.description {{ "}}" }}
|
|
|
|
Instance: {{ "{{" }} .Labels.instance {{ "}}" }}
|
|
{{ "{{" }} end {{ "}}" }}
|
|
|
|
- name: 'email-info'
|
|
email_configs:
|
|
- to: 'hostmaster+info@ouranos.helu.ca'
|
|
send_resolved: false
|
|
html: true
|
|
headers:
|
|
Subject: '{{ "{{" }} .GroupLabels.alertname {{ "}}" }}'
|
|
text: '{{ "{{" }} range .Alerts {{ "}}" }}{{ "{{" }} .Annotations.description {{ "}}" }}{{ "{{" }} end {{ "}}" }}'
|
|
|
|
- name: 'email'
|
|
email_configs:
|
|
- to: 'hostmaster+alerts@ouranos.helu.ca'
|
|
send_resolved: true
|
|
html: true
|
|
headers:
|
|
Subject: '[{{ "{{" }} .GroupLabels.severity | default "ALERT" {{ "}}" }}] {{ "{{" }} .GroupLabels.alertname {{ "}}" }}'
|
|
text: |-
|
|
{{ "{{" }} range .Alerts {{ "}}" }}
|
|
{{ "{{" }} .Annotations.description {{ "}}" }}
|
|
|
|
Instance: {{ "{{" }} .Labels.instance {{ "}}" }}
|
|
Severity: {{ "{{" }} .Labels.severity {{ "}}" }}
|
|
{{ "{{" }} end {{ "}}" }}
|
|
|
|
# --- Pushover receivers (disabled for smtp4dev testing) ---
|
|
# To re-enable: uncomment these receivers and update the route receiver names
|
|
# from email-*/email back to pushover-*/pushover
|
|
#
|
|
# - name: 'pushover-critical'
|
|
# pushover_configs:
|
|
# - user_key: '{{ pushover_user_key }}'
|
|
# token: '{{ pushover_api_token }}'
|
|
# send_resolved: true
|
|
# html: true
|
|
# priority: '2'
|
|
# retry: 30
|
|
# expire: 3600
|
|
# title: '🚨 [CRITICAL] {{ "{{" }} .GroupLabels.alertname {{ "}}" }}'
|
|
# message: |-
|
|
# {{ "{{" }} range .Alerts {{ "}}" }}
|
|
# {{ "{{" }} .Annotations.description {{ "}}" }}
|
|
# Instance: {{ "{{" }} .Labels.instance {{ "}}" }}
|
|
# {{ "{{" }} end {{ "}}" }}
|
|
#
|
|
# - name: 'pushover-warning'
|
|
# pushover_configs:
|
|
# - user_key: '{{ pushover_user_key }}'
|
|
# token: '{{ pushover_api_token }}'
|
|
# send_resolved: true
|
|
# html: true
|
|
# priority: '1'
|
|
# retry: 30
|
|
# expire: 3600
|
|
# title: '⚠️ [WARNING] {{ "{{" }} .GroupLabels.alertname {{ "}}" }}'
|
|
# message: |-
|
|
# {{ "{{" }} range .Alerts {{ "}}" }}
|
|
# {{ "{{" }} .Annotations.description {{ "}}" }}
|
|
# Instance: {{ "{{" }} .Labels.instance {{ "}}" }}
|
|
# {{ "{{" }} end {{ "}}" }}
|
|
#
|
|
# - name: 'pushover-info'
|
|
# pushover_configs:
|
|
# - user_key: '{{ pushover_user_key }}'
|
|
# token: '{{ pushover_api_token }}'
|
|
# send_resolved: false
|
|
# html: true
|
|
# priority: '0'
|
|
# title: '{{ "{{" }} .GroupLabels.alertname {{ "}}" }}'
|
|
# message: '{{ "{{" }} range .Alerts {{ "}}" }}{{ "{{" }} .Annotations.description {{ "}}" }}{{ "{{" }} end {{ "}}" }}'
|
|
#
|
|
# - name: 'pushover'
|
|
# pushover_configs:
|
|
# - user_key: '{{ pushover_user_key }}'
|
|
# token: '{{ pushover_api_token }}'
|
|
# send_resolved: true
|
|
# html: true
|
|
# priority: '1'
|
|
# retry: 30
|
|
# expire: 3600
|
|
# title: '[{{ "{{" }} .GroupLabels.severity | default "ALERT" {{ "}}" }}] {{ "{{" }} .GroupLabels.alertname {{ "}}" }}'
|
|
# message: |-
|
|
# {{ "{{" }} range .Alerts {{ "}}" }}
|
|
# {{ "{{" }} .Annotations.description {{ "}}" }}
|
|
# Instance: {{ "{{" }} .Labels.instance {{ "}}" }}
|
|
# Severity: {{ "{{" }} .Labels.severity {{ "}}" }}
|
|
# {{ "{{" }} end {{ "}}" }} |