4.2 KiB
Tuxflotte – Architektur v2
Vision
Tuxflotte ist eine distributionsunabhängige Provisionierungsplattform für Linux-Systeme.
Tuxflotte installiert keine Betriebssysteme selbst, sondern orchestriert den Installationsprozess, indem die nativen Installer der jeweiligen Distribution genutzt werden.
Dadurch bleibt Tuxflotte unabhängig von distributionsspezifischen Installationsdetails und profitiert von den offiziellen Installationsmechanismen.
Architekturprinzipien
1. Klare Verantwortlichkeiten
Provisioning-ISO
Verantwortlich für:
- Hardware erkennen
- Netzwerk initialisieren
- Provisioning-Server kontaktieren
- Profile laden
- Zielsystem auswählen
- Installationsparameter erzeugen
- nativen Installer starten
Nicht verantwortlich für:
- Partitionierung
- Dateisysteme
- Paketinstallation
- Bootloader-Konfiguration
Diese Aufgaben übernimmt der Installer der jeweiligen Distribution.
Distribution-Installer
Beispiele:
- Fedora → Anaconda (Kickstart)
- Linux Mint → abhängig von der verwendeten Installer-Technologie
- Debian → Debian Installer (Preseed)
- Ubuntu → Subiquity (Autoinstall)
Verantwortlich für:
- Partitionierung
- Dateisysteme
- Betriebssysteminstallation
- Bootloader
- Benutzeranlage
- Erstkonfiguration des Systems
Provisioning-Agent
Nach dem ersten Systemstart übernimmt der Agent:
- Registrierung am Provisioning-Server
- Inventarisierung
- Nachinstallation
- Konfigurationsmanagement
- Softwareverteilung
- Statusmeldungen
Provisioning-Server
Der Server verwaltet:
- Profile
- Geräte
- Installationsvorlagen
- Richtlinien
- Inventar
- Provisioning-Aufträge
Komponenten
Provisioning Server
│
▼
Provisioning-Profile
│
▼
Provisioning-ISO
│
▼
Distribution-Installer
│
▼
Installiertes System
│
▼
Provisioning-Agent
│
▼
Provisioning-Server
Installer-Workflow
Phase 1
Preflight
- Hardware prüfen
- RAM
- CPU
- Firmware
- Netzwerk
Phase 2
Inventarisierung
- Datenträger erkennen
- Netzwerkkarten
- Firmware
- Seriennummern
- Systeminformationen
Phase 3
Profil
- Benutzer wählt Profil
oder
- Profil wird automatisch vom Server geliefert
Phase 4
Backend
Passendes Backend wird geladen.
Beispiele:
- Fedora
- Mint
- Debian
- Ubuntu
Phase 5
Installationsparameter erzeugen
Beispiele:
- Kickstart
- Autoinstall
- Preseed
Phase 6
Nativen Installer starten
Ab diesem Zeitpunkt übernimmt die Distribution die eigentliche Installation.
Phase 7
Erster Start
Provisioning-Agent startet automatisch.
Profile
Jedes Profil beschreibt:
- Distribution
- Version
- Desktop
- Softwarepakete
- Benutzer
- Netzwerkeinstellungen
- Provisioning-Richtlinien
Beispiel:
profiles/
fedora-workstation/
profile.json
mint-desktop/
profile.json
Backend-Konzept
Jede Distribution besitzt ein eigenes Backend.
Beispiel:
profiles/
fedora-workstation/
profile.json
installer.sh
kickstart.tpl
mint-desktop/
profile.json
installer.sh
autoinstall.tpl
Der Kern von Tuxflotte kennt keine distributionsspezifischen Details.
Er lädt ausschließlich das gewählte Profil und übergibt die Kontrolle an das passende Backend.
Dadurch kann Tuxflotte jederzeit um weitere Distributionen erweitert werden, ohne den Kern ändern zu müssen.
Ziele
- distributionsunabhängig
- modular
- erweiterbar
- reproduzierbar
- automatisierbar
- servergesteuert
- Zero-Touch-fähig
- sowohl interaktiv als auch unbeaufsichtigt nutzbar
Grundsatz
Tuxflotte ist eine Provisionierungsplattform und kein eigener Linux-Installer.
Die Installation erfolgt grundsätzlich mit den offiziellen Installationsmechanismen der jeweiligen Linux-Distribution.