5.6 KiB
5.6 KiB
TODO
Arbeitsliste auf Basis von proxmox-console-entwicklungsplan.md. Die Entwurfsdatei bleibt unveraendert; Fortschritt und Annahmen werden hier gepflegt.
In Arbeit
- E0-T01: Monorepo-Grundgeruest
- Ordner fuer
backend/,worker/,console-proxy/,frontend/,migrations/,deploy/angelegt - Root-Dateien
README.md,CHANGELOG.md,.gitignore,.env.exampleangelegt - Minimale Startpunkte fuer Backend, Worker, Console-Proxy und Frontend angelegt
- Lokale Toolchain geprueft: Go 1.26.4 ist im PATH
- Erste Build-/Test-Kommandos ausgefuehrt
- Ordner fuer
- E0-T02: Lokale Dev-Umgebung mit offizieller Supabase-Self-Hosted-Konfiguration und Redis
Makefilemitdev,migrate,test,lint,build,frontend-build,verifyangelegt- Reduzierten Supabase-Compose-Versuch entfernt
- Offizielle Supabase-Self-Hosted-Dateien einbinden
- Projekt-spezifische ENV-Datei aus offizieller Vorlage ableiten
- Infrastruktur testweise starten
- Healthchecks/Erreichbarkeit pruefen
- E0-T03: CI-Pipeline mit Build, Lint, Tests und Secret-Scan
- Forgejo-Actions-Workflow fuer Pushes auf
mainund Pull Requests angelegt - Go- und Frontend-Verifikation ueber
make verifyeingebunden - Gitleaks-Secret-Scan mit enger Allowlist fuer offizielle Supabase-Beispieldateien eingebunden
- Forgejo-Actions-Workflow fuer Pushes auf
- E0-T04: Konfigurations- und Logging-Layer fuer Go-Dienste
- Gemeinsames Go-Modul
platform/angelegt - ENV-basierte Konfiguration mit Defaults und Validierung eingebunden
- Einheitliches strukturiertes JSON-Logging mit Service- und Env-Feldern eingebunden
- Backend, Worker und Console-Proxy auf den gemeinsamen Layer umgestellt
- Gemeinsames Go-Modul
Naechste Aufgaben
- E2-T01: Migrations-Setup mit
golang-migrate- Versioniertes SQL-Namensschema unter
migrations/angelegt make migrate,make migrate-downundmake migrate-versionverdrahtet- Migrationen laufen lokal per
migrate-Binary oder Docker-Imagemigrate/migrate:v4.18.3 - DB-URL wird aus
.env,deploy/supabase/.envoderMIGRATE_DATABASE_URLabgeleitet
- Versioniertes SQL-Namensschema unter
- E2-T02: Kern-Tabellen: profiles, tenants, memberships
- Migration fuer
profiles,tenants,membershipsangelegt profiles.idreferenziertauth.users.id- Rollen-Enum
membership_rolemitowner,admin,member,viewerangelegt - FKs, Unique-/Primary-Keys und Indizes gesetzt
- Migration fuer
- E2-T03: Projekte & Quotas
- Migration fuer
projectsundproject_quotasangelegt - Projekte referenzieren eindeutig einen Tenant
- Quotas referenzieren 1:1 ein Projekt und erhalten Defaults
- Quota-Checks fuer nicht-negative Werte gesetzt
- Migration fuer
MVP-Backlog
- E1: Supabase Auth, JWT-Middleware und Profil-Sync
- E2: Datenmodell, Migrationen, RLS und VMID-Allokator
- E3: Envelope-Encryption, Cluster-Repository und Proxmox-Client
- E4: RBAC, Policy-Funktion und Autorisierungs-Middleware
- E6: Worker-Grundgeruest und UPID-Polling
- E5: VM-Liste, Detail, Power-Aktionen und Reconciliation
- E7: SSH-Keys, Templates und Provisioning
- E8: Konsolen-Tickets und Websocket-Proxy
- E9: Audit-Writer und Audit-Anzeige
- E10: Frontend-MVP fuer Auth, Projekte, VMs, Wizard und Konsole
Annahmen
- Modulpfad vorlaeufig:
proxui. Falls spaeter ein Git-Remote/Org-Name feststeht, wird der Go-Modulpfad angepasst. - Supabase wird lokal nicht mehr per reduziertem Eigenbau gestartet; naechster Ansatz ist die offizielle Self-Hosted-Konfiguration.
- Offizieller Supabase-Docker-Upstream:
supabase/supabase@996d2b7c1e8ee85ca584160963f26b67d63b7e56. - Lokaler Host-DB-Zugriff laeuft ueber Supavisor: Session-Port
5432, Transaction-Port6543, Username-Formatpostgres.<POOLER_TENANT_ID>. - UI-Texte werden Deutsch, Code-Identifier Englisch.
Verifikation
- 2026-06-09:
go work syncerfolgreich mit lokalemGOCACHE=.tmp/go-build. - 2026-06-09:
go test ./backend/... ./worker/... ./console-proxy/...erfolgreich; aktuell keine Testdateien vorhanden. - 2026-06-09:
go build ./backend/cmd/api ./worker/cmd/worker ./console-proxy/cmd/console-proxyerfolgreich. - 2026-06-09:
npm install --prefix frontenderfolgreich; 0 Vulnerabilities. - 2026-06-09:
npm run build --prefix frontenderfolgreich. - 2026-06-09:
make verifyerfolgreich. - 2026-06-09: Orbstack geprueft: Docker-Kontext
orbstack, EngineOrbStack, Architekturaarch64, Docker29.4.0. - 2026-06-09: Reduzierter Supabase-Compose-Versuch entfernt; lokale Container und Volumes per
docker compose down -v --remove-orphansgeloescht. - 2026-06-09: Offizielle Supabase-Self-Hosted-Docker-Dateien nach
deploy/supabase/kopiert;docker compose configerfolgreich. - 2026-06-09:
make devmit offiziellem Supabase-Stack erfolgreich; alle offiziellen Supabase-Container healthy. - 2026-06-09:
GET /auth/v1/admin/usersueber Kong mit Service-Role-Key erfolgreich: leere User-Liste statt Studio-Fehler. - 2026-06-10: CI-Workflow fuer Forgejo Actions angelegt; lokales
make verifyerfolgreich. - 2026-06-10: Gitleaks-Secret-Scan lokal mit
zricethezav/gitleaks:v8.28.0erfolgreich; keine Leaks gefunden. - 2026-06-10: Gemeinsamer Go-Config-/Logging-Layer angelegt; Tests fuer Config-Defaults und Validierung ergaenzt.
- 2026-06-10:
golang-migrate-Setup mit Baseline-Migration angelegt; lokaler Up/Down-Lauf gegen Supabase verifiziert. - 2026-06-10: Kern-Tabellen-Migration
0002_core_identityangelegt und lokal gegen Supabase verifiziert. - 2026-06-10: Projekte-und-Quotas-Migration
0003_projects_and_quotasangelegt und lokal gegen Supabase verifiziert.