spaxel/mothership/internal/ota
jedarden 3254fcaf67 ota: implement auto-update with canary strategy and quiet window
Implements Component 6 OTA auto-update system with:

- Canary deployment strategy: update one node first, monitor quality
  for configurable duration (default 10 min), then roll out fleet-wide
- Configurable quiet window (default 02:00-05:00 local time) for
  automatic updates
- Auto-update mode toggle (auto_update_enabled setting)
- Quality-based rollback: if canary degrades detection quality
  beyond threshold (default 5%), abort and alert
- Zone vacancy check: only update when all zones vacant for >10 min
- Dashboard broadcaster integration for real-time progress updates
- Event notifier integration for timeline events
- REST API endpoints: /api/ota/auto/status, /api/ota/auto/trigger,
  /api/ota/auto/cancel, /api/ota/auto/config, /api/ota/auto/history

New settings:
- auto_update_enabled (bool, default false)
- quiet_window_start (string, default "02:00")
- quiet_window_end (string, default "05:00")
- canary_duration_min (int, default 10)
- auto_update_quality_threshold (float, default 0.05)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-05 11:48:07 -04:00
..
autoapi.go ota: implement auto-update with canary strategy and quiet window 2026-05-05 11:48:07 -04:00
autoupdate.go ota: implement auto-update with canary strategy and quiet window 2026-05-05 11:48:07 -04:00
autoupdate_test.go ota: implement auto-update with canary strategy and quiet window 2026-05-05 11:48:07 -04:00
manager.go feat: add OTA progress tracking to fleet status page 2026-04-11 22:41:51 -04:00
server.go ota: implement auto-update with canary strategy and quiet window 2026-05-05 11:48:07 -04:00
server_test.go ota: implement auto-update with canary strategy and quiet window 2026-05-05 11:48:07 -04:00