spaxel/firmware
jedarden e44dd345f6 feat: implement comprehensive /healthz endpoint
Add complete health check implementation for Docker HEALTHCHECK and
Traefik health routing with:

Response fields:
- status: "ok" or "degraded"
- uptime_s: seconds since mothership boot
- version: mothership version string
- nodes_online: count of connected nodes
- db: "ok" or "failing" (SELECT 1 with 100ms timeout)
- load_level: 0-3 from load shedding state
- reason: human-readable explanation (only when degraded)

HTTP status codes:
- 200 for healthy (status="ok")
- 503 for degraded (status="degraded")

Degraded conditions:
- Database unreachable
- Load level 3 sustained for >60 seconds
- No nodes connected after 5 minutes uptime

Docker HEALTHCHECK updated to verify status="ok" response.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 11:09:36 -04:00
..
main feat: implement comprehensive /healthz endpoint 2026-04-07 11:09:36 -04:00
CMakeLists.txt feat(firmware): OTA SHA-256 verification and captive portal URL decoding 2026-03-28 19:56:11 -04:00
partitions.csv feat: dual-partition OTA rollback validation with 60s role timeout 2026-04-07 01:43:29 -04:00
sdkconfig.defaults feat: dual-partition OTA rollback validation with 60s role timeout 2026-04-07 01:43:29 -04:00