Episode 16: Kuma alerts sorted by rules, a local agent and a script

ops-readonly gets kuma_alerts (host export kuma-export.py, one more read-only
mount). kuma-triage.py sorts the same data without a model. Flow H runs the
agent with skill alert-triage.md. Flow B: one open incident per monitor, an
UP closes all of them, titles name start and end and stay under Outline's
limit. B and D accept Kuma only with a header token. Monitoring notes: ntfy
rejects Kuma messages for monitors without a URL, resend for long outages.
This commit is contained in:
Maximilian Grimm 2026-09-29 22:14:50 +02:00
parent 54ab43dac7
commit 1655d04d7d
10 changed files with 705 additions and 67 deletions

View file

@ -373,6 +373,8 @@ services:
- /var/run/fail2ban:/run/fail2ban:ro
# episode 14: WAF alerts as JSON, written on the host by ops-readonly/waf-export.py
- /var/lib/ops-readonly/waf:/waf:ro
# episode 16: Kuma state as JSON, written on the host by ops-readonly/kuma-export.py
- /var/lib/ops-readonly/kuma:/kuma:ro
networks: [proxy]
# --- CI (episode 2) -- start with: docker compose --profile ci up -d ---