コンテンツにスキップ
これは最新の機能を備えた最新リリースですが、長期サポートは提供されません。サポートを継続するには、新しいリリースごとにアップグレードするか、四半期ごとの安定版リリースをご利用ください。

For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.

エアギャップ環境

Page as Markdown

イメージとバイナリをプライベートレジストリにミラーリングして、エアギャップ環境に Solo Enterprise for agentregistry をインストールします。

オンプレミスのデータセンターや、パブリックレジストリまたはアーティファクトストアからイメージ、バイナリ、Helm チャートを取得できない切断されたクラスターなど、エアギャップ環境に Solo Enterprise for agentregistry をインストールします。

エアギャップインストールは、次の 3 つのフェーズで構成されます:

  1. アーティファクトの取得: パブリックのアーティファクトソースとプライベートレジストリの両方に到達できるワークステーションまたは CI ジョブから、Solo Enterprise for agentregistry の 1 つのバージョンに必要なイメージ、バイナリ、Helm チャートをすべて収集してミラーリングします。
  2. 転送: 承認済みの転送プロセスを使用して、ミラーリングしたアーティファクトと Helm チャートパッケージを切断された環境にコピーします。
  3. 切断された環境でのインストール: 内部のアーティファクトの場所だけを参照するエアギャップ用の values ファイルを使用して、Helm チャートをインストールします。

Note

Solo.io は、ClickHouse、OpenTelemetry collector、PostgreSQL などのサードパーティコンポーネントをインストールするための Helm 値を便宜上提供しています。これらのコンポーネントは Solo サポートポリシーには含まれません。サポートについては、それぞれのベンダーまたはオープンソースプロジェクトコミュニティにお問い合わせください。

始める前に

  1. パブリックのアーティファクトソースとプライベートレジストリの両方に到達できるワークステーションに、次の CLI をインストールします。
  • helm: Solo Enterprise for agentregistry の Helm チャートを取得してインストールします。
  • kubectl: Kubernetes クラスターを操作します。
    • crane、skopeo、docker など、レジストリ間でコンテナーイメージをコピーするツール。このガイドの例では crane を使用します。
  1. Amazon ECR、Harbor、Artifactory など、切断されたクラスターから到達できるプライベート OCI レジストリをセットアップします。このガイドの例では、プライベートな Amazon ECR レジストリを使用します。

  2. Solo Enterprise for agentregistry のライセンスキーを取得します。キーを入手するには、担当者にお問い合わせください。

  3. Keycloak など、クラスター内の Pod から到達できる OIDC ID プロバイダーをセットアップします。Solo Enterprise for agentregistry には独自の ID プロバイダーは同梱されていません。代わりに、外部 OIDC プロバイダーを使用してユーザーを認証し、アクセストークンを発行し、ロールベースのアクセス制御を適用します。Solo Enterprise for agentregistry の各コンポーネント用に OIDC クライアントを作成する必要があります。詳細とセットアップ例については、Keycloak ガイドを参照してください。

  4. Amazon EKS などのエアギャップ Kubernetes クラスターを準備します。プライベートレジストリからイメージを取得するプライベートクラスターの場合、通常はクラスターがレジストリに到達できるようにネットワークを構成する必要があります。たとえば、プライベート ECR レジストリから取得するエアギャップ EKS クラスターでは、通常は次の VPC エンドポイントが必要です。

    • Interface エンドポイント: com.amazonaws.<region>.ecr.api
    • Interface エンドポイント: com.amazonaws.<region>.ecr.dkr
    • Gateway エンドポイント: com.amazonaws.<region>.s3
  • ECR インターフェイスエンドポイントで Private DNS が有効になっていること

    • EKS Pod Identity または IRSA を使用する場合は、com.amazonaws.<region>.sts インターフェイスエンドポイント。

    Note

    エアギャップクラスターから AWS Bedrock、Secrets Manager、CloudWatch Logs などの他の AWS サービスを Solo Enterprise for agentregistry が呼び出す場合は、それらのサービス用の VPC エンドポイントも追加してください。

