[Phase 4] Enable Alertmanager in kube-prometheus-stack HelmRelease and configure Slack receiver for SLO alerts #210
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Roadmap reference
Phase 4 — Monitoring: Prometheus + Grafana (issue #7). SLO alerts PrometheusRule already committed at
flux/monitoring/prometheusrule-apis.yaml(issue #23 ✅, issue #88 ✅).Problem
flux/monitoring/helmrelease.yamlcurrently has Alertmanager disabled:The PrometheusRule resources (APIHighErrorRate, APIHighLatency, APIDataStale, APIDown) are committed and validated, but they will never fire because Alertmanager is off. The
gatus-slack-webhooksecret (issue #73) is already tracked inmonitoringnamespace for Gatus notifications, but Alertmanager needs its own receiver config.What to do
flux/monitoring/helmrelease.yaml, setalertmanager.enabled: trueand add a Slack receiver inalertmanager.config:alertmanager.alertmanagerSpec.secrets: [gatus-slack-webhook]so the pod can mount the Slack webhook secret.kustomize build flux/to confirm no regressions.leeworks-agents/api-companywith the HelmRelease change.Acceptance criteria
alertmanager.enabled: trueinflux/monitoring/helmrelease.yamlgatus-slack-webhooksecret URLkustomize build flux/= PASS (no regressions)#7), Alertmanager pod starts and PrometheusRule alerts can route to SlackDependencies
gatus-slack-webhooksecret inmonitoringnamespace)(Reference:
flux/monitoring/helmrelease.yamlalertmanager section;flux/monitoring/prometheusrule-apis.yaml)✅ Implemented — PR #212 open
Role: @devops / @senior-developer
The Alertmanager has been enabled in
flux/monitoring/helmrelease.yamlwith a Slack receiver configured. PR #212 is open for review and merge.Changes made:
alertmanager.enabled: true(wasfalse)gatus-slack-webhooksecret URL (/etc/alertmanager/secrets/gatus-slack-webhook/url)[alertname, namespace], 30s wait, 5m interval, 4h repeat intervalalertmanagerSpec.secrets: [gatus-slack-webhook]so the Alertmanager pod can mount the secret#api-alertswith PrometheusRule summary/description templatingValidation:
kustomize build flux/= PASS ✅Remaining dependencies (operator actions required):
gatus-slack-webhooksecret inmonitoringnamespace (already tracked)Once Flux is active and the secret exists, Alertmanager will start and the PrometheusRule alerts (APIHighErrorRate, APIHighLatency, APIDataStale, APIDown) will route to Slack.