# ============================================================================= # Alertmanager — Routing & Escalation # ============================================================================= apiVersion: monitoring.coreos.com/v1 kind: AlertmanagerConfig metadata: name: platform-routing namespace: monitoring spec: route: groupBy: [alertname, namespace, severity] groupWait: 30s groupInterval: 5m repeatInterval: 4h receiver: slack-platform routes: # Critical → Slack + PagerDuty - match: severity: critical receiver: pagerduty repeatInterval: 15m continue: true # Security → Security team channel - match: team: security receiver: slack-security repeatInterval: 30m # App team alerts - match: team: app receiver: slack-app-team receivers: - name: slack-platform slackConfigs: - apiURL: name: slack-webhook key: url channel: "#platform-alerts" title: "{{ .CommonAnnotations.summary }}" text: "{{ range .Alerts }}{{ .Annotations.description }}\n{{ end }}" - name: pagerduty pagerDutyConfigs: - routingKey: name: pagerduty-key key: routing-key severity: "{{ .CommonLabels.severity }}" - name: slack-security slackConfigs: - apiURL: name: slack-webhook key: url channel: "#security-alerts" title: "SECURITY: {{ .CommonAnnotations.summary }}" - name: slack-app-team slackConfigs: - apiURL: name: slack-webhook key: url channel: "#app-alerts" title: "{{ .CommonAnnotations.summary }}"