ステップ 1: バージョンとアーティファクトを確認する

  1. インストールする Solo Enterprise for agentregistry のバージョンを選択します。たとえば、最新のパッチバージョン (2026.9.0) です。利用可能なバージョンを確認するには、リリースページ と 変更履歴 を確認してください。

  2. 接続されたワークステーションで、バージョンとプライベートレジストリの詳細を環境変数として設定します。イメージタグとバイナリタグには v プレフィックスが付きますが (例: v2026.9.0)、Helm チャートのバージョンには付きません (例: 2026.9.0)。

    export ARE_VERSION=v2026.9.0
    export CHART_VERSION=2026.9.0
    export AWS_REGION=<region>
    export AWS_ACCOUNT_ID=<account-id>
    export PRIVATE_REGISTRY="${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com"
  3. 構成に合わせてミラーリングする必要がある、次のコンテナーイメージ、バイナリ、Helm チャートアーティファクトを確認します。一部のイメージは特定の機能でのみ必要です。

Container イメージs

Solo Enterprise for agentregistry は次のコンテナーイメージを使用します。

イメージ必要になる条件Helm 値の上書き
us-docker.pkg.dev/solo-public/agentregistry-enterprise/server:<version>Alwaysimage.registry, image.repository, image.name, image.tag
docker.io/library/postgres:18同梱の PostgreSQL データベースを使用する場合のみ。外部 (BYO) データベースの場合はスキップします。詳細については、BYO PostgreSQL database を参照してください。database.postgres.bundled.image.*
docker.io/clickhouse/clickhouse-server:26.2.5-alpineバンドルされた ClickHouse オブザーバビリティバックエンドを有効にする場合のみ。ClickHouse を無効にする場合はスキップします。clickhouse.image.repository, clickhouse.image.tag
docker.io/otel/opentelemetry-collector-contrib:0.148.0バンドルされた OpenTelemetry コレクターを有効にする場合のみ。テレメトリーを無効にする場合はスキップします。telemetry.collector.image.repository, telemetry.collector.image.tag

CLI バイナリ

Solo Enterprise for agentregistry は、運用担当者と CI 向けに次の CLI バイナリを使用します。各バイナリには .sha256 チェックサムが併せて公開されます。

BinaryDefault source
arctl-<os>-<arch> (linux または darwin; amd64 または arm64)https://storage.googleapis.com/agentregistry-enterprise/<version>/arctl-<os>-<arch>
arctl-windows-amd64.exehttps://storage.googleapis.com/agentregistry-enterprise/<version>/arctl-windows-amd64.exe

Helm chart

Solo Enterprise for agentregistry は次の Helm チャートを使用します。公開されているチャートには ClickHouse サブチャートがすでに同梱されているため、エアギャップ環境で helm dependency build を実行する必要はありません。

Helm chartDefault source
oci://us-docker.pkg.dev/solo-public/agentregistry-enterprise/helm/agentregistry-enterprisehttps://storage.googleapis.com/agentregistry-enterprise/<version>/agentregistry-enterprise-<version>.tgz

