Files
HexaHost-GameCloud/docs/IMPLEMENTATION_STATUS.md
smueller 58961000eb
Some checks failed
CI / Node — lint, typecheck, test, build (push) Failing after 9s
CI / Go — node-agent tests (push) Failing after 21s
CI / Go — edge-gateway build (push) Successful in 13s
Phase1
2026-06-26 11:31:54 +02:00

2.0 KiB

HexaHost GameCloud — Implementation Status

Last updated: 2026-06-26

Current phase: Phase 1 — Authentication & user panel

Phase 1 completed

Area Status Notes
Prisma auth models Done EmailVerificationToken, PasswordResetToken, TotpCredential, RecoveryCode
Migration Done 20260626120000_phase1_auth + platform role seed
@hexahost/auth Done Argon2id, tokens, TOTP, recovery codes, username utils
API AuthModule Done Register, login, logout, verify, reset, 2FA, /me, sessions
Session cookies Done hgc_session, HttpOnly, Secure in prod, SameSite lax
Account lockout Done 5 attempts → 15 min lock
Worker emails Done notifications queue → nodemailer (Mailpit in dev)
Web auth UI Done Login, register, 2FA, forgot/reset, verify, security
Route protection Done Middleware cookie check for dashboard/security
Admin bootstrap Done pnpm bootstrap:admin --email … --password …
Tests Done Auth package vitest, API health/auth tests, contracts

Abnahmekriterium Phase 1

  • Registration with email verification flow
  • Login/logout with secure sessions
  • Password reset
  • TOTP 2FA setup and login challenge
  • Session list and revoke
  • Admin bootstrap CLI (no default credentials)
  • Audit events for security actions
  • Unit/integration tests pass

Known limitations

  • E2E Playwright tests for auth flow not yet added (planned).
  • Email templates are minimal HTML (no branded layout yet).
  • OIDC / Passkeys deferred to later phases.
  • CSRF relies on SameSite cookies + CORS origin check; no double-submit token yet.

Test commands

pnpm install
pnpm db:migrate    # or db:push
pnpm test
pnpm build
pnpm bootstrap:admin -- --email admin@localhost --password 'your-secure-password'

Next phase: Phase 2 — Single-Node Vertical Slice

  • GameNode enrollment, Go agent WebSocket
  • Server create, provision, start/stop
  • First playable Minecraft server locally