Skip to Content
Self HostingKonfiguracja

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

UstawienieWartość w repozytoriumCel
SELF_HOSTEDtrueWybór trybu local-console i wyłączenie tras zależnych od chmury
KVM_URIqemu:///systemPołączenie z daemonem libvirt systemu hosta
TEST_STORAGE_DIR/app/data/testsPrzechowywanie stanu testów, locków i dzienników cleanup w cto-data
SOURCE_ISO_DIRŚcieżka source-ISO na hościeRozwią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ścieRozwiązywanie niezmiennych zainstalowanych wejść QCOW2 pod tą samą ścieżką absolutną, którą widzi libvirt hosta
TRUST_PROXY_HEADERStrue w pliku ComposeZezwolenie 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 -d

Najpierw 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

LokalizacjaWłasność i cykl życia
/var/lib/libvirt/imagesUploadowane ISO, dyski gości i overlaye zarządzane przez hosta
Katalog source ISOZarządzany przez operatora, montowany read-only
Katalog golden-imageNiezmienne wejścia promowane przez operatora, montowane read-only
Named volume cto-dataStan backendu, w tym rekordy testów i dzienniki cleanup
System plików kontenera poza mountamiJednorazowy; 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ń:

  1. utwórz ponownie dotknięty kontener;
  2. zweryfikuj self_hosted: true przez mode endpoint;
  3. prześlij i uruchom jednorazowe ISO;
  4. zatrzymaj i usuń gościa;
  5. zrestartuj stack i potwierdź, że stan cleanup i inventarz przetrwały.