ステップ 2: コンテナーイメージをミラーリングする

  1. プライベートレジストリで認証します。Amazon ECR の場合は次のとおりです。

    aws ecr get-login-password --region "${AWS_REGION}" \
      | docker login --username AWS --password-stdin "${PRIVATE_REGISTRY}"
  2. 宛先リポジトリがまだ存在しない場合は作成します。Amazon ECR の場合:

    aws ecr create-repository --repository-name agentregistry-enterprise/server || true
    aws ecr create-repository --repository-name agentregistry-enterprise/postgres || true
    aws ecr create-repository --repository-name agentregistry-enterprise/clickhouse-server || true
    aws ecr create-repository --repository-name agentregistry-enterprise/opentelemetry-collector-contrib || true
  3. 構成に必要なイメージをミラーリングします。サーバーイメージは常に必要です。PostgreSQL、ClickHouse、OpenTelemetry コレクターのイメージは、それらの機能を有効にする場合のみミラーリングします。

    # Always required: registry server
    crane copy \
      "us-docker.pkg.dev/solo-public/agentregistry-enterprise/server:${ARE_VERSION}" \
      "${PRIVATE_REGISTRY}/agentregistry-enterprise/server:${ARE_VERSION}"
    
    # Only if you use the bundled PostgreSQL database
    crane copy \
      "docker.io/library/postgres:18" \
      "${PRIVATE_REGISTRY}/agentregistry-enterprise/postgres:18"
    
    # Only if ClickHouse observability is enabled
    crane copy \
      "docker.io/clickhouse/clickhouse-server:26.2.5-alpine" \
      "${PRIVATE_REGISTRY}/agentregistry-enterprise/clickhouse-server:26.2.5-alpine"
    
    # Only if telemetry is enabled
    crane copy \
      "docker.io/otel/opentelemetry-collector-contrib:0.148.0" \
      "${PRIVATE_REGISTRY}/agentregistry-enterprise/opentelemetry-collector-contrib:0.148.0"

ステップ 3: CLI バイナリをミラーリングする

  1. 運用担当者や CI パイプラインが使用する各プラットフォーム用に、arctl CLI バイナリとそのチェックサムをダウンロードします。<os> (linux または darwin) と <arch> (amd64 または arm64) は、使用するプラットフォームに置き換えてください。Windows の運用担当者は、代わりに arctl-windows-amd64.exe バイナリを使用します (amd64 のみ)。

    curl -fLO "https://storage.googleapis.com/agentregistry-enterprise/${ARE_VERSION}/arctl-<os>-<arch>"
    curl -fLO "https://storage.googleapis.com/agentregistry-enterprise/${ARE_VERSION}/arctl-<os>-<arch>.sha256"
  2. 社内ファイル共有などを通じて、arctl バイナリを運用担当者に転送します。インストールするには、ダウンロードをチェックサムと照合して検証し、バイナリを PATH 上に配置して実行可能にします。

    shasum -a 256 -c "arctl-<os>-<arch>.sha256"
    
    mkdir -p $HOME/.arctl/bin
    mv arctl-<os>-<arch> $HOME/.arctl/bin/arctl
    chmod +x $HOME/.arctl/bin/arctl
    export PATH=$HOME/.arctl/bin:$PATH

    Windows では、PowerShell の同等のコマンドを使用してチェックサムを検証し、バイナリを PATH に追加します。

    (Get-FileHash arctl-windows-amd64.exe -Algorithm SHA256).Hash.ToLower()
    # Compare the output to the contents of arctl-windows-amd64.exe.sha256
    
    New-Item -ItemType Directory -Force -Path "$HOME\.arctl\bin"
    Move-Item arctl-windows-amd64.exe "$HOME\.arctl\bin\arctl.exe"
    $env:PATH = "$HOME\.arctl\bin;$env:PATH"
  3. arctl CLI がインストールされたことを確認します。

    arctl version

Helm チャートをプルする

  1. 接続されたワークステーションで、Helm チャートパッケージを取得します。公開されているチャートには ClickHouse サブチャートが同梱されているため、追加の Helm チャートは必要ありません。

    helm pull oci://us-docker.pkg.dev/solo-public/agentregistry-enterprise/helm/agentregistry-enterprise \
      --version ${CHART_VERSION} \
      --destination offline-bundle
  2. 承認済みの転送プロセスを使用して、offline-bundle ディレクトリをエアギャップ環境にコピーします。

ステップ 5: ネームスペースとシークレットを作成する

