Kapitel 3 von 5

Bootstrap

Verbindlicher, reproduzierbarer Lebenszyklus für die Erstinitialisierung aller zukünftigen ORLENE Platform Instances nach erfolgreicher Linux-Grundinstallation.

Zweck

Der Bootstrap beschreibt den vollständigen Erstinitialisierungsprozess einer ORLENE Platform Instance.

Zweck

Er stellt sicher, dass jede zukünftige Platform Instance nach denselben Regeln eingerichtet wird.

Zweck

Bootstrap ersetzt keine Betriebssysteminstallation.

Zweck

Bootstrap beginnt nach einer erfolgreichen Linux-Grundinstallation.

Zweck

Der Bootstrap ist die erste Handlung einer neuen ORLENE Platform Instance.

Zweck

Er verbindet eine frisch installierte Infrastruktur mit den Grundsätzen der ORLENE Platform und macht sie zu einem Bestandteil des Gesamtsystems.

Grundsatz

Eine ORLENE Platform Instance wird nicht manuell eingerichtet.

Grundsatz

Sie richtet sich anhand des Bootstrap-Prozesses selbst ein.

Grundsatz

Damit wird jede Platform Instance reproduzierbar.

Voraussetzungen

Vor Bootstrap müssen vorhanden sein:

Voraussetzungen

- Linux installiert - SSH-Zugang - Internetzugang - /opt/orlene vorhanden - Administratorzugriff

Voraussetzungen

Bootstrap installiert kein Betriebssystem.

Bootstrap-Version

Bootstrap besitzt eine eigene Version.

Bootstrap-Version

Mindestens dokumentiert werden:

Bootstrap-Version

- Bootstrap-Version - Platform-Version - Erstellungsdatum

Bootstrap-Version

Dadurch kann später nachvollzogen werden, mit welcher Bootstrap-Version eine Platform Instance eingerichtet wurde.

Bootstrap-ID

Jede Bootstrap-Ausführung erhält eine eindeutige Bootstrap-ID.

Bootstrap-ID

Beispiel:

Bootstrap-ID

`BOOT-20260727-0001`

Bootstrap-ID

Die Bootstrap-ID dient der Nachvollziehbarkeit.

Bootstrap-ID

Sie wird gespeichert:

Bootstrap-ID

- im Bootstrap Report - im Platform Register - im Audit - im Lebenslauf

Entscheidungsprinzip

Vor jeder Aktion prüft Bootstrap den aktuellen Zustand. Bootstrap arbeitet niemals blind. Jede Aktion basiert auf einer vorherigen Prüfung.

Entscheidungsprinzip

Jede Phase besitzt mindestens folgende Entscheidungslogik:

Entscheidungsprinzip

```text Prüfen ↓ Bereits vorhanden? ↓ Ja ↓ Validieren ↓ gültig? ↓ Ja ↓ nächste Phase ↓ Nein ↓ Aktualisieren oder korrigieren ↓ Dokumentieren ↓ Weiter ```

Entscheidungsprinzip

Falls eine Komponente vollständig fehlt:

Entscheidungsprinzip

```text Prüfen ↓ Nicht vorhanden ↓ Installieren ↓ Verifizieren ↓ Dokumentieren ↓ Weiter ```

Lebenszyklus

```text Neue Platform Instance ↓ Bootstrap starten ↓ System analysieren ↓ Platform Register aktualisieren ↓ Grundstruktur prüfen ↓ Benutzer einrichten ↓ Grundsystem absichern ↓ Docker ↓ PostgreSQL ↓ Platform-Dienste ↓ Dokumentation ↓ Verifizieren ↓ Platform Ready ```

Technologische Unabhängigkeit

Die Architektur beschreibt Fähigkeiten, nicht konkrete Programme.

Technologische Unabhängigkeit

Beispiele:

Technologische Unabhängigkeit

- Containerverwaltung statt einer Festlegung auf Docker - Relationale Datenhaltung statt einer Festlegung auf PostgreSQL - HTTP- und Reverse-Proxy-Dienst statt einer Festlegung auf Nginx

