Commit graph

16 commits

Author SHA1 Message Date
d0507f290e feat(server): overview LiveView with status ampel + pubsub updates 2026-04-21 22:52:40 +02:00
62996d883d feat(server): router pipelines + live_auth hook for authenticated dashboard 2026-04-21 22:51:41 +02:00
4538945b85 feat(server): session-based auth plug + login controller/template 2026-04-21 22:51:11 +02:00
3123743c1c feat(server): hosts list/delete/rotate helpers + pubsub on metric insert 2026-04-21 22:50:33 +02:00
f3e7fab4d2 feat(server): pure Status.compute/2 for ok/warning/critical/offline 2026-04-21 22:49:15 +02:00
9c457c1f68 feat(server): Server.Auth.verify_password/1 2026-04-21 22:48:36 +02:00
30b507ba6b feat(server): GET /api/hosts/:name returns latest fast/medium/slow samples 2026-04-21 22:30:35 +02:00
f09a77996b feat(server): retention GenServer prunes samples older than 48h hourly 2026-04-21 22:29:24 +02:00
751e035579 feat(server): channel persists fast/medium/slow samples to metrics table 2026-04-21 22:28:36 +02:00
687fc17082 feat(server): metrics schema + context with record/latest/prune 2026-04-21 22:27:20 +02:00
116f1ada14 fix(server): only mark hosts offline when endpoint is serving
Application.start ran mark_all_offline unconditionally, which meant
every "mix run"/"mix ecto.migrate" invocation would flip all
connected hosts to offline. Gate the call on Phoenix.Endpoint.server?
so non-serving boots don't disturb live state.
2026-04-21 22:15:35 +02:00
9e55eae6a1 chore(server): iex helper for host registration 2026-04-21 22:04:44 +02:00
61595e0293 feat(server): host channel with token auth and metric events 2026-04-21 22:04:31 +02:00
d9a52db4ea feat(server): agent socket endpoint, clear online status on boot 2026-04-21 22:03:03 +02:00
b141ee7816 feat(server): host schema, context, auth, status transitions 2026-04-21 22:02:24 +02:00
b85d05afc8 feat(server): phoenix 1.7 scaffold with sqlite + liveview 2026-04-21 22:00:43 +02:00