For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.
エアギャップ環境
イメージとバイナリをプライベートレジストリにミラーリングして、エアギャップ環境に Solo Enterprise for agentregistry をインストールします。
オンプレミスのデータセンターや、パブリックレジストリまたはアーティファクトストアからイメージ、バイナリ、Helm チャートを取得できない切断されたクラスターなど、エアギャップ環境に Solo Enterprise for agentregistry をインストールします。
エアギャップインストールは、次の 3 つのフェーズで構成されます:
- アーティファクトの取得: パブリックのアーティファクトソースとプライベートレジストリの両方に到達できるワークステーションまたは CI ジョブから、Solo Enterprise for agentregistry の 1 つのバージョンに必要なイメージ、バイナリ、Helm チャートをすべて収集してミラーリングします。
- 転送: 承認済みの転送プロセスを使用して、ミラーリングしたアーティファクトと Helm チャートパッケージを切断された環境にコピーします。
- 切断された環境でのインストール: 内部のアーティファクトの場所だけを参照するエアギャップ用の values ファイルを使用して、Helm チャートをインストールします。
Note
Solo.io は、ClickHouse、OpenTelemetry collector、PostgreSQL などのサードパーティコンポーネントをインストールするための Helm 値を便宜上提供しています。これらのコンポーネントは Solo サポートポリシーには含まれません。サポートについては、それぞれのベンダーまたはオープンソースプロジェクトコミュニティにお問い合わせください。
始める前に
- パブリックのアーティファクトソースとプライベートレジストリの両方に到達できるワークステーションに、次の CLI をインストールします。
Amazon ECR、Harbor、Artifactory など、切断されたクラスターから到達できるプライベート OCI レジストリをセットアップします。このガイドの例では、プライベートな Amazon ECR レジストリを使用します。
Solo Enterprise for agentregistry のライセンスキーを取得します。キーを入手するには、担当者にお問い合わせください。
Keycloak など、クラスター内の Pod から到達できる OIDC ID プロバイダーをセットアップします。Solo Enterprise for agentregistry には独自の ID プロバイダーは同梱されていません。代わりに、外部 OIDC プロバイダーを使用してユーザーを認証し、アクセストークンを発行し、ロールベースのアクセス制御を適用します。Solo Enterprise for agentregistry の各コンポーネント用に OIDC クライアントを作成する必要があります。詳細とセットアップ例については、Keycloak ガイドを参照してください。
Amazon EKS などのエアギャップ Kubernetes クラスターを準備します。プライベートレジストリからイメージを取得するプライベートクラスターの場合、通常はクラスターがレジストリに到達できるようにネットワークを構成する必要があります。たとえば、プライベート ECR レジストリから取得するエアギャップ EKS クラスターでは、通常は次の VPC エンドポイントが必要です。
- Interface エンドポイント:
com.amazonaws.<region>.ecr.api - Interface エンドポイント:
com.amazonaws.<region>.ecr.dkr - Gateway エンドポイント:
com.amazonaws.<region>.s3
- Interface エンドポイント:
ECR インターフェイスエンドポイントで Private DNS が有効になっていること
- EKS Pod Identity または IRSA を使用する場合は、
com.amazonaws.<region>.stsインターフェイスエンドポイント。
Note
エアギャップクラスターから AWS Bedrock、Secrets Manager、CloudWatch Logs などの他の AWS サービスを Solo Enterprise for agentregistry が呼び出す場合は、それらのサービス用の VPC エンドポイントも追加してください。
- EKS Pod Identity または IRSA を使用する場合は、
ステップ 1: バージョンとアーティファクトを確認する
インストールする Solo Enterprise for agentregistry のバージョンを選択します。たとえば、最新のパッチバージョン (
2026.9.0) です。利用可能なバージョンを確認するには、リリースページ と 変更履歴 を確認してください。接続されたワークステーションで、バージョンとプライベートレジストリの詳細を環境変数として設定します。イメージタグとバイナリタグには
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"構成に合わせてミラーリングする必要がある、次のコンテナーイメージ、バイナリ、Helm チャートアーティファクトを確認します。一部のイメージは特定の機能でのみ必要です。
Container イメージs
Solo Enterprise for agentregistry は次のコンテナーイメージを使用します。
| イメージ | 必要になる条件 | Helm 値の上書き |
|---|---|---|
us-docker.pkg.dev/solo-public/agentregistry-enterprise/server:<version> | Always | image.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 チェックサムが併せて公開されます。
| Binary | Default source |
|---|---|
arctl-<os>-<arch> (linux または darwin; amd64 または arm64) | https://storage.googleapis.com/agentregistry-enterprise/<version>/arctl-<os>-<arch> |
arctl-windows-amd64.exe | https://storage.googleapis.com/agentregistry-enterprise/<version>/arctl-windows-amd64.exe |
Helm chart
Solo Enterprise for agentregistry は次の Helm チャートを使用します。公開されているチャートには ClickHouse サブチャートがすでに同梱されているため、エアギャップ環境で helm dependency build を実行する必要はありません。
| Helm chart | Default source |
|---|---|
oci://us-docker.pkg.dev/solo-public/agentregistry-enterprise/helm/agentregistry-enterprise | https://storage.googleapis.com/agentregistry-enterprise/<version>/agentregistry-enterprise-<version>.tgz |
ステップ 2: コンテナーイメージをミラーリングする
プライベートレジストリで認証します。Amazon ECR の場合は次のとおりです。
aws ecr get-login-password --region "${AWS_REGION}" \ | docker login --username AWS --password-stdin "${PRIVATE_REGISTRY}"宛先リポジトリがまだ存在しない場合は作成します。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構成に必要なイメージをミラーリングします。サーバーイメージは常に必要です。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 バイナリをミラーリングする
運用担当者や CI パイプラインが使用する各プラットフォーム用に、
arctlCLI バイナリとそのチェックサムをダウンロードします。<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"社内ファイル共有などを通じて、
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:$PATHWindows では、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"arctlCLI がインストールされたことを確認します。arctl version
Helm チャートをプルする
接続されたワークステーションで、Helm チャートパッケージを取得します。公開されているチャートには ClickHouse サブチャートが同梱されているため、追加の Helm チャートは必要ありません。
helm pull oci://us-docker.pkg.dev/solo-public/agentregistry-enterprise/helm/agentregistry-enterprise \ --version ${CHART_VERSION} \ --destination offline-bundle承認済みの転送プロセスを使用して、
offline-bundleディレクトリをエアギャップ環境にコピーします。
ステップ 5: ネームスペースとシークレットを作成する
エアギャップ環境で、ネームスペースと、構成に必要なシークレットを準備します。
ネームスペースを作成します。
kubectl create namespace agentregistry-systemライセンスシークレットを作成します。
kubectl -n agentregistry-system create secret generic enterprise-agentregistry-license \ --from-literal=enterprise-agentregistry-license-key='<license-key>'外部 (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'カタログコンテンツにプライベート 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 value | Description |
|---|---|
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
転送したチャートパッケージが格納されているディレクトリから、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 10mSolo 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 と ステップ 2 を参照してください。
- 新しい Helm チャートパッケージを取得し、エアギャップ環境に転送します。
airgap-values.yamlファイル内のイメージタグを更新します。- 新しい Helm チャートパッケージと values を指定して
helm upgrade --installコマンドを実行します。
ロールアウトが正常になり、ロールバックの必要がなくなるまでは、古いイメージを保持してください。データ移行の考慮事項など、アップグレード全般のガイダンスについては、アップグレードを参照してください。