Technologische Unabhängigkeit

Docker, PostgreSQL und Nginx bleiben mögliche Technologiebeispiele und sind keine Architekturvorgabe. Bootstrap entscheidet anhand der jeweils gültigen Plattformvorgaben, welche konkrete Technologie verwendet wird. Dadurch bleibt die Architektur langfristig unabhängig von einzelnen Produkten.

Phase A

Systemanalyse

Phase A

Bootstrap dokumentiert:

Phase A

Hostname

Phase A

Betriebssystem

Phase A

Kernel

Phase A

CPU

Phase A

RAM

Phase A

Speicher

Phase A

Netzwerk

Phase A

Zeitzone

Phase A

Virtualisierung

Phase A

Linux-Version

Phase A

Alle Daten werden dokumentiert.

Phase B

Platform Register

Phase B

Bootstrap erzeugt oder aktualisiert automatisch den Eintrag einer Platform Instance mit:

Phase B

- Hostname - Standort - Rolle - Platform-Version - Bootstrap-Version - Bootstrap-ID - Systemstatus - Platform Ready - Erstellt - letzter Bootstrap - letztes Update

Phase B

Bootstrap aktualisiert diese Informationen automatisch.

Phase C

Verzeichnisstruktur

Phase C

Bootstrap prüft:

Phase C

/opt/orlene

Phase C

platform

Phase C

documentation

Phase C

products

Phase C

downloads

Phase C

releases

Phase C

backups

Phase C

logs

Phase C

scripts

Phase C

Fehlende Verzeichnisse werden erzeugt.

Phase C

Vorhandene bleiben erhalten.

Phase D

Benutzer

Phase D

Bootstrap legt an:

Phase D

orlene-admin

Phase D

SSH-Schlüssel werden übernommen.

Phase D

Root bleibt zunächst aktiv.

Phase D

Spätere Härtung erfolgt kontrolliert.

Phase E

Grundsystem

Phase E

Bootstrap:

Phase E

führt Updates durch

Phase E

prüft Zeitzone

Phase E

prüft Locale

Phase E

prüft Paketquellen

Phase E

prüft Uhrzeit

Phase E

prüft Speicher

Phase E

prüft Netzwerk

Phase E

Dokumentiert Ergebnisse.

Phase F

Docker

Phase F

Falls Docker fehlt:

Phase F

installieren

Phase F

Version dokumentieren

Phase F

Installation testen

Phase F

Dokumentieren

Phase G

PostgreSQL

Phase G

Falls PostgreSQL fehlt:

Phase G

installieren

Phase G

Version dokumentieren

Phase G

erste Platform-Datenbank vorbereiten

Phase H

Platform Services

Phase H

Bootstrap bereitet vor:

Phase H

Documentation Space

Phase H

Build

Phase H

Release

Phase H

Downloads

Phase H

weitere zukünftige Platform Services

Phase H

Noch keine ORLENE-Produkte installieren.

Phase I

Bootstrap-Bericht

Phase I

Nach Abschluss erzeugt Bootstrap automatisch einen Bootstrap Report mit:

Phase I

- Bootstrap-ID - Bootstrap-Version - Platform-Version - Startzeit - Endzeit - Gesamtdauer - Hostname - Platform Instance - installierte Komponenten - Prüfergebnisse - Warnings - Recovery durchgeführt - Rollback durchgeführt - Platform Ready: Ja / Nein - Entscheidungen je Phase: - Prüfung - Ergebnis - Aktion - Begründung

Phase J

Recovery

Phase J

Falls Bootstrap unterbrochen wurde:

Phase J

Bootstrap erkennt den vorhandenen Zustand.

Phase J

Bootstrap beginnt nicht erneut von vorne.

Phase J

Bootstrap setzt die Initialisierung kontrolliert fort.

Phase J

Alle Recovery-Schritte werden dokumentiert.

Rollback

Falls während Bootstrap ein kritischer Fehler entsteht:

Rollback

