Configurare
Configurația publică self-hosted este fișierul din repo
cto-gui/docker-compose.self-hosted.yml plus setările citite de
cto-gui-libvirt-backend. Această pagină documentează această suprafață de
evaluare. Nu inventează un contract generic de mediu Enterprise.
Contract Compose
| Setare | Valoare în repo | Scop |
|---|---|---|
SELF_HOSTED | true | Selectarea modului local-console și dezactivarea rutelor dependente de cloud |
KVM_URI | qemu:///system | Conectare la daemonul libvirt al sistemului gazdă |
TEST_STORAGE_DIR | /app/data/tests | Păstrarea stării testelor, lock-urilor și jurnalelor cleanup în cto-data |
SOURCE_ISO_DIR | Cale source-ISO pe gazdă | Rezolvarea artefactelor sursă read-only la aceeași cale absolută vizibilă pentru libvirt pe gazdă |
SOURCE_GOLDEN_IMAGE_DIR | Cale promoted-image pe gazdă | Rezolvarea intrărilor QCOW2 instalate immutable la aceeași cale absolută vizibilă pentru libvirt pe gazdă |
TRUST_PROXY_HEADERS | true în fișierul Compose | Permiterea informațiilor despre client din proxy conform trusted-proxy rules ale backendului |
Backendul trimite implicit uploadurile ISO către /var/lib/libvirt/images și
limitează uploadurile la 10 GB, dacă setarea backendului nu este schimbată
deliberat.
Suprascrieri ale căilor pe gazdă
Două variabile de mediu shell influențează bind mount-urile 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ți mai întâi aceste directoare și setați permisiunile. Calea din container rămâne identică cu calea de pe gazdă, deoarece fișierele de imagine pentru QEMU sunt deschise de libvirt pe gazdă, nu de container. O cale care există doar în interiorul containerului va eșua la lansarea oaspetelui.
Date persistente și nepersistente
| Locație | Proprietate și ciclu de viață |
|---|---|
/var/lib/libvirt/images | ISO-uri încărcate, discuri oaspeți și overlay-uri gestionate de gazdă |
| Director source ISO | Gestionat de operator, montat read-only |
| Director golden-image | Intrări immutable promovate de operator, montate read-only |
Named volume cto-data | Stare backend, inclusiv înregistrări de teste și jurnale cleanup |
| Sistem de fișiere al containerului în afara mount-urilor | De unică folosință; nu vă bazați pe el pentru recuperare |
Faceți backup sau snapshot doar după ce identificați ce resurse trebuie păstrate. Fișierul Compose nu programează backupuri.
Expunere și setări proxy
Frontend-ul mapează portul 80 al gazdei. TRUST_PROXY_HEADERS nu oferă TLS sau
autentificare; schimbă doar modul în care backendul acceptă metadatele de
conexiune redirecționate din intervale proxy explicit de încredere. Dacă adăugați
un reverse proxy, configurați îngust calea sa de rețea și trusted proxies și
verificați că antetele de forwarding falsificate sunt respinse de la peeri
neîncredere.
Nu expuneți consola de evaluare direct pe internetul public. Identitatea de producție, TLS, secrets și authorization design sunt o decizie separată de implementare.
Validați fiecare modificare
După schimbarea căilor sau setărilor:
- recreați containerul afectat;
- verificați
self_hosted: trueprin mode endpoint; - încărcați și lansați un ISO de unică folosință;
- opriți și ștergeți oaspetele;
- reporniți stack-ul și confirmați că starea cleanup și inventarul au supraviețuit.