Alerts
Notify
Alert rules
Route file + schema changes to Slack, Discord, or any HTTP webhook. Rules fire in near-real-time (as the cron dispatcher runs every minute). Every attempt is logged.
How a rule fires:
Two flavors. Per-row rules (default) fire on every change that matches the path glob + kind + status filter — good for "wake me on any deletion". Frequency rules (set threshold > 0) fire once when a matching file crosses N changes in M minutes — good for "wake me when someone edits the payment gateway config 5+ times in an hour". Rate limit protects you from firehoses; every delivery attempt is logged whether it succeeded or failed.
Edit rule #3
Combine a matcher (kind + path glob) with a delivery target. Save, then wait for the next capture tick.
Recent deliveries
Last 30 fire attempts across every rule. Audit trail for compliance / debugging.
Rules
Click a row to edit. Deactivating a rule stops it firing but keeps its history.
| Status | Name | Matches | Delivery | Target | Fires | Last fired | Actions |
|---|---|---|---|---|---|---|---|
| active | TESTER -- DriftSense code dir tripwire (adds + deletes only) | file · /var/www/vhosts/3dshawn.com/site1/** | generic_webhook | https://watchtower.3dshawn.com/alert_test_catcher.cgi | 50 | 2026-07-12 01:53:10 | |
| active | TESTER -- DriftSense own DB schema drift (ALERT_* tables) | schema · drift_sense.ALERT_* | slack | https://watchtower.3dshawn.com/alert_test_catcher.cgi | 215 | 2026-07-12 11:31:03 | |
| active | TESTER -- Any deleted file portfolio-wide (high signal) | file · ** | discord | https://watchtower.3dshawn.com/alert_test_catcher.cgi | 675 | 2026-07-12 11:31:02 |