# 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 ```text 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: ```text profiles/ fedora-workstation/ profile.json mint-desktop/ profile.json ``` --- # Backend-Konzept Jede Distribution besitzt ein eigenes Backend. Beispiel: ```text 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.