diff --git a/adr/0004-kiosk-ui-epiphany.md b/adr/0004-kiosk-ui-epiphany.md new file mode 100644 index 0000000..76e74a7 --- /dev/null +++ b/adr/0004-kiosk-ui-epiphany.md @@ -0,0 +1,36 @@ +# 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.