コンテンツにスキップ

エアギャップ環境へのインストール

Olivares AI は セルフホストファーストかつエアギャップ対応です。本ガイドでは、 切断された側にネットワークがない状態で、署名済みのリリースをエアギャップ越しに運びます。 公開鍵に対してすべてのイメージと Helm チャートをオフラインで検証し、ダイジェストで プライベートレジストリにミラーリングして、インストールします。本製品は起動時に必須の アウトバウンド呼び出しを一切行わないため、ギャップの内側からインターネットに到達すること はありません。ベンダーのエンドポイントに到達しうる唯一のコマンドは olivares upgrade で、--endpoint または --bundle で自前のミラーに向けられます。

このフローは二面構成です。

  1. オンライン、一度だけ —— メンテナーが自己完結型のバンドルをビルドします。
  2. ギャップの内側 —— あなたがそれをオフラインで検証し、レジストリにミラーリングします。

このページは、バンドルと同梱スクリプトの使い方を文書化したものであり、リリース パイプラインを再構築するものではありません。

1. バンドルをビルドする(オンライン、一度だけ)

Section titled “1. バンドルをビルドする(オンライン、一度だけ)”

接続されたマシン上で、scripts/airgap-bundle.sh がすべてのイメージをダイジェストで 固定してプルし、Helm チャートをパッケージ化して署名し、SBOM/OpenVEX/プロベナンスを 収集して、VERIFY.md を含む単一の tarball を出力します。

Terminal window
scripts/airgap-bundle.sh \
--version v26.8.0 \
--image docker.io/olivaresai/olivares:26.8.0-amd64 \
--chart deploy/helm/olivares \
--cosign-key cosign.key \
[--collector-image <ref>] [--out dist/airgap] [--gpg-key <id>]

イメージは、その公式座標(docker.io/olivaresai/olivares)で Docker Hub からプルされます。 同じコンテンツは ghcr.io/olivaresai/olivares にもあり、ダイジェストで同一です。 そこからミラーリングしたい場合に利用できます。Docker Hub は匿名プルにレート制限を課しますが、 ghcr.io は公開イメージには課さないため、認証していないビルドホストでは有用です。

images/<name>/ cosign-saved image + its signatures/attestations (offline)
chart/<chart>.tgz packaged Helm chart (+ .tgz.sig cosign, + .prov if gpg)
sbom/ vex/ prov/ SBOM, OpenVEX and SLSA provenance for the release
cosign.pub the public key to verify everything offline (key mode)
digests.txt the pinned digest of every image (the manifest of record)
VERIFY.md the exact offline verification + mirror walkthrough

バンドルには airgap-mirror.shverify-release.sh のコピーも含まれているため、 切断された側はネットワークから何も必要としません。

2. ギャップの内側で検証してミラーリングする

Section titled “2. ギャップの内側で検証してミラーリングする”

切断された側で必要なのは cosigncranehelmtar —— そして到達可能な プライベートレジストリだけです。インターネットは不要です。

すべてのイメージをオフラインで検証する(透明性ログなし)

Section titled “すべてのイメージをオフラインで検証する(透明性ログなし)”
Terminal window
for d in images/*/; do
cosign verify --local-image "$d" --insecure-ignore-tlog --key cosign.pub
done

--insecure-ignore-tlog は Sigstore のオンライン透明性ログをスキップします。信頼は 同梱された cosign.pub から得られます。(これはキーレスの --offline フラグとは同じでは ありません —— キーモードでは、オフラインのトラストルートは公開鍵です。)

Helm チャートをオフラインで検証する

Section titled “Helm チャートをオフラインで検証する”
Terminal window
cosign verify-blob --key cosign.pub --insecure-ignore-tlog \
--signature chart/*.tgz.sig chart/*.tgz
# If a Helm-native .prov is present, additionally: helm verify chart/*.tgz
# (needs the signer's GPG public key in your keyring)

ダイジェストでプライベートレジストリにミラーリングする

Section titled “ダイジェストでプライベートレジストリにミラーリングする”

scripts/airgap-mirror.sh は各イメージをオフラインで検証し、レジストリに読み込み、 ミラーリングを越えてダイジェストが維持されたことを確認するためにダイジェストで再固定します (cranecosign load を使用し、oras使いません)。

Terminal window
scripts/airgap-mirror.sh \
--bundle olivares-airgap-v26.8.0.tar.gz \
--registry registry.internal:5000 [--insecure]

タグではなく、必ずダイジェストでインストールする

Section titled “タグではなく、必ずダイジェストでインストールする”
Terminal window
helm install olivares \
oci://registry.internal:5000/charts/olivares \
--version <chart-version> \
--set image.repository=registry.internal:5000/olivares \
--set image.digest=<digest-from-digests.txt>

可変のタグではなく、必ず digests.txtダイジェストからインストールしてください。 ダイジェストは不変であり、あなたが検証したものそのものです。

ギャップの内側からは何も外に出ない

Section titled “ギャップの内側からは何も外に出ない”

エンジンは起動時に必須のアウトバウンド呼び出しを一切行いません(デフォルトで ループバックにバインドします)。したがって、ギャップの内側からインターネットに到達 することはありません。ベンダーのエンドポイントに到達しうる唯一のコマンドは olivares upgrade で、--endpoint または --bundle で自前のミラーに向けられます。

ライセンスはオフラインで検証され(Ed25519 署名、ライセンスサーバーなし)、上記の検証や インストールの手順は、バンドルがギャップを越えた後はいずれもインターネットに触れません。 無効化すべきテレメトリホームのデフォルトは存在しません。

外部と通信するのはオンライン側であり、これは設計どおりです。バンドルのビルドでリリースを ダウンロードし、商用環境ではサブスクリプションが、アドオンとその更新プログラムおよび修正 プログラムを取得するための資格情報になります。これが SUSE/Novell モデルです —— エアギャップ 環境は、同じ資格を持つローカルミラーから配信されます。 セルフホスティング を参照してください。

ハードニングされたビルドバリアントが存在します(CMVP 検証済みの Go 暗号モジュールを リンクする FIPS モードビルドと、STIG 指向のイメージ)。これらは v1 後のものであり、 独自の正直さの台帳を持ちます —— 特に、FedRAMP/DoD ATO は主張されておらず、検証されたものと して表現してよいのは、具体的に検証されたモジュールバージョンのみです。これらは、認証された 提供物としてではなく、利用可能だが未だ v1 ではないものとして扱ってください。