Thomas Stallinger d496adad09 installer: Installations-Meilensteine/Fehlschlaege an anode melden
Neue scripts/lib/reporting.sh (tuxflotte_report_installation_event())
meldet best-effort an POST /api/v1/devices/{device_id}/installation-events
(device_fingerprint-authentifiziert, siehe provisioning-server-Commit
51fbf0f) - ein Fehlschlag beim Melden selbst darf die eigentliche
Installation nie aufhalten.

Vier Meldepunkte:
- "activation_confirmed" direkt nach erfolgreichem Provisioning-Handshake
  (15_server_handshake.sh)
- "installation_started" direkt nach bestaetigtem Commit Point
  (installer.sh)
- "installation_completed" ganz am Ende von backend_postinstall(), vor dem
  finalen Reboot (backend.sh)
- "installation_failed" zentral in boot-autostart.sh (einziger Ort, an dem
  der echte Exit-Code von installer.sh bekannt ist, ohne jedes Modul
  einzeln instrumentieren zu muessen) - Detail = letzte 40 Logzeilen,
  enthalten bereits die eigentliche [FEHLER]-Meldung des gescheiterten
  Moduls. Nur bei STATUS != 0, nicht bei einem kontrollierten Abbruch an
  einem Commit-Gate (STATUS = 0).

Nutzer-Wunsch (01.09.2026, nach dem ersten echten Hardware-Test):
Fehlschlaege waehrend der Installation sichtbar machen, ohne am
Bildschirm mitschreiben zu muessen ("das ist kein Flow... fuer die
Weiterentwicklung eines irgendwann fehlerfreien Betriebs sind fuer uns
diese Meldungen Gold wert").

Live in QEMU end-to-end verifiziert: alle drei Erfolgs-Meilensteine
korrekt in device_installation_events angekommen (activation_confirmed,
installation_started, installation_completed), vollstaendiger Durchlauf
bis zum echten Mint-Cinnamon-Login-Bildschirm nach Reboot bestaetigt.
2026-09-01 16:52:15 +02:00

Tuxflotte Installer

Dieses Repository erzeugt die Tuxflotte-Provisioning-ISO.

Die ISO dient als universelles Installationsmedium für Tuxflotte Provisioning.

Ziele:

  • automatischer Start der Installation
  • Unterstützung mehrerer Distributionen
  • einheitlicher Bootstrap
  • WLAN-Unterstützung
  • Rescue-Modus
  • lokaler Festplattenstart

Die eigentliche Provisionierung erfolgt über den Tuxflotte Provisioning Server.

Boot-Medium (Mint)

Das Mint-Boot-Medium ist ein eigenständiges, per Debian live-build gebautes Image (boot-medium/, siehe ADR-0025) - kein gepatchter Distributions-Installer mehr. Es enthält nur Tuxflottes eigenen, headless-tauglichen Code (Module scripts/modules/00-40, backends/mint-image/) und bootet direkt in einen systemd-Dienst, der installer.sh startet.

  • scripts/build_boot_medium.sh [--dev] baut das Basis-Image (boot-medium/live-image-amd64.hybrid.iso). --dev aktiviert einen SSH-Debug-Zugang (tuxflotte/test123); ohne --dev bleibt SSH deaktiviert (Produktiv-Default).
  • scripts/build_customer_iso.sh <source.iso> <output.iso> <activation_code> [wifi_ssid] [wifi_psk] [volid] personalisiert ein bereits gebautes Basis-Image für eine konkrete Kundenorganisation (Aktivierungscode + WLAN-Zugangsdaten).

Fedora nutzt weiterhin das ältere Kickstart/Anaconda-Muster (scripts/build.sh <source.iso> fedora) - noch nicht auf dasselbe Boot-Medium-Muster umgestellt.

Description
Installer
Readme 690 KiB
Languages
Shell 98.5%
Smarty 1.5%