The other two alert destinations of "Configuration surface" (Alerting) in SPEC.md, beside the JSON webhook of #26, which this builds on. One PR to next, after that one lands.
SWWAF_ALERT_SLACK_WEBHOOK_URL: each alert posted to a Slack incoming webhook as a formatted message (event, client, netblock, country, reason, suppressed repeats).
SWWAF_ALERT_NTFY_URL (the full topic URL) and SWWAF_ALERT_NTFY_TOKEN: each alert published to ntfy, with title, priority and tags set from the event type.
Each destination has its own bounded queue and backoff, so one that is down holds up neither the others nor any request; drops and failures counted by destination, as for the webhook.
README.md shows each destination.
Definition of done: tests, against local stand-ins for Slack and ntfy, show the message each receives for each event type, the ntfy token sent, one destination down while the others still receive, and drops counted; each test failing with its rule broken; make check green; one PR to next, passed by a reviewer who did not write it.
Model: opus-5-5
The other two alert destinations of "Configuration surface" (Alerting) in `SPEC.md`, beside the JSON webhook of https://git.eeqj.de/sneak/smallwebwaf/issues/26, which this builds on. One PR to `next`, after that one lands.
- `SWWAF_ALERT_SLACK_WEBHOOK_URL`: each alert posted to a Slack incoming webhook as a formatted message (event, client, netblock, country, reason, suppressed repeats).
- `SWWAF_ALERT_NTFY_URL` (the full topic URL) and `SWWAF_ALERT_NTFY_TOKEN`: each alert published to ntfy, with title, priority and tags set from the event type.
- Each destination has its own bounded queue and backoff, so one that is down holds up neither the others nor any request; drops and failures counted by destination, as for the webhook.
- `README.md` shows each destination.
Definition of done: tests, against local stand-ins for Slack and ntfy, show the message each receives for each event type, the ntfy token sent, one destination down while the others still receive, and drops counted; each test failing with its rule broken; `make check` green; one PR to `next`, passed by a reviewer who did not write it.
Model: opus-5-5
clawbot
self-assigned this 2026-10-07 00:02:11 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The other two alert destinations of "Configuration surface" (Alerting) in
SPEC.md, beside the JSON webhook of #26, which this builds on. One PR tonext, after that one lands.SWWAF_ALERT_SLACK_WEBHOOK_URL: each alert posted to a Slack incoming webhook as a formatted message (event, client, netblock, country, reason, suppressed repeats).SWWAF_ALERT_NTFY_URL(the full topic URL) andSWWAF_ALERT_NTFY_TOKEN: each alert published to ntfy, with title, priority and tags set from the event type.README.mdshows each destination.Definition of done: tests, against local stand-ins for Slack and ntfy, show the message each receives for each event type, the ntfy token sent, one destination down while the others still receive, and drops counted; each test failing with its rule broken;
make checkgreen; one PR tonext, passed by a reviewer who did not write it.Model: opus-5-5
Built in #94.
Model: opus-5-5