platform-docs/adr/0003-live-provisioning-boot.md
Thomas Stallinger 20fefd5f07 docs: ADR-0003 nachziehen - ks.cfg-Endpunkt bleibt bewusst bestehen
Live gegen anode geprüft: GET /installers/fedora-workstation/ks.cfg ist
weiterhin erreichbar (200), Datei zuletzt am 04.08.2026 verändert -
lange nach der hier ursprünglich geplanten Entfernung. Grund: ADR-0009
hält fest, dass das Fedora-Backend im Code bleibt (nicht rückgebaut),
nur der Fokus verschob sich auf Mint. Endpunkt bleibt entsprechend
bestehen, für eine mögliche künftige Fedora-Wiederaufnahme.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 21:54:52 +02:00

4.8 KiB

ADR-0003: Live-ISO als Provisionierungsmedium mit Auto- und Interaktiv-Modus

Status: Beschlossen Datum: 18.07.2026

Kontext

Das bisherige Provisionierungsmedium ist eine gepatchte Fedora-DVD/Netinst-ISO. GRUB startet Anaconda dort direkt über einen fest verdrahteten Kernel-Parameter (inst.ks=https://.../ks.cfg), der auf eine statische Kickstart-Datei auf dem Provisioning-Server zeigt.

Das hat zwei Konsequenzen:

Der in 10-interactive-provisioning-flow.md (F-005) beschriebene und in scripts/installer.sh umgesetzte Ablauf (Netzwerk, Hardware, Aktivierung, Bereitstellungsvorlage-Auswahl, Runtime Blueprint, Backend) hat auf der aktuellen ISO keinen Einstiegspunkt. Anaconda startet, bevor installer.sh je ausgeführt wird.

Eine gebrandete, frei gestaltbare Oberfläche für Workspace-Auswahl und Provisioning-Server-Authentifizierung ist auf dieser Basis nur über Anaconda-eigene Erweiterungsmechanismen (Addons) erreichbar, die eng an Anacondas UI-Framework gebunden und aufwendig sind.

Gleichzeitig ist eine durchgängige interaktive Bestätigungspflicht für jede Installation bei Massenrollouts und Geräteersatz unpraktikabel.

Entscheidung

Tuxflotte wechselt die Grundlage der Provisionierungs-ISO von einer Fedora-DVD/Netinst-Basis auf ein echtes Live-Medium (z. B. Fedora Workstation Live, erkennbar an /LiveOS/squashfs.img).

scripts/installer.sh läuft als Anwendung innerhalb dieser Live-Sitzung. Der native Installer wird nicht mehr über einen boot-zeitlichen inst.ks=-Parameter gestartet, sondern erst am Ende des Ablaufs explizit durch backend_launch(), mit der von backend_generate_config() erzeugten Konfiguration.

Das Bootmenü bietet zwei Einträge, die dieselbe Live-Umgebung starten, sich aber in einem Kernel-Cmdline-Flag unterscheiden:

Ein Standardeintrag mit Countdown, der bei Nichtstun automatisch in den unbeaufsichtigten Ablauf führt.

Ein manuell auswählbarer zweiter Eintrag für den interaktiven, gebrandeten Ablauf.

Korrigiert (01.08.2026, siehe ADR-0009-Update vom selben Tag): Welcher der beiden Einträge bei Nichtstun (Countdown-Ablauf) automatisch ausgewählt wird, wurde hier zunächst falsch entschieden — nicht der unbeaufsichtigte Ablauf, sondern „von lokaler Festplatte booten" ist der Standard. Die destruktive, unbeaufsichtigte Installation erfordert eine aktive, bewusste Auswahl aus dem Menü, kein bloßes Verstreichenlassen eines Zeitfensters. Umgesetzt in architecture/13-live-provisioning-boot.md.

Der unbeaufsichtigte Ablauf ist ausschließlich für bereits registrierte Geräte zulässig, erkennbar an device.registration_status == "existing" in der Antwort von POST /api/v1/activate. Bei einem unbekannten Gerät (registration_status == "registered") bricht der unbeaufsichtigte Ablauf kontrolliert ab (Fail-Closed) und verweist auf den interaktiven Ablauf mit expliziter Geräteaufnahme-Bestätigung gemäß 11-device-enrollment.md.

Dass ein bereits registriertes Gerät ohne erneute interaktive Rückfrage automatisiert neu installiert werden kann, wird explizit Bestandteil der Bedingungen, denen bei der Geräteregistrierung zugestimmt wird.

Konsequenzen

scripts/build.sh und scripts/extract.sh benötigen künftig ein Live-ISO als Quelle statt einer DVD/Netinst-ISO. Die GRUB-Konfiguration erhält einen zweiten Menüeintrag sowie ein Kernel-Cmdline-Flag zur Moduswahl.

Die statische ks.cfg sowie ihr Server-Endpoint (GET /installers/fedora-workstation/ks.cfg) entfallen mit der Umstellung.

Korrigiert (12.08.2026, live gegen anode geprüft): Diese Ausbauabsicht wurde nie umgesetzt und gilt nicht mehr. Der Endpunkt existiert weiterhin, live erreichbar und aktiv genutzt — ADR-0009s spätere Kickstart-Untersuchung griff mehrfach direkt darauf zu, und die Datei wurde zuletzt am 04.08.2026 verändert, also lange nach dieser Entscheidung. Grund: ADR-0009 legt explizit fest, dass „das Fedora-Backend (backends/fedora/) bleibt im Code bestehen und ist nicht rückgebaut" — der Fokus verschob sich auf Mint, aber Fedora wurde nicht gestrichen. Der ks.cfg-Endpoint bleibt entsprechend bewusst erhalten, als Voraussetzung für eine mögliche künftige Wiederaufnahme des Fedora-Backends, nicht versehentlich stehengelassener Code.

WLAN-Zugangsdaten für die Live-Provisionierungsumgebung selbst müssen weiterhin im ISO-Build hinterlegt werden, da ohne Netzwerk kein Zugriff auf den Provisioning-Server möglich ist. WLAN-Zugangsdaten für das installierte Zielsystem gehören zum noch unspezifizierten Network Profile-Modell der Organization (09-data-model-v1.md).

Die Geräteregistrierung (11-device-enrollment.md) wird um den ausdrücklichen Hinweis ergänzt, dass registrierte Geräte automatisiert neu installiert werden können.

Details zum Ablauf: architecture/13-live-provisioning-boot.md.