2.0 KiB
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