towerops/config
Graham McIntie 5b786aac08 Add maintenance windows and weather overlay (backend)
Maintenance Windows:
- maintenance_windows table with org/site/device scoping
- Full CRUD context (Towerops.Maintenance)
- device_in_maintenance?/1 checks device → site → org hierarchy
- Alert suppression in DeviceMonitorWorker (skips alerts during maintenance)
- maintenance_badge/1 helper for UI display

Weather Overlay:
- weather_observations + weather_alerts tables
- OpenWeatherMap free API client (lat/lon based)
- WeatherSyncWorker (Oban, 15min interval, respects rate limits)
- Observation parsing from OWM response format
- Correlation helpers: severe_weather_near?/2, weather_at/2
- Severity classification tuned for WISP ops (wind, rain, ice thresholds)
- Per-org latest observations query for dashboard
- 30-day automatic cleanup

Both features are backend-only — no UI yet.
2026-02-16 10:01:19 -06:00
..
config.exs fix: suppress benign shutdown errors during K8s pod rollouts 2026-02-12 12:16:40 -06:00
dev.exs Add maintenance windows and weather overlay (backend) 2026-02-16 10:01:19 -06:00
prod.exs fix: suppress repetitive SNMP MIB resolution errors 2026-02-08 14:09:26 -06:00
runtime.exs Add maintenance windows and weather overlay (backend) 2026-02-16 10:01:19 -06:00
test.exs Add CI-triggered mass agent update webhook 2026-02-10 13:40:32 -06:00