homelab-codex-ws/services/control-plane
Oskar Kapala e5ecefe2b7 feat(observer): shadow-read Prometheus up{} liveness with mismatch logging (cutover etap 1, no switching)
Observer now optionally (PROM_SHADOW_URL) queries Prometheus up{} once per
cycle and LOGS SHADOW_LIVENESS_MISMATCH when its event-driven liveness
disagrees. Parallel-run only: compute_liveness and _emit_node_transition are
untouched; authoritative liveness stays 100% event-driven. Fail-open on any
Prometheus error (down/timeout/bad JSON -> {}). 9 new tests, incl. proof that
shadow-read does not change node_info liveness/status.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 15:38:20 +02:00
..
src feat(observer): 3-state node liveness (fresh/stale/dead) + transitions + read-time net 2026-06-17 20:07:25 +02:00
tests feat(observer): shadow-read Prometheus up{} liveness with mismatch logging (cutover etap 1, no switching) 2026-07-09 15:38:20 +02:00
deploy-local.sh fix(deploy): skip sudo chown/chmod when /opt/homelab ownership is already correct 2026-06-03 15:44:44 +02:00
docker-compose.yml fix(control-plane): run executor as uid 1000 with docker group access 2026-06-03 18:19:58 +02:00
Dockerfile fix(control-plane): run executor as uid 1000 with docker group access 2026-06-03 18:19:58 +02:00
pyproject.toml feat(control-plane): route ha-diag-agent events through supervisor 2026-05-29 15:59:23 +02:00