エアギャップ環境で、ネームスペースと、構成に必要なシークレットを準備します。

  1. ネームスペースを作成します。

    kubectl create namespace agentregistry-system
  2. ライセンスシークレットを作成します。

    kubectl -n agentregistry-system create secret generic enterprise-agentregistry-license \
      --from-literal=enterprise-agentregistry-license-key='<license-key>'
  3. 外部 (BYO) の PostgreSQL データベースを使用する場合は、データベース接続 URL を含むシークレットを作成します。その他のオプションについては、BYO PostgreSQL データベースを参照してください。

    kubectl -n agentregistry-system create secret generic agentregistry-postgres \
      --from-literal=AGENT_REGISTRY_DATABASE_URL='postgres://<user>:<password>@<host>:5432/<database>?sslmode=require'
  4. カタログコンテンツにプライベート Git リポジトリを使用する場合は、Git 認証情報のシークレットを作成します。

    kubectl -n agentregistry-system create secret generic agentregistry-git \
      --from-literal=GIT_USERNAME='<username>' \
      --from-literal=GIT_TOKEN='<token-or-password>'

ステップ 6: エアギャップ用の values ファイルを作成する

airgap-values.yaml ファイルを作成し、プライベートレジストリを参照するようにします。データベースとオブザーバビリティの構成に一致するタブを選択します。<account-id>、<region>、内部エンドポイントのプレースホルダーは実際の値に置き換えてください。

外部 (BYO) の PostgreSQL データベースを使用し、ClickHouse による可観測性を有効にした本番インストールには、この構成を使用します。

image:
  registry: <account-id>.dkr.ecr.<region>.amazonaws.com
  repository: agentregistry-enterprise
  name: server
  tag: v2026.9.0
  pullPolicy: IfNotPresent

global:
  imagePullSecrets: []

oidc:
  issuer: https://idp.internal.example.com/realms/agentregistry
  clientId: ar-backend
  publicClientId: ar-ui
  roleClaim: groups
  superuserRole: admins

licensing:
  createSecret: false
  secretName: enterprise-agentregistry-license

database:
  postgres:
    type: external
    external:
      secretRef:
        name: agentregistry-postgres
        key: AGENT_REGISTRY_DATABASE_URL

clickhouse:
  enabled: true
  image:
    repository: <account-id>.dkr.ecr.<region>.amazonaws.com/agentregistry-enterprise/clickhouse-server
    tag: 26.2.5-alpine
  persistentVolume:
    enabled: true

telemetry:
  enabled: true
  collector:
    image:
      repository: <account-id>.dkr.ecr.<region>.amazonaws.com/agentregistry-enterprise/opentelemetry-collector-contrib
      tag: 0.148.0

同梱の PostgreSQL データベースを使用する開発用または評価用のインストールには、この構成を使用します。同梱のデータベースは単一の Pod にデータを保存するため、本番環境には推奨されません。本番環境の構成については、BYO PostgreSQL データベース を参照してください。

image:
  registry: <account-id>.dkr.ecr.<region>.amazonaws.com
  repository: agentregistry-enterprise
  name: server
  tag: v2026.9.0
  pullPolicy: IfNotPresent

global:
  imagePullSecrets: []

oidc:
  issuer: https://idp.internal.example.com/realms/agentregistry
  clientId: ar-backend
  publicClientId: ar-ui
  roleClaim: groups
  superuserRole: admins

licensing:
  createSecret: false
  secretName: enterprise-agentregistry-license

database:
  postgres:
    type: bundled
    bundled:
      image:
        registry: <account-id>.dkr.ecr.<region>.amazonaws.com
        repository: agentregistry-enterprise
        name: postgres
        tag: "18"

clickhouse:
  enabled: true
  image:
    repository: <account-id>.dkr.ecr.<region>.amazonaws.com/agentregistry-enterprise/clickhouse-server
    tag: 26.2.5-alpine
  persistentVolume:
    enabled: true

telemetry:
  enabled: true
  collector:
    image:
      repository: <account-id>.dkr.ecr.<region>.amazonaws.com/agentregistry-enterprise/opentelemetry-collector-contrib
      tag: 0.148.0

