Files
HexaHost-GameCloud/docs/IMPLEMENTATION_STATUS.md
smueller c4077d4673
Some checks failed
CI / Node — lint, typecheck, test, build (push) Failing after 10s
CI / Go — node-agent tests (push) Failing after 8s
CI / Go — edge-gateway build (push) Successful in 13s
Phase2
2026-06-26 12:01:25 +02:00

2.1 KiB

HexaHost GameCloud — Implementation Status

Last updated: 2026-06-26

Current phase: Phase 2 — Single-Node Vertical Slice

Phase 2 completed

Area Status Notes
Prisma lifecycle models Done Allocations, server fields, node enrollment
@hexahost/contracts servers Done Zod schemas for create/list/action
API ServersModule Done CRUD, start/stop, BullMQ jobs
API NodesModule Done WebSocket /api/v1/nodes/ws, Redis command bridge
API Plans Done GET /api/v1/plans
Admin nodes Done POST /api/v1/admin/nodes with enrollment token
Worker provisioning Done Port allocation, Redis commands, response wait
Worker lifecycle Done start-server, stop-server jobs
Go node-agent Done WebSocket, Docker (itzg/minecraft-server:java21)
Web server UI Done Create, list, detail, start/stop
Dev seed Done pnpm db:seed — Free plan + local dev node
Migrations Done 20260626140000_phase2_game_servers

Abnahmekriterium Phase 2

  • User creates server in web panel
  • Provisioning pipeline (API → Worker → Agent)
  • Start/stop lifecycle
  • Node enrollment + heartbeat
  • Connection address shown (localhost:port)
  • Manual Minecraft join validation (requires Docker + agent running locally)

Local vertical slice

pnpm dev:infra
pnpm db:migrate   # or db:push
pnpm db:seed
pnpm dev

# Terminal 2 — Node Agent (requires Go + Docker)
cd apps/node-agent
set NODE_ID=00000000-0000-4000-8000-000000000001
set NODE_TOKEN=local-dev-enrollment-token-change-me-32chars
set NODE_AGENT_PUBLIC_URL=ws://localhost:3001/api/v1/nodes/ws
make run

Known limitations

  • Single-node only (no scheduler/queue fairness yet).
  • Minecraft image pull on first provision can take several minutes.
  • Node agent on Windows needs Docker Desktop; run agent on host, not in Compose.
  • mTLS for agent deferred; token-based enrollment only.
  • Metrics are basic heartbeat payload only.

Next phase: Phase 3 — Console, files, settings

  • Live console WebSocket
  • File manager
  • server.properties editor
  • Player lists