spaxel/firmware/main
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
..
ble.c feat(firmware): ESP32-S3 firmware skeleton with CSI/BLE/WebSocket 2026-03-26 07:20:55 -04:00
ble.h feat(firmware): ESP32-S3 firmware skeleton with CSI/BLE/WebSocket 2026-03-26 07:20:55 -04:00
CMakeLists.txt feat: implement NVS schema migration on boot 2026-04-07 10:27:38 -04:00
csi.c feat(protocol): full bidirectional node protocol over WebSocket 2026-03-26 23:14:19 -04:00
csi.h feat(firmware): ESP32-S3 firmware skeleton with CSI/BLE/WebSocket 2026-03-26 07:20:55 -04:00
main.c feat: implement comprehensive /healthz endpoint 2026-04-07 11:09:36 -04:00
ntp.c feat: implement comprehensive /healthz endpoint 2026-04-07 11:09:36 -04:00
ntp.h feat: implement comprehensive /healthz endpoint 2026-04-07 11:09:36 -04:00
nvs_migration.c feat: implement NVS schema migration on boot 2026-04-07 10:27:38 -04:00
nvs_migration.h feat: implement NVS schema migration on boot 2026-04-07 10:27:38 -04:00
provision.c feat: implement comprehensive /healthz endpoint 2026-04-07 11:09:36 -04:00
provision.h feat(dashboard): per-link motion presence indicator with amplitude time series 2026-03-26 22:55:33 -04:00
spaxel.h feat: implement comprehensive /healthz endpoint 2026-04-07 11:09:36 -04:00
version.h.in feat(firmware): OTA SHA-256 verification and captive portal URL decoding 2026-03-28 19:56:11 -04:00
websocket.c feat: dual-partition OTA rollback validation with 60s role timeout 2026-04-07 01:43:29 -04:00
websocket.h feat(protocol): full bidirectional node protocol over WebSocket 2026-03-26 23:14:19 -04:00
wifi.c feat: implement passive radar auto-detection of router AP 2026-04-06 14:03:03 -04:00
wifi.h feat: implement passive radar auto-detection of router AP 2026-04-06 14:03:03 -04:00