Infrastruktur-Konfiguration

XOS bezieht die gesamte Infrastruktur-Konfiguration aus etcd. Es gibt keine xos.toml und keine infra.conf.xml mehr.

etcd als einzige Konfigurationsquelle

XOS benötigt beim Start nur den etcd-Endpoint:

./xos --etcd localhost:2379

Alle weiteren Parameter (IAM, Vault, XOSP, HTML-Store) werden aus etcd geladen. Fehlen erforderliche Keys, bricht XOS mit einer klaren Fehlermeldung ab.

etcd Keys

IAM (Keycloak)

Key Beschreibung
/xos/config/iam_issuer_url Keycloak Realm URL
/xos/config/iam_client_id OAuth Client ID
/xos/config/iam_scope OAuth Scopes

Vault / Secrets

Key Beschreibung
/xos/config/vault_url OpenBao / Vault URL

HTML-Store (MinIO / S3)

Key Beschreibung
/xos/config/html_type s3 oder fs
/xos/config/html_dir S3: Bucket-Name / FS: Pfad

XOSP Plugin-Server

Key Beschreibung
/xos/services/xosp/url XOSP URL (z.B. https://localhost:9100)
/xos/services/xosp/fp XOSP TLS Fingerprint (SHA256 hex)
/xos/services/xosp/backend Datenbank-Backend (memgraph, postgres)
/xos/services/xosp/dsn Primäre DSN (z.B. Bolt URI für Memgraph)
/xos/services/xosp/dsn_demo Weitere DSN (beliebig erweiterbar)

Keys manuell setzen

curl -X POST http://localhost:2379/v3/kv/put \
  -d "{\"key\":\"$(echo -n '/xos/services/xosp/url' | base64)\",
       \"value\":\"$(echo -n 'https://localhost:9100' | base64)\"}"

Im Demo-Stack übernimmt der Setup-Job (make app) alle Keys automatisch.

XOSP Fingerprint

XOSP generiert beim ersten Start ein Ed25519-Keypair und speichert den Fingerprint in Vault. Der Admin schreibt ihn einmalig in etcd:

make register

XOS nutzt dann Fingerprint-Pinning (kein CA, kein Ablaufdatum) für die TLS-Verbindung zu XOSP. Solange das Vault-Volume erhalten bleibt, bleibt der Fingerprint konstant — make register muss nur nach einem make reset erneut ausgeführt werden.

Watch

XOS beobachtet /xos/services/xosp/url und /xos/services/xosp/fp via etcd Watch. Ändert sich die URL oder der Fingerprint, verbindet sich XOS automatisch neu — ohne Neustart.


© 2026 Xium OS

This site uses Just the Docs, a documentation theme for Jekyll.