C2(deploy-infra-alerting): close first-alert-and-runbook

End-to-end alerting pipeline verified:
- ServiceProbeFailure alert rule evaluates 5 blackbox probes
- Grafana custom payload produces ntfy-native JSON (topic, title,
  message, priority, actions)
- Firing notification arrives on iOS with clean formatting
- "Open Runbook" action button links to docs.eblu.me runbook
- Resolved notification delivered on recovery

Key discovery: Grafana webhook custom payload provisioning field is
settings.payload.template (nested object), not payloadTemplate
(flat string). Found by reading grafana/alerting Go source.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erich Blume 2026-03-22 12:05:43 -07:00
commit e33b0bc184

View file

@ -1,7 +1,6 @@
---
title: First Alert and Runbook
modified: 2026-03-22
status: active
requires:
- configure-grafana-alerting-pipeline
tags:
@ -68,3 +67,4 @@ Write `docs/how-to/alerts/runbook-service-probe-failure.md` as a how-to doc expl
- [[configure-grafana-alerting-pipeline]] — Prerequisite: pipeline must be working
- [[deploy-infra-alerting]] — Parent goal
- [[port-services-check-alerts]] — Next: port remaining checks
- [[runbook-service-probe-failure]] — The runbook created for this alert