# 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