Files
proxui/TODO.md
T
2026-06-10 15:04:52 +02:00

4.8 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.example angelegt
    • 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
  • E0-T02: Lokale Dev-Umgebung mit offizieller Supabase-Self-Hosted-Konfiguration und Redis
    • Makefile mit dev, migrate, test, lint, build, frontend-build, verify angelegt
    • 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 main und Pull Requests angelegt
    • Go- und Frontend-Verifikation ueber make verify eingebunden
    • Gitleaks-Secret-Scan mit enger Allowlist fuer offizielle Supabase-Beispieldateien eingebunden
  • 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

Naechste Aufgaben

  • E2-T01: Migrations-Setup mit golang-migrate
    • Versioniertes SQL-Namensschema unter migrations/ angelegt
    • make migrate, make migrate-down und make migrate-version verdrahtet
    • Migrationen laufen lokal per migrate-Binary oder Docker-Image migrate/migrate:v4.18.3
    • DB-URL wird aus .env, deploy/supabase/.env oder MIGRATE_DATABASE_URL abgeleitet

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-Port 6543, Username-Format postgres.<POOLER_TENANT_ID>.
  • UI-Texte werden Deutsch, Code-Identifier Englisch.

Verifikation

  • 2026-06-09: go work sync erfolgreich mit lokalem GOCACHE=.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-proxy erfolgreich.
  • 2026-06-09: npm install --prefix frontend erfolgreich; 0 Vulnerabilities.
  • 2026-06-09: npm run build --prefix frontend erfolgreich.
  • 2026-06-09: make verify erfolgreich.
  • 2026-06-09: Orbstack geprueft: Docker-Kontext orbstack, Engine OrbStack, Architektur aarch64, Docker 29.4.0.
  • 2026-06-09: Reduzierter Supabase-Compose-Versuch entfernt; lokale Container und Volumes per docker compose down -v --remove-orphans geloescht.
  • 2026-06-09: Offizielle Supabase-Self-Hosted-Docker-Dateien nach deploy/supabase/ kopiert; docker compose config erfolgreich.
  • 2026-06-09: make dev mit offiziellem Supabase-Stack erfolgreich; alle offiziellen Supabase-Container healthy.
  • 2026-06-09: GET /auth/v1/admin/users ueber Kong mit Service-Role-Key erfolgreich: leere User-Liste statt Studio-Fehler.
  • 2026-06-10: CI-Workflow fuer Forgejo Actions angelegt; lokales make verify erfolgreich.
  • 2026-06-10: Gitleaks-Secret-Scan lokal mit zricethezav/gitleaks:v8.28.0 erfolgreich; 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.