feat: external channels and Alertmanager ingest (P4) #5

Merged
KofTwentyTwo merged 1 commits from feature/alerts-external-channels-p4 into develop 2026-10-12 22:27:12 +00:00
1 Commits
Author SHA1 Message Date
james.maesandClaude Opus 5.5 050c141c6b feat: external channels (Slack, Teams, signed webhook, PagerDuty, Alertmanager) and Alertmanager ingest (P4)
- SLACK (Incoming Webhook, Block Kit), TEAMS (Workflows webhook, Adaptive
  Card), WEBHOOK (Standard Webhooks signature via a stand-in for core's
  WebhookSigner, QRun-IO/qqq#1109), PAGERDUTY (Events API v2 trigger /
  acknowledge / resolve, dedup_key = type:key), ALERTMANAGER sink
  (/api/v2/alerts, qqq_* labels, qqq_origin guard, endsAt on resolve)
- shared HTTP rules: https only unless allowInsecureHttp, 10 s timeout,
  2xx sent, 408/425/429/5xx retry, other 4xx permanent; URLs (secrets for
  Slack and Teams) never appear in errors
- AlertMessage carries one structured, redacted entry per alert
- POST /qqq/v1/alerts/ingest/alertmanager: bearer token by secret
  reference (off without one), firing/resolved to raise/resolve, EXTERNAL
  prometheus.* types with notifications off, loop guard

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 17:23:03 -05:00