platform-docs/architecture/07-runtime-layout.md

77 lines
1.9 KiB
Markdown

# Runtime Layout
## Laufzeitverzeichnis
Alle Installer-Module kommunizieren ausschließlich über:
/run/tuxflotte/
Jedes Modul besitzt genau ein eigenes Unterverzeichnis.
## Verzeichnisstruktur
/run/tuxflotte/
├── network/
├── hardware/
├── enrollment/
├── server/
├── provisioning/
├── assignment/
├── installation/
├── runtime/
├── backend/
└── logs/
## Eigentümer der Verzeichnisse
network/
Besitzer: 05_network.sh
hardware/
Besitzer: 10_hardware.sh
enrollment/
Besitzer: 12_enrollment_auth.sh
server/
Besitzer: 15_server_handshake.sh
provisioning/
Besitzer: 17_device_status.sh
assignment/
Besitzer: 20_profile_selection.sh
installation/
Besitzer: 25_installation_confirm.sh
runtime/
Besitzer: Runtime-Builder
backend/
Besitzer: Backend-Orchestrator
logs/
Besitzer: zentraler Installer-Orchestrator
## Lese- und Schreibregeln
Ein Modul darf ausschließlich in sein eigenes Verzeichnis schreiben.
Andere Modulverzeichnisse dürfen nur gelesen werden, wenn dies für den definierten Ablauf erforderlich ist.
Beispiele:
- 10_hardware.sh schreibt nur nach /run/tuxflotte/hardware/
- 12_enrollment_auth.sh schreibt nur nach /run/tuxflotte/enrollment/
- 15_server_handshake.sh liest aus /run/tuxflotte/network/, /run/tuxflotte/hardware/ und /run/tuxflotte/enrollment/
- 17_device_status.sh liest aus /run/tuxflotte/server/ und schreibt nach /run/tuxflotte/provisioning/
- 20_profile_selection.sh liest aus /run/tuxflotte/server/ und schreibt nach /run/tuxflotte/assignment/
- 25_installation_confirm.sh liest aus /run/tuxflotte/assignment/ und schreibt nach /run/tuxflotte/installation/
- Der Runtime-Builder liest aus /run/tuxflotte/server/
- Der Backend-Orchestrator liest aus /run/tuxflotte/runtime/
Direkte Funktionsaufrufe zwischen Modulen sind nicht vorgesehen.
Die Kommunikation erfolgt ausschließlich über Dateien im Runtime-Verzeichnis.