CreateBereitstellungsvorlageRequest bekommt scheme + extra_partitions (Mountpoint/Prozent/Dateisystem je Zusatzpartition), mit serverseitiger Validierung (Prozentsumme < 100, keine doppelten Mountpoints, nur ext4/btrfs). Bisher war "custom" laut Code-Kommentar nur per direkter DB-Pflege erreichbar - jetzt vollstaendig ueber das bestehende Admin- Formular (Organisationen -> Bereitstellungsvorlagen). fetch_templates() liefert partitioning jetzt mit aus, damit die Admin- Tabelle das gewaehlte Schema anzeigen kann. Migration 0046 dokumentiert die neue JSONB-Form im Spalten-Default und zieht bestehende Zeilen nach (Muster wie Migration 0026). Teil der E2E-Testrunde, siehe platform-docs/roadmap/ e2e-testrunde-lokale-adressierung.md Phase 3. Gegenstueck im Install- Backend (image_deploy_partition_custom() etc.) ist in tuxflotte-installer bereits umgesetzt. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DWKevK2QUK5tsGmqfSD6Yy
31 lines
1.6 KiB
PL/PgSQL
31 lines
1.6 KiB
PL/PgSQL
BEGIN;
|
|
|
|
-- Erweitert installation_directives.partitioning um scheme:"custom" (siehe
|
|
-- tuxflotte-installer Phase 3, image_deploy_partition_custom()): neben dem
|
|
-- bisherigen "single" kann jetzt eine Liste zusaetzlicher Partitionen
|
|
-- angegeben werden, z.B.
|
|
-- {"scheme": "custom", "root_filesystem": "ext4", "target_disk_rank": 1,
|
|
-- "extra_partitions": [{"mountpoint": "/home", "percent": 20, "filesystem": "ext4"},
|
|
-- {"mountpoint": "/var", "percent": 10, "filesystem": "btrfs"}]}
|
|
-- extra_partitions-Prozente sind Anteile der GESAMTEN Platte (nicht des
|
|
-- verbleibenden Rests nach Abzug der ESP), Summe muss < 100 bleiben (Rest
|
|
-- geht an root). filesystem aktuell nur ext4/btrfs (zfs/Fedora bewusst
|
|
-- nicht abgedeckt, siehe platform-docs/roadmap/
|
|
-- e2e-testrunde-lokale-adressierung.md Phase 3). Validiert wird sowohl im
|
|
-- Admin-Formular (kundenplattform/routers/admin_kunden.py) als auch
|
|
-- nochmal defensiv im Install-Backend (backend_validate() in
|
|
-- tuxflotte-installer/backends/*/backend.sh).
|
|
ALTER TABLE bereitstellungsvorlagen
|
|
ALTER COLUMN partitioning SET DEFAULT
|
|
'{"scheme": "single", "root_filesystem": "ext4", "target_disk_rank": 1, "extra_partitions": []}'::jsonb;
|
|
|
|
-- Bestehende Zeilen explizit nachziehen statt sich auf den Laufzeit-
|
|
-- Fallback "// []" im Backend zu verlassen - self-documenting statt
|
|
-- stillschweigend implizit (gleiches Muster wie Migration 0026 fuer
|
|
-- target_disk_rank).
|
|
UPDATE bereitstellungsvorlagen
|
|
SET partitioning = partitioning || '{"extra_partitions": []}'::jsonb
|
|
WHERE NOT (partitioning ? 'extra_partitions');
|
|
|
|
COMMIT;
|