zlh-grind/PORTAL_MIGRATION.md

1.7 KiB

ZeroLagHub Portal Migration (v2)

This document tracks the migration from the legacy portal model to the ZLH-native Portal v2.


Migration Summary

The portal is being rebuilt to support heterogeneous workloads:

  • Game servers (Minecraft initially)
  • Development servers (LXC-based)
  • Future non-game services

This required abandoning several legacy assumptions.


Key Architectural Shifts

1. Pterodactyl is no longer the control plane

  • No Docker-centric lifecycle assumptions
  • No monolithic server controllers
  • No HUD-style control surface

2. Agent-first runtime model

  • Each server/LXC runs a ZLH Agent
  • Agent is authoritative for:
    • runtime state
    • service health
    • console output
  • API v2 brokers access, not execution

3. Dashboard redesign (Completed)

Dashboard is now:

  • Read-only
  • Awareness-focused
  • Non-operational

Features:

  • System Health indicator (frontend ↔ backend connectivity)
  • Notices panel with expandable timeline
  • Resource summaries (no controls)

4. Servers page redesign (In progress)

Servers page now:

  • Groups servers by type (GAME / DEV)
  • Uses expandable cards
  • Collapsed cards show:
    • status
    • uptime
    • identity
  • Expanded cards show:
    • runtime context
    • metadata
    • escalation action

Only action exposed:

  • System View (observation-first)

No start/stop/restart bulk actions exist.


Explicitly Removed Concepts

  • "Start All / Stop All / Restart All"
  • HUD-style control buttons
  • Console buttons on dashboard
  • AWS-style terminal metaphors

These are intentional removals.


Migration Status

  • Auth v2: Complete
  • Dashboard UX: Locked
  • Servers page UX: 🔄 Active
  • System View page: Next
  • Billing integration: ⏸ Deferred