BEGIN; -- Phase 4 des Self-Service-ISO-Plans: Bautracking fuer personalisierte -- Kunden-ISOs (siehe tuxflotte-installer/scripts/build_customer_iso.sh). -- Der Bau selbst laeuft als Hintergrund-Thread im provisioning-server -- (siehe run_iso_build() in app.py) - diese Tabelle ist der Status- -- Speicher dafuer, den der Trigger-/Status-/Download-Endpoint gemeinsam -- nutzen. WLAN-Zugangsdaten werden bewusst NICHT hier gespeichert (nur -- transient waehrend des Baus verwendet, siehe app.py) - persistente, -- verschluesselte Ablage ist Sache der Kundenplattform (Phase 5). CREATE TABLE iso_builds ( id UUID PRIMARY KEY, organization_id UUID NOT NULL REFERENCES organizations(id) ON DELETE CASCADE, status TEXT NOT NULL DEFAULT 'pending' CHECK (status IN ('pending', 'running', 'completed', 'failed')), output_filename TEXT, error_message TEXT, created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, started_at TIMESTAMPTZ, finished_at TIMESTAMPTZ ); CREATE INDEX iso_builds_organization_id_idx ON iso_builds (organization_id); COMMIT;