shankar0123
596d86a206
feat(M48): continuous TLS health monitoring — endpoint state machine, shared tlsprobe, 8 API endpoints, GUI
Adds continuous TLS endpoint health monitoring that closes the deploy→verify→monitor loop.
After M25 verifies a deployment succeeded once, M48 continuously confirms it stays healthy.
Key components:
- Shared `internal/tlsprobe/` package extracted from network scanner for reuse
- Health status state machine: healthy → degraded (2 failures) → down (5 failures),
plus cert_mismatch when served fingerprint differs from expected
- 8th scheduler loop (60s tick, per-endpoint configurable intervals)
- PostgreSQL migration 000011: endpoint_health_checks + endpoint_health_history tables
- 8 REST API endpoints (CRUD, history, acknowledge, summary)
- Health Monitor GUI page with summary bar, status table, create modal, auto-refresh
- 38 new tests (5 tlsprobe + 11 domain + 10 service + 8 handler + 4 frontend)
- All coverage thresholds maintained (service 68%, handler 83%, domain 87%, middleware 63%)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 21:45:45 -04:00
..
2026-04-12 19:18:32 -04:00
2026-04-12 19:18:32 -04:00
2026-04-12 19:18:32 -04:00
2026-03-27 22:53:46 -04:00
2026-03-27 21:35:22 -04:00
2026-03-27 22:53:46 -04:00
2026-04-02 17:02:20 -04:00
2026-04-09 23:09:40 -04:00
2026-03-14 08:22:17 -04:00
2026-03-30 00:51:18 -04:00
2026-03-30 18:58:23 -04:00
2026-03-28 21:18:35 -04:00
2026-03-28 21:18:35 -04:00
2026-03-28 17:57:25 -04:00
2026-03-24 00:25:00 -04:00
2026-04-15 16:47:18 -04:00
2026-04-15 16:47:18 -04:00
2026-03-28 17:57:25 -04:00
2026-03-30 00:51:18 -04:00
2026-04-15 21:45:45 -04:00
2026-04-15 21:45:45 -04:00
2026-04-09 23:09:40 -04:00
2026-03-15 11:58:13 -04:00
2026-04-12 19:18:32 -04:00
2026-04-12 19:18:32 -04:00
2026-03-20 21:02:35 -04:00
2026-03-23 17:39:16 -04:00
2026-03-24 23:37:47 -04:00
2026-03-27 18:33:50 -04:00
2026-03-24 23:37:47 -04:00
2026-03-15 14:06:48 -04:00
2026-03-14 08:22:17 -04:00
2026-03-22 10:59:18 -04:00
2026-03-25 05:03:50 -04:00
2026-03-15 01:19:19 -04:00
2026-03-15 14:06:48 -04:00
2026-03-20 20:39:49 -04:00
2026-03-20 20:39:49 -04:00
2026-04-09 23:09:40 -04:00
2026-03-27 23:18:04 -04:00
2026-04-15 16:47:18 -04:00
2026-04-15 16:47:18 -04:00
2026-03-28 17:57:25 -04:00
2026-03-22 19:46:13 -04:00
2026-04-04 01:09:53 -04:00
2026-04-04 01:09:53 -04:00
2026-03-22 10:59:18 -04:00
2026-03-15 01:19:19 -04:00
2026-03-15 00:25:01 -04:00
2026-04-09 23:27:57 -04:00
2026-04-02 18:32:57 -04:00
2026-03-28 17:57:25 -04:00
2026-03-27 21:13:48 -04:00