Configurazione
La configurazione self-hosted pubblica è il
cto-gui/docker-compose.self-hosted.yml nel repository più impostazioni lette
da cto-gui-libvirt-backend. Questa pagina documenta quella superficie valutazione.
Non inventa un contratto ambiente Enterprise generico.
Contratto Compose
| Impostazione | Valore nel repository | Scopo |
|---|---|---|
SELF_HOSTED | true | Seleziona modalità console locale e disabilita route dipendenti da cloud |
KVM_URI | qemu:///system | Connessione al daemon libvirt di sistema host |
TEST_STORAGE_DIR | /app/data/tests | Conserva stato test, lock e journal cleanup in cto-data |
SOURCE_ISO_DIR | Path ISO sorgente host | Risolve artefatti sorgente read-only allo stesso path assoluto visibile a libvirt host |
SOURCE_GOLDEN_IMAGE_DIR | Path immagini promote host | Risolve input QCOW2 installati immutabili allo stesso path assoluto visibile a libvirt host |
TRUST_PROXY_HEADERS | true nel file Compose | Consente informazioni client derivate da proxy soggette alle regole trusted-proxy del backend |
Il backend default anche upload ISO su /var/lib/libvirt/images e limita upload
a 10 GB salvo modifica deliberata dell’impostazione backend.
Override path host
Due variabili ambiente shell influenzano i bind mount Compose:
export SOURCE_ISO_HOST_DIR=/srv/openfactory/source-isos
export SOURCE_GOLDEN_IMAGE_HOST_DIR=/srv/openfactory/golden-images
docker compose -f docker-compose.self-hosted.yml up --build -dCrea e permissiona quelle directory prima. Il path container resta identico al path host perché libvirt host, non il container, apre file immagine per QEMU. Un path che esiste solo dentro il container fallirà all’avvio guest.
Dati persistenti e non persistenti
| Posizione | Ownership e ciclo di vita |
|---|---|
/var/lib/libvirt/images | ISO caricati, dischi guest e overlay gestiti host |
| Directory ISO sorgente | Gestita operatore, montata read-only |
| Directory golden-image | Input immutabili promote operatore, montati read-only |
Volume nominato cto-data | Stato backend inclusi record test e journal cleanup |
| Filesystem container fuori mount | Disposable; non affidarti per recovery |
Backup o snapshot solo dopo aver identificato quali risorse devono essere conservate. Il file Compose non schedula backup.
Esposizione e impostazioni proxy
Il frontend mappa porta 80 host. TRUST_PROXY_HEADERS non fornisce TLS o
autenticazione; cambia solo come il backend accetta metadati connessione inoltrati
da range proxy esplicitamente fidati. Se aggiungi un reverse proxy, configura
percorso rete e proxy fidati in modo stretto e verifica che header forwarding
spoofati siano rifiutati da peer non fidati.
Non mettere la console valutazione direttamente su internet pubblico. Identità produzione, TLS, segreti e design autorizzazione sono una decisione deploy separata.
Valida ogni modifica
Dopo aver cambiato path o impostazioni:
- ricrea il container interessato;
- verifica
self_hosted: truetramite endpoint mode; - carica e avvia un ISO usa e getta;
- ferma ed elimina il guest;
- riavvia lo stack e conferma che stato cleanup e inventario sopravvivano.