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

1.9 KiB

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.