feat: add cluster token encryption

This commit is contained in:
Philipp
2026-06-11 08:39:30 +02:00
parent 452d4c5f71
commit 82600bdf82
10 changed files with 542 additions and 0 deletions
+12
View File
@@ -101,6 +101,16 @@ Arbeitsliste auf Basis von `proxmox-console-entwicklungsplan.md`. Die Entwurfsda
- [x] Supabase Auth Login/Registrierung angebunden
- [x] Backend-`/me` Profil-Sync-Pruefung angebunden
- [x] App-Shell mit Platzhalter-Views fuer Projekte, VMs, SSH-Keys, Audit und Konsole angelegt
- [x] E3-T01: Krypto-Layer fuer Envelope-Encryption
- [x] AES-256-GCM mit 32-Byte-Master-Key angelegt
- [x] Master-Key aus `MASTER_KEY_BASE64` konfiguriert
- [x] Ciphertext-Format mit Version-Byte und vorangestellter Nonce angelegt
- [x] Roundtrip, falscher Key, falsche Version und fehlender Key per Unit-Test abgedeckt
- [x] E3-T02: Cluster-Repository
- [x] `GetCluster` laedt Cluster und entschluesselt das Token im Speicher
- [x] `UpsertCluster` verschluesselt Token-Secrets vor dem Speichern
- [x] SQL-Storage fuer `public.clusters` angelegt
- [x] Unit-Test stellt sicher, dass gespeicherte Tokens keinen Klartext enthalten
## MVP-Backlog
@@ -154,3 +164,5 @@ Arbeitsliste auf Basis von `proxmox-console-entwicklungsplan.md`. Die Entwurfsda
- 2026-06-10: Frontend-Prototyp mit Supabase Auth und Backend-`/me` Check erfolgreich gebaut.
- 2026-06-11: Membership-Resolver mit Middleware-Tests fuer erlaubte, fehlende und verbotene Tenant-Zugriffe angelegt.
- 2026-06-11: Autorisierungs-Middleware mit Tests fuer erlaubte, fehlende und verweigerte Permissions angelegt.
- 2026-06-11: AES-GCM-Krypto-Layer fuer Cluster-Tokens mit Master-Key-Validierung und Unit-Tests angelegt.
- 2026-06-11: Cluster-Repository mit verschluesseltem Token-Speicher und Entschluesselung beim Laden angelegt.