Konfiguracja
Publiczna konfiguracja self-hosted to zatwierdzony w repozytorium plik
cto-gui/docker-compose.self-hosted.yml oraz ustawienia odczytywane przez
cto-gui-libvirt-backend. Ta strona opisuje ten powierzchnię ewaluacji. Nie
definiuje ogólnego kontraktu środowiska Enterprise.
Kontrakt Compose
| Ustawienie | Wartość w repozytorium | Cel |
|---|---|---|
SELF_HOSTED | true | Wybór trybu local-console i wyłączenie tras zależnych od chmury |
KVM_URI | qemu:///system | Połączenie z daemonem libvirt systemu hosta |
TEST_STORAGE_DIR | /app/data/tests | Przechowywanie stanu testów, locków i dzienników cleanup w cto-data |
SOURCE_ISO_DIR | Ścieżka source-ISO na hoście | Rozwiązywanie artefaktów źródłowych read-only pod tą samą ścieżką absolutną, którą widzi libvirt hosta |
SOURCE_GOLDEN_IMAGE_DIR | Ścieżka promoted-image na hoście | Rozwiązywanie niezmiennych zainstalowanych wejść QCOW2 pod tą samą ścieżką absolutną, którą widzi libvirt hosta |
TRUST_PROXY_HEADERS | true w pliku Compose | Zezwolenie na informacje klienta z proxy zgodnie z trusted-proxy rules backendu |
Backend domyślnie kieruje też uploady ISO do /var/lib/libvirt/images i
ogranicza uploady do 10 GB, chyba że ustawienie backendu zostanie świadomie
zmienione.
Nadpisania ścieżek hosta
Dwie zmienne środowiskowe powłoki wpływają na bind mounty 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 -dNajpierw utwórz te katalogi i ustaw uprawnienia. Ścieżka w kontenerze jest identyczna ze ścieżką na hoście, ponieważ pliki obrazów dla QEMU otwiera libvirt hosta, a nie kontener. Ścieżka istniejąca tylko w kontenerze zawiedzie przy uruchomieniu gościa.
Dane trwałe i nietrwałe
| Lokalizacja | Własność i cykl życia |
|---|---|
/var/lib/libvirt/images | Uploadowane ISO, dyski gości i overlaye zarządzane przez hosta |
| Katalog source ISO | Zarządzany przez operatora, montowany read-only |
| Katalog golden-image | Niezmienne wejścia promowane przez operatora, montowane read-only |
Named volume cto-data | Stan backendu, w tym rekordy testów i dzienniki cleanup |
| System plików kontenera poza mountami | Jednorazowy; nie polegaj na nim przy odzyskiwaniu |
Backup lub snapshot dopiero po ustaleniu, które zasoby muszą zostać zachowane. Plik Compose nie planuje backupów.
Ekspozycja i ustawienia proxy
Frontend mapuje port 80 hosta. TRUST_PROXY_HEADERS nie zapewnia TLS ani
uwierzytelniania; zmienia tylko sposób, w jaki backend akceptuje przekazane
metadane połączenia z jawnie zaufanych zakresów proxy. Jeśli dodasz reverse
proxy, skonfiguruj wąsko jego ścieżkę sieciową i trusted proxies oraz sprawdź,
że sfałszowane nagłówki forwarding są odrzucane od niezaufanych peerów.
Nie wystawiaj konsoli ewaluacyjnej bezpośrednio w publicznym internecie. Tożsamość produkcyjna, TLS, secrets i authorization design to osobna decyzja deploymentu.
Waliduj każdą zmianę
Po zmianie ścieżek lub ustawień:
- utwórz ponownie dotknięty kontener;
- zweryfikuj
self_hosted: trueprzez mode endpoint; - prześlij i uruchom jednorazowe ISO;
- zatrzymaj i usuń gościa;
- zrestartuj stack i potwierdź, że stan cleanup i inventarz przetrwały.