インストール範囲を最小限にするには、この構成を使用します。ClickHouse とテレメトリーが無効になるため、ミラーリングするのはサーバーイメージだけです。

image:
  registry: <account-id>.dkr.ecr.<region>.amazonaws.com
  repository: agentregistry-enterprise
  name: server
  tag: v2026.9.0
  pullPolicy: IfNotPresent

global:
  imagePullSecrets: []

oidc:
  issuer: https://idp.internal.example.com/realms/agentregistry
  clientId: ar-backend
  publicClientId: ar-ui
  roleClaim: groups
  superuserRole: admins

licensing:
  createSecret: false
  secretName: enterprise-agentregistry-license

database:
  postgres:
    type: external
    external:
      secretRef:
        name: agentregistry-postgres
        key: AGENT_REGISTRY_DATABASE_URL

clickhouse:
  enabled: false

telemetry:
  enabled: false
Helm valueDescription
image.*Solo Enterprise for agentregistry サーバーイメージのプライベートレジストリ、リポジトリ、名前、タグです。
oidc.*OIDC プロバイダーの設定です。oidc.issuer はサーバー Pod から到達できる必要があり、.well-known の検出 URL ではなく発行者のベース URL を指定する必要があります。
licensing.createSecret / licensing.secretNameチャートが既存のシークレットを使用するように、createSecret を false に、secretName を作成済みのライセンスシークレットに設定します。
database.postgres.*データベースバックエンドです。BYO データベースの場合は type: external と secretRef を使用し、開発用または評価用のインストールの場合は type: bundled とミラーリングしたイメージを使用します。
clickhouse.* / telemetry.*可観測性を有効にし、ClickHouse と OpenTelemetry コレクターのイメージがプライベートレジストリを指すように設定します。インストール範囲を最小限にするには、両方を無効にします。

Step 7: Install

  1. 転送したチャートパッケージが格納されているディレクトリから、Solo Enterprise for agentregistry をインストールします。

    helm upgrade --install agentregistry \
      ./offline-bundle/agentregistry-enterprise-2026.9.0.tgz \
      --namespace agentregistry-system \
      --values airgap-values.yaml \
      --wait \
      --timeout 10m
  2. Solo Enterprise for agentregistry の Pod が起動して実行中であることを確認します。

    kubectl get pods -n agentregistry-system

    出力例:

    NAME                                                            READY   STATUS    RESTARTS   AGE
    agentregistry-enterprise-server-76f8fcc656-bmfsr                1/1     Running   0          2m21s
    agentregistry-enterprise-telemetry-collector-777798c5b4-d9cwt   1/1     Running   0          2m21s
    agentregistry-clickhouse-shard0-0                               1/1     Running   0          2m21s
    

Step 8: Validate

サーバー Pod が、パブリックレジストリではなくプライベートレジストリからイメージを取得していることを確認します。

kubectl -n agentregistry-system get pod \
  -l app.kubernetes.io/component=server \
  -o jsonpath='{range .items[*].spec.containers[*]}{.image}{"\n"}{end}'

Upgrade

アップグレードのたびに、新しいバージョンについて接続環境でのステージングフェーズと転送フェーズを繰り返します。

  1. 接続されたワークステーションで新しいバージョンを設定し、新しいサーバーイメージと、変更された依存イメージをミラーリングします。詳細については、ステップ 1 と ステップ 2 を参照してください。
  2. 新しい Helm チャートパッケージを取得し、エアギャップ環境に転送します。
  3. airgap-values.yaml ファイル内のイメージタグを更新します。
  4. 新しい Helm チャートパッケージと values を指定して helm upgrade --install コマンドを実行します。

ロールアウトが正常になり、ロールバックの必要がなくなるまでは、古いイメージを保持してください。データ移行の考慮事項など、アップグレード全般のガイダンスについては、アップグレードを参照してください。