```text Bootstrap ↓ Fehler erkennen ↓ Rollback vorbereiten ↓ bereits ausgeführte Schritte dokumentieren ↓ System in sicheren Zustand bringen ↓ Audit erzeugen ↓ Administratorentscheidung abwarten ```

Rollback

Bootstrap darf niemals halb eingerichtete Platform Instanzen als erfolgreich markieren.

Kontrolliertes Abbruchrecht

Bootstrap besitzt jederzeit das Recht, die Initialisierung kontrolliert abzubrechen.

Kontrolliertes Abbruchrecht

Ein Abbruch erfolgt insbesondere, wenn:

Kontrolliertes Abbruchrecht

- Integrität nicht gewährleistet werden kann - Daten beschädigt würden - Voraussetzungen fehlen - eine Verifikation fehlschlägt - Sicherheitsanforderungen verletzt werden

Kontrolliertes Abbruchrecht

Bei einem Abbruch muss Bootstrap:

Kontrolliertes Abbruchrecht

- den Status speichern - ein Audit-Ereignis erzeugen - den Bootstrap Report ergänzen - das Platform Register aktualisieren - den Administrator informieren

Kontrolliertes Abbruchrecht

Keine Platform Instance darf nach einem Abbruch fälschlicherweise den Zustand `Platform Ready` erhalten.

Bootstrap-Zustände

Der offizielle Zustandsautomat umfasst:

Bootstrap-Zustände

```text Pending Running Recovery Rollback Failed Completed Platform Ready ```

Bootstrap-Zustände

Bootstrap darf jederzeit eindeutig angeben, in welchem Zustand sich eine Platform Instance befindet.

Platform Ready

`Platform Ready` ist nicht lediglich ein Status, sondern die verbindliche Bestätigung der Betriebsbereitschaft.

Platform Ready

Eine Platform Instance erhält diesen Zustand ausschließlich, wenn:

Platform Ready

- alle Pflichtphasen erfolgreich abgeschlossen wurden - alle Verifikationen erfolgreich waren - keine kritischen Fehler offen sind - kein Recovery notwendig ist - kein Rollback aktiv ist

Platform Ready

Erst danach gilt eine Platform Instance offiziell als betriebsbereit. Sobald eine dieser Bedingungen nicht erfüllt ist, darf Bootstrap `Platform Ready` nicht vergeben.

Architekturgrundsätze

1. Bootstrap richtet keine Produkte ein.

Architekturgrundsätze

Bootstrap richtet ausschließlich Platform Instanzen ein.

Architekturgrundsätze

2. Bootstrap verändert keine vorhandenen Daten ohne Sicherung.

Architekturgrundsätze

3. Bootstrap dokumentiert jede Änderung.

Architekturgrundsätze

4. Bootstrap erzeugt Audit-Ereignisse.

Architekturgrundsätze

5. Bootstrap aktualisiert das Platform Register.

Architekturgrundsätze

6. Bootstrap muss beliebig oft ausführbar sein.

Architekturgrundsätze

7. Bootstrap erkennt bereits eingerichtete Komponenten.

Architekturgrundsätze

8. Bootstrap installiert nur fehlende Komponenten.

Architekturgrundsätze

9. Bootstrap überschreibt niemals ungefragt bestehende Konfigurationen.

Architekturgrundsätze

10. Jede Platform Instance besitzt denselben Bootstrap-Prozess.

Architekturgrundsätze

11. Eine Platform Instance gilt erst dann als Bestandteil der ORLENE Platform, wenn sie den Bootstrap erfolgreich abgeschlossen hat und den Zustand 'Platform Ready' erreicht.

September-Ziel

Für September umfasst Bootstrap mindestens:

September-Ziel

Systemanalyse

September-Ziel

Platform Register

September-Ziel

Verzeichnisstruktur

September-Ziel

orlene-admin

September-Ziel

Docker

September-Ziel

PostgreSQL

September-Ziel

Bootstrap Report

September-Ziel

Weitere Funktionen werden später ergänzt.