towerops/config
Graham McIntie 90af7ac0d1 feat: alert storm correlation & suppression (TOW-13)
- StormDetector GenServer: sliding-window per org, >10 alerts/min triggers
  suppression mode with single summary notification
- Site correlation: >3 devices at same site down within 120s creates
  single 'Site Outage' alert instead of N individual alerts
- Notification rate limiter: max 5 per user per 15min window, excess
  batched into digest via AlertDigestWorker
- PagerDuty client: retry with exponential backoff on 429, respects
  Retry-After header
- Batch maintenance checks: new Maintenance.devices_in_maintenance/1
  takes list of device_ids, returns MapSet (single query vs N queries)
- Migration: alert_storms, site_outages, notification_digests tables
  plus site_outage_id/storm_suppressed on alerts
- DeviceMonitorWorker integrates storm detection and site correlation
  before creating alerts
- Tests for StormDetector, SiteCorrelation, NotificationRateLimiter,
  and batch maintenance checks
2026-03-15 14:29:12 -05:00
..
config.exs fix SSL CA trust store for HTTPS in containers 2026-03-11 14:48:54 -05:00
dev.exs fix: remove Redis config from dev.exs to allow CI health checks to pass 2026-03-08 10:05:12 -05:00
prod.exs fix: suppress noisy health check logs in production 2026-03-05 13:13:19 -06:00
runtime.exs feat: alert storm correlation & suppression (TOW-13) 2026-03-15 14:29:12 -05:00
test.exs fix: add recurring job dispatch timer for agent-polled devices 2026-03-12 12:07:34 -05:00