From 56e6633fcd27a48f0de45363cbeb9364405893fa Mon Sep 17 00:00:00 2001 From: "christopher.fickess" Date: Mon, 13 Jul 2026 13:13:12 -0500 Subject: [PATCH 01/15] feat: expand alert catalog to 30 runbooks with a security category Adds 10 runbooks (20 -> 30): a new security category (unexpected-container-image, apiserver-auth-failure-spike, privileged-container-started, interactive-shell-in-container, rbac-privilege-escalation, security-tooling-down) plus SRE gap-fillers (cpu-throttling-high, image-pull-backoff, pods-unschedulable, postgres-connections-near-max). Each is wired with a scaffoldSets entry, add/remove/validate autocomplete, help text, and inline Quick Diagnostics. Adds embedded docs ALERT_CATALOG.md (docs alerts) and ALERT_REQUIREMENTS.md (docs requirements). Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/ALERT_CATALOG.md | 111 +++++++++++++++++++++ docs/ALERT_REQUIREMENTS.md | 87 ++++++++++++++++ runbooks/INDEX.md | 21 +++- runbooks/apiserver-auth-failure-spike.md | 90 +++++++++++++++++ runbooks/cpu-throttling-high.md | 89 +++++++++++++++++ runbooks/image-pull-backoff.md | 74 ++++++++++++++ runbooks/interactive-shell-in-container.md | 90 +++++++++++++++++ runbooks/pods-unschedulable.md | 80 +++++++++++++++ runbooks/postgres-connections-near-max.md | 88 ++++++++++++++++ runbooks/privileged-container-started.md | 92 +++++++++++++++++ runbooks/rbac-privilege-escalation.md | 88 ++++++++++++++++ runbooks/security-tooling-down.md | 80 +++++++++++++++ runbooks/unexpected-container-image.md | 96 ++++++++++++++++++ server/cmd_docs.go | 3 + server/cmd_scaffold.go | 12 +++ server/commands.go | 15 ++- 16 files changed, 1110 insertions(+), 6 deletions(-) create mode 100644 docs/ALERT_CATALOG.md create mode 100644 docs/ALERT_REQUIREMENTS.md create mode 100644 runbooks/apiserver-auth-failure-spike.md create mode 100644 runbooks/cpu-throttling-high.md create mode 100644 runbooks/image-pull-backoff.md create mode 100644 runbooks/interactive-shell-in-container.md create mode 100644 runbooks/pods-unschedulable.md create mode 100644 runbooks/postgres-connections-near-max.md create mode 100644 runbooks/privileged-container-started.md create mode 100644 runbooks/rbac-privilege-escalation.md create mode 100644 runbooks/security-tooling-down.md create mode 100644 runbooks/unexpected-container-image.md diff --git a/docs/ALERT_CATALOG.md b/docs/ALERT_CATALOG.md new file mode 100644 index 0000000..c901369 --- /dev/null +++ b/docs/ALERT_CATALOG.md @@ -0,0 +1,111 @@ +# Alert Catalog + +Every alert type the runbook library covers, grouped the same way as the +`/alertmanager add ` group sets and the `groups:` in your Prometheus +rules. Read it in chat with `/alertmanager docs alerts`. + +Each runbook slug maps to a rendered page at +`/plugins/com.mattermost.alertmanager/public/runbooks/.html` and, +when the alert fires, its first three Quick-Diagnostics blocks are inlined +into the Mattermost post. + +## Alert message anatomy (what an alert can carry) + +These are the "options" every alert message is built from — set them in +the Prometheus rule's `labels` / `annotations`: + +| Field | Where | Effect in the Mattermost post | +|---|---|---| +| `severity: critical` | label | Red sidebar, title `[CRITICAL:...]`, pages | +| `severity: warning` | label | Yellow sidebar, chat-only | +| `severity: info` | label | Blue sidebar, informational | +| (status = resolved) | auto | Green `[✓ RESOLVED:...]` variant | +| `runbook: ` | label | Routes the alert to its per-runbook receiver | +| `summary` | annotation | Title line / one-liner | +| `description` | annotation | **Description:** block | +| `runbook_url` | annotation | **Runbook:** link (falls back to the plugin-hosted page) | +| `dashboard_url` | annotation | **Dashboard:** link (optional) | +| any other labels | label | Listed under **Details:** and used to auto-fill `