Configuration
La configuration auto-hébergée publique est le cto-gui/docker-compose.self-hosted.yml versionné plus les paramètres lus par cto-gui-libvirt-backend. Cette page documente cette surface d’évaluation. Elle n’invente pas un contrat d’environnement Enterprise générique.
Contrat Compose
| Paramètre | Valeur versionnée | Rôle |
|---|---|---|
SELF_HOSTED | true | Sélectionne le mode console locale et désactive les routes dépendantes du cloud |
KVM_URI | qemu:///system | Connexion au démon libvirt système de l’hôte |
TEST_STORAGE_DIR | /app/data/tests | Conserve état de test, verrous et journaux de nettoyage dans cto-data |
SOURCE_ISO_DIR | Chemin ISO source hôte | Résout artefacts source en lecture seule au même chemin absolu visible par libvirt hôte |
SOURCE_GOLDEN_IMAGE_DIR | Chemin images promues hôte | Résout entrées QCOW2 installées immuables au même chemin absolu visible par libvirt hôte |
TRUST_PROXY_HEADERS | true dans le fichier Compose | Permet informations client dérivées du proxy selon les règles proxy de confiance du backend |
Le backend place aussi par défaut les téléversements ISO dans /var/lib/libvirt/images et limite les téléversements à 10 Go sauf changement délibéré du paramètre backend.
Overrides de chemins hôte
Deux variables d’environnement shell affectent les bind mounts 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 -dCréez et permissionnez ces répertoires d’abord. Le chemin conteneur est identique au chemin hôte car libvirt hôte, pas le conteneur, ouvre les fichiers image pour QEMU. Un chemin qui n’existe que dans le conteneur échouera au lancement invité.
Données persistantes et non persistantes
| Emplacement | Propriété et cycle de vie |
|---|---|
/var/lib/libvirt/images | ISO téléversées, disques invités et superpositions gérés par l’hôte |
| Répertoire ISO source | Géré opérateur, monté lecture seule |
| Répertoire golden-image | Entrées immuables promues opérateur, monté lecture seule |
Volume nommé cto-data | État backend incluant enregistrements de test et journaux de nettoyage |
| Filesystem conteneur hors mounts | Jetable ; ne comptez pas dessus pour reprise |
Sauvegardez ou instantanisez seulement après avoir identifié les ressources à conserver. Le fichier Compose ne planifie pas de sauvegardes.
Exposition et paramètres proxy
Le frontend mappe le port 80 hôte. TRUST_PROXY_HEADERS ne fournit ni TLS ni authentification ; il change seulement comment le backend accepte les métadonnées de connexion transférées depuis des plages proxy explicitement de confiance. Si vous ajoutez un reverse proxy, configurez son chemin réseau et proxies de confiance étroitement et vérifiez que les en-têtes de forwarding falsifiés sont rejetés depuis pairs non fiables.
Ne placez pas la console d’évaluation directement sur internet public. Identité, TLS, secrets et conception d’autorisation de production sont une décision de déploiement séparée.
Valider chaque changement
Après changement de chemins ou paramètres :
- recréez le conteneur affecté ;
- vérifiez
self_hosted: truevia le point mode ; - téléversez et lancez une ISO jetable ;
- arrêtez et supprimez l’invité ;
- redémarrez la stack et confirmez que l’état de nettoyage et l’inventaire survivent.