設定
パブリックセルフホスト構成は、チェックインされた cto-gui/docker-compose.self-hosted.yml に cto-gui-libvirt-backend によって読み取られた設定を加えたものです。このページでは、その評価面について説明します。一般的なエンタープライズ環境契約を作成するものではありません。
契約の作成
| 設定 | チェックイン値 | 目的 |
|---|---|---|
SELF_HOSTED | true | ローカル コンソール モードを選択し、クラウド依存のルートを無効にする |
KVM_URI | qemu:///system | ホスト システムの libvirt デーモンに接続します。 |
TEST_STORAGE_DIR | /app/data/tests | テスト状態、ロック、ジャーナルのクリーンアップを cto-data に保持する |
SOURCE_ISO_DIR | ホストのソース ISO パス | ホスト libvirt に表示される同じ絶対パスで読み取り専用ソース アーティファクトを解決します。 |
SOURCE_GOLDEN_IMAGE_DIR | ホストのプロモートされたイメージのパス | ホスト libvirt に表示される同じ絶対パスで、不変のインストール済み QCOW2 入力を解決します。 |
TRUST_PROXY_HEADERS | Compose ファイル内の true | バックエンドの信頼できるプロキシ ルールに従って、プロキシから派生したクライアント情報を許可します。 |
また、バックエンドは、バックエンド設定が意図的に変更されない限り、ISO アップロードをデフォルトで /var/lib/libvirt/images に設定し、アップロードを 10 GB に制限します。
ホストパスのオーバーライド
次の 2 つのシェル環境変数が 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最初にこれらのディレクトリを作成して許可します。コンテナではなくホスト libvirt が QEMU のイメージ ファイルを開くため、コンテナ パスはホスト パスと同一に保たれます。コンテナ内にのみ存在するパスは、ゲストの起動時に失敗します。
永続データと非永続データ
| 場所 | 所有権とライフサイクル |
|---|---|
/var/lib/libvirt/images | ホスト管理のアップロードされた ISO、ゲスト ディスク、およびオーバーレイ |
| ソース ISO ディレクトリ | オペレーター管理、読み取り専用マウント |
| ゴールデンイメージディレクトリ | オペレーターがプロモートした不変入力、読み取り専用でマウント |
cto-data 名前付きボリューム | テスト レコードとクリーンアップ ジャーナルを含むバックエンドの状態 |
| マウント外のコンテナ ファイルシステム | 使い捨て;回復のためにこれに依存しないでください。 |
保持する必要があるリソースを特定した後でのみ、バックアップまたはスナップショットを作成してください。 Compose ファイルはバックアップをスケジュールしません。
露出とプロキシの設定
フロントエンドはホスト ポート 80 をマップします。 TRUST_PROXY_HEADERS は TLS または認証を提供しません。バックエンドが明示的に信頼されたプロキシ範囲から転送された接続メタデータを受け入れる方法のみが変更されます。リバース プロキシを追加する場合は、そのネットワーク パスと信頼できるプロキシを狭く設定し、スプーフィングされた転送ヘッダーが信頼できないピアから拒否されることを確認します。
評価コンソールを公共のインターネット上に直接配置しないでください。実稼働アイデンティティ、TLS、シークレット、および認可の設計は、デプロイメントの個別の決定です。
すべての変更を検証する
パスまたは設定を変更した後:
- 影響を受けるコンテナを再作成します。
- モードエンドポイントを通じて
self_hosted: trueを確認します。 - 使い捨て ISO をアップロードして起動します。
- ゲストを停止して削除します。
- スタックを再起動し、クリーンアップ状態とインベントリが存続していることを確認します。