From d2b58337acb5f31496d7f6c013a4cfe3269bd0bf Mon Sep 17 00:00:00 2001 From: jester Date: Sun, 11 Jan 2026 22:52:53 +0000 Subject: [PATCH] Add Live Status Model section - finalized agent health vs service runtime, DEV vs GAME semantics, UI mapping table --- PORTAL_MIGRATION.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/PORTAL_MIGRATION.md b/PORTAL_MIGRATION.md index 0f6ca7e..d494f1e 100644 --- a/PORTAL_MIGRATION.md +++ b/PORTAL_MIGRATION.md @@ -87,3 +87,42 @@ These are intentional removals. - Servers page UX: 🔄 Active - System View page: ⏳ Next - Billing integration: ⏸ Deferred + +--- + +## Live Status Model (Finalized) + +The portal consumes **aggregated live state** from the API. +It does not directly query agents, Proxmox, or exporters. + +### Status Layers + +#### Host / Agent Health +- Source: `GET /health` on agent +- Cached in Redis +- Determines host availability + +#### Service Runtime +- GAME: + - Source: `GET /status` + - Reflects actual game server lifecycle +- DEV: + - No service runtime + - Status inferred from host availability + +### UI Mapping + +| Container Type | Host Online | Agent State | UI Status | +|---------------|------------|-------------|-----------| +| DEV | true | n/a | running | +| DEV | false | n/a | offline | +| GAME | true | running | running | +| GAME | true | idle | stopped | +| GAME | false | n/a | offline | + +### Notes +- "Idle" does **not** mean broken +- Offline means host unreachable +- UI refresh reflects Redis state, not instant agent changes + +This model intentionally mirrors Pterodactyl semantics.