platform-docs/adr/0004-kiosk-ui-epiphany.md

37 lines
2.4 KiB
Markdown

# ADR-0004: Web-Kiosk mit Epiphany statt Terminal- oder nativer GTK-Oberfläche
**Status:** Beschlossen
**Datum:** 20.07.2026
## Kontext
Der interaktive Ablauf (F-005, `10-interactive-provisioning-flow.md`) läuft aktuell als reines Terminal-Programm: `installer.sh` startet automatisch in einem `gnome-terminal` (siehe `13-live-provisioning-boot.md`) und fragt Eingaben über `read -p` ab.
Mit der Live-ISO (ADR-0003) steht jetzt eine vollwertige Desktop-Umgebung zur Verfügung, in der sich eine frei gestaltbare, gebrandete Oberfläche für Workspace-Auswahl und Provisioning-Server-Authentifizierung bauen lässt, statt eines reinen Text-Interfaces.
## Entscheidung
Die interaktive Oberfläche wird als lokale Web-Anwendung gebaut, angezeigt in einem Browser-Kiosk-Fenster, nicht als native GTK-Anwendung.
Als Browser wird Epiphany (GNOME Web) im Application-Mode (`--application-mode`) verwendet, nicht Firefox und nicht Chromium.
Begründung:
Epiphany ist auf dem verwendeten Live-Image (Fedora Cinnamon Live) bereits vorhanden, ebenso wie Firefox. Es sind keine zusätzlichen Pakete oder Downloads beim Boot nötig.
Epiphany ist WebKitGTK-basiert und startet spürbar schneller und ressourcenschonender als das Gecko-basierte Firefox.
Der Application-Mode liefert ein chromeloses Fenster ohne Adressleiste, Tabs oder Menüs — die Grundlage für einen Kiosk-artigen Auftritt ohne Fremdsoftware.
Chromium wurde geprüft und ist auf diesem Image nicht vorhanden; es hätte nachinstalliert werden müssen.
Die fachliche Logik der einzelnen Ablaufschritte (Netzwerk, Hardware, Aktivierung, Handshake, Bereitstellungsvorlage-Auflösung, Commit Point, Runtime Blueprint, Backend) bleibt in den bestehenden Bash-Modulen. Die Web-Oberfläche ist ausschließlich Präsentationsschicht.
## Konsequenzen
Der Autostart-Mechanismus aus `13-live-provisioning-boot.md` (Dracut-Hook, `/updates`-Payload) wechselt von „Terminal mit `installer.sh`" auf „Epiphany im Application-Mode mit einer lokalen Kiosk-Seite".
Wie die Web-Oberfläche mit den bestehenden Bash-Modulen kommuniziert (Zustand aus `/run/tuxflotte/*.json` lesen, Aktionen auslösen), ist noch nicht entschieden und wird beim tatsächlichen Bau festgelegt.
Der automatisierte Modus (`tuxflotte.mode=auto`) benötigt keine grafische Oberfläche, da er ohne Benutzereingabe abläuft. Die Kiosk-Oberfläche betrifft ausschließlich den interaktiven Modus.