AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

カスタムアーティファクトソース (AGENTENGINE_IMAGE_SOURCE=custom)

custom ソースは、MongoDBの Github Releases と GHCR の代わりにユーザーのホストするインフラストラクチャを通じて、CLI バイナリのダウンロードとデブスタックイメージのプルをルーティングします。これは、ghcr.io または github.com にアクセスできない隔離されたネットワーク環境(エアギャップ、イーグレス制限)に向けて設計されています。

2つの独立したノブ(それぞれ任意):

ブロック
コントロール
影響を受けるコマンド

release

CLIバイナリのダウンロードするホストする

agentengine self-update、1日1回の更新通知

registry

開発用イメージをホストする (5 個のイメージ)

agentengine dev up

カスタムソースはホストすることのみを入れ替えます。イメージリポジトリ名とタグを付けることはビルドする時に固定されるため、ミラーは同じ名前、同じタグを付けること、そして独自のホストすることを使用して機械的にコピーできます。

5つの開発スタックイメージは、playground-ui、orchestration-engine、memory-server、runner-base、runner-base-typescript-langgraphです。

  • AGENTENGINE_IMAGE_SOURCE=custom 環境で

  • source.yaml ~/.agentengine/source.yaml で(または $AGENTENGINE_IMAGE_SOURCE_FILE で設定されたパスで)

  • 企業のCAはOSの信頼保存 (する)にある必要があります。--insecureフラグはありません(セキュリティを参照)。

注意

オーバーライド変数名は固定されています。CLIはAGENTENGINE_IMAGE_SOURCEとAGENTENGINE_IMAGE_SOURCE_FILEを読み取ります。廃止されたAP_SOURCE / AP_SOURCE_FILEの名前は読み取られなくなり、いずれかを設定するとコマンドは失敗します。

プラットフォームへの接続は不要です。CLIはソースをローカルで解決するため、エアギャップ環境やエグレス制限のあるマシンでもAGENTENGINE_IMAGE_SOURCE=customのみで構成可能です。public-artifactsを参照してください。


agentengine version --full を実行することで、現在の CLI をビルドするための正確なイメージ名とタグを付けるための情報を取得します。

agentengine version --full

出力例:

1.4.2 (commit: abc1234)runner-base: ghcr.io/mongodb/agent-engine-client-libraries/runner-base:v1.4.2runner-base-typescript-langgraph: ghcr.io/mongodb/agent-engine-client-libraries/runner-base-typescript-langgraph:v1.4.2playground-ui: ghcr.io/mongodb/agent-engine-client-libraries/playground-ui:v1.4.2orchestrator: ghcr.io/mongodb/agent-engine-client-libraries/orchestration-engine:v1.4.2memory-server: ghcr.io/mongodb/agent-engine-client-libraries/memory-server:v1.4.2

ミラーリングする際には、これらの正確な名前とタグを使用します。メジャーバージョン内のパッチリリースを通じても安定しています。変更されるのはバージョンサフィックスのみです。

docker login ghcr.io # read access to MongoDB's GHCRdocker login artifactory.example.com # write access to your registry for img in playground-ui orchestration-engine memory-server runner-base runner-base-typescript-langgraph; do docker pull ghcr.io/mongodb/agent-engine-client-libraries/$img:v1.4.2 docker tag ghcr.io/mongodb/agent-engine-client-libraries/$img:v1.4.2 artifactory.example.com/acme-docker/$img:v1.4.2 docker push artifactory.example.com/acme-docker/$img:v1.4.2done

新しいCLIバージョンごとに繰り返します。リポジトリ名とタグの形式は安定しており、バージョン番号のみが変更されます。

ネットワークでGitHubのリリースもブロックされている場合は、CLIバイナリをHTTPSサーバー(Artifactoryの汎用リポジトリが適しています)でホストし、静的マニフェスト形式に一致するmanifest.jsonを公開してください。

各OS/アーキテクチャの組み合わせに対応するバイナリファイルをアップロードし、それらを指すマニフェストを作成します。マニフェストのURLは、source.yamlではrelease.urlになります。

~/.agentengine/source.yaml、または$AGENTENGINE_IMAGE_SOURCE_FILEで設定したパスに配置します。

agentengine agent source setup # interactive wizard: asks base/release/registry, validates before writingagentengine agent source template # writes a commented, ready-to-edit starting point insteadagentengine agent source template --stdout # print the template instead of writing it

どちらも標準の検出パス(または既存のファイルへの上書きプロンプトをスキップする場合は --force)に書き込み (write)を行い、書き込み (write)前に自己検証を行うため、結果は保証されて読み込まれます。YAMLを手動で編集するよりもプロンプトに応答する方が簡単な場合は agentengine agent source setup を使用し、自分でファイルを編集したい場合は agentengine agent source template を使用します。以下の例は、何を入力するかを示しています。

base: publicrelease: type: static url: https://artifactory.example.com/acme-generic/agentic-cli/manifest.jsonregistry: prefix: artifactory.example.com/acme-docker

github.comは許可されているがghcr.ioはブロックされているネットワークで使用します。

base: publicregistry: prefix: artifactory.example.com/acme-docker

ghcr.ioは許可されているがGithubリリースをダウンロードすることはブロックされているネットワークで使用します。

base: publicrelease: type: static url: https://nexus.example.com/agentic-cli/manifest.json

インフラストラクチャがGitHubのJSON形式のリリースAPIを公開している場合(例:Github エンタープライズ)、静的マニフェストをホストする代わりに使用します。

base: publicrelease: type: github url: https://ghe.example.internal/api/v3/repos/acme/agentic-cli/releasesregistry: prefix: registry.example.internal/agentic

パブリックリリースアーティファクトをミラーリングする配置の場合:

base: publicrelease: type: static url: https://artifactory.example.com/agentic-cli/manifest.jsonregistry: prefix: artifactory.example.com/agent-engine-mirror

base: public publicが現在解決しているものすべてを継承します。これは、オーバーライドしないブロックにのみ適用されます。固定されたregistry.prefixまたはrelease.urlはユーザーのものです。ブロックを固定して、確実にしてください。public-artifacts.mdを参照してください。

フィールド
必須
説明

base

No (default: public)

オーバーライドされていないすべての項目のフォールバックソース: public

release.type

release が存在する場合ははい

static — 静的JSONマニフェスト(本ドキュメント); github — GitHub形式のリリースAPI

release.url

release が存在する場合ははい

マニフェスト(静的)またはAPIベース(Github)の完全なHTTPS URL。使用する必要があります https://

registry.prefix

registry が存在する場合ははい

レジストリ ホスト + パス、スキームなし、タグなし (例:artifactory.example.com/acme-docker)

release または registry の少なくとも一方が必要です。どちらも指定されていない source.yaml はベースソースと同等とみなされ、拒否されます。

$AGENTENGINE_IMAGE_SOURCE_FILE ~/.agentengine/source.yaml の検出パスをオーバーライドします。設定されている場合、ファイルが存在しないか読み取れないと、ホームファイルへのサイレントフォールバックではなく、ハードエラーになります。

agentengine agent source validate $AGENTENGINE_IMAGE_SOURCE を事前に設定しなくてもファイルをチェックでき、成功するとアクティブ化するための正確な環境変数が表示されます。

agentengine agent source validate # standard discovery pathagentengine agent source validate ./some/other/source.yaml # or an explicit path
AGENTENGINE_IMAGE_SOURCE=customAGENTENGINE_IMAGE_SOURCE_FILE=/Users/you/.agentengine/source.yaml

検証エラーが発生すると、ファイルがagentengine agent source setup、agentengine agent source template、または手動編集のいずれから取得されたかに関係なく、以下の「トラブルシューティング」に記載されているものと同じ固定メッセージが表示されます。

次に、それをアクティブ化し、解決されたルーティングを確認します。

export AGENTENGINE_IMAGE_SOURCE=customagentengine version --full

完全なミラーの場合、以下のように表示されます。

1.4.2 (commit: abc1234)source: custom release: https://artifactory.example.com/acme-generic/agentic-cli/manifest.json (static) registry: artifactory.example.com/acme-dockerrunner-base: artifactory.example.com/acme-docker/runner-base:v1.4.2runner-base-typescript-langgraph: artifactory.example.com/acme-docker/runner-base-typescript-langgraph:v1.4.2playground-ui: artifactory.example.com/acme-docker/playground-ui:v1.4.2orchestrator: artifactory.example.com/acme-docker/orchestration-engine:v1.4.2memory-server: artifactory.example.com/acme-docker/memory-server:v1.4.2

出力内のイメージは、agentengine dev up によって docker pull に渡される正確な文字列です。

次に、agentengine self-update を実行してバイナリ更新パスをテストし、agentengine dev up を実行してイメージのプルが成功することを確認します。


CLIはrelease.urlからこのファイルを取得し、セマンティックバージョニング(semver)が最も高いバージョンを選択して、現在のOSとアーキテクチャに一致するアセットを選択します。latestフィールドはありません。CLIはreleases配列から最大バージョンを計算するため、古いポインターが利用可能なアセットと不一致になることはありません。

{ "releases": [ { "version": "1.4.2", "assets": [ { "os": "darwin", "arch": "arm64", "url": "https://artifactory.example.com/acme-generic/agentic-cli/1.4.2/agentic_darwin_arm64", "sha256": "9f2b...e1" }, { "os": "linux", "arch": "amd64", "url": "https://artifactory.example.com/acme-generic/agentic-cli/1.4.2/agentic_linux_amd64", "sha256": "4c7a...bd" } ] } ]}
フィールド
タイプ
説明

releases

配列

バージョンごとに1つのエントリ。CLIは最も高いセマンティックバージョニングを選択します。

releases[].version

string

セマンティックバージョン(例:1.4.2)

releases[].assets

配列

OS/アーキテクチャの組み合わせごとに1つのエントリ

assets[].os

string

darwin、linux、または windows

assets[].arch

string

amd64 or arm64

assets[].url

string

バイナリの完全なHTTPS URL

assets[].sha256

string

バイナリの64文字の16進数SHA-256ダイジェスト

CLIは、解析時にsha256が64文字の16進数stringであることを検証し、インストール前にダウンロードされたバイナリを再検証します。


HTTPSが必須であり、``--insecure``によるオーバーライドはできません。SHA-256はバイナリがマニフェストと一致していることを検証しますが、マニフェスト自体を暗号的に署名するものではありません。プレーンなHTTP経由では、攻撃者がダウンロードURLとハッシュされた値の両方を書き換えることができ、検証が通過してしまいます。TLSは、マニフェストの整合性を保証する唯一の手段です。オンプレミスのリリースサーバーはTLSを使用する必要があります。

企業CAエアギャップ環境のエンタープライズでは、通常、内部認証局を運用しています。CLIはGoのTLSスタックを使用しており、OSの証明書信頼保存 (する)に従います。内部HTTPSホストするでAGENTENGINE_IMAGE_SOURCE=customを使用する前に、企業CAをOSの信頼保存 (する)にインストールする必要があります。--insecureまたは--cacertフラグはありません。内部ホストに対するTLS検証の失敗は、CLIのバグではなく、信頼ストアの問題です。

生成された local-dev イメージ内のパッケージインストールは、個別の信頼ストアです。ローカル agentengine dev up での企業 TLS インスペクションを参照してください。

レジストリ認証。CLIはDockerの認証情報を保存またはマネージドしません。レジストリに認証が必要な場合は、agentengine dev upを実行する前にdocker login <registry>を1回実行してください。CLIはイメージ参照をDockerに渡します。Dockerは独自のアンビエント認証情報保存 (する)を使用します。

``source.yaml`` の検出。CLIは、source.yamlを$AGENTENGINE_IMAGE_SOURCE_FILE(設定されている場合)または~/.agentengine/source.yamlからのみ読み込みます。現在の作業ディレクトリから自動的に読み込まれることはありません。読み込まれると、クローンされたリポジトリが自己更新を攻撃者が制御するホストするにリダイレクトする可能性があるためです。


エラー
原因
修正

AGENTENGINE_IMAGE_SOURCE=custom but no source.yaml found

検索されたどちらのパスにもファイルがありません

~/.agentengine/source.yamlを作成するか、$AGENTENGINE_IMAGE_SOURCE_FILEを設定します

$AGENTENGINE_IMAGE_SOURCE_FILE points to "..." which does not exist

$AGENTENGINE_IMAGE_SOURCE_FILE 設定されていますが、ファイルが見つかりません

パスを確認してください。環境変数が設定されている場合、ファイルが存在する必要があります。

source.yaml: release.url must be an https:// URL

URLの開始文字 http://

https:// を使用して、サーバーに TLS を追加します

source.yaml: registry.prefix "..." must not include a scheme

プレフィックスがあります https://

スキームを除き、ベアを使用します host/path

source.yaml: registry.prefix "..." must not contain a tag or digest

プレフィックスには :v1 サフィックスが含まれます

ホスト + パスのみを使用します。(最後の / の後ろにコロンは付けないでください。)

source.yaml: custom source needs at least one of 'release' or 'registry'

どちらのブロックも存在しません

少なくとも1つのブロックを追加してください

release manifest: HTTP 404 fetching ...

URLが間違っているか、ファイルがまだアップロードされていません

release.url を確認し、ファイルにアクセスできることを確認してください

release manifest: no asset for darwin/arm64 in version 1.4.2

OS/archエントリがありません

不足しているアセットエントリをマニフェストに追加します

release manifest: asset sha256 "xyz" is not a 64-char hex digest

ダイジェストが短すぎるか、16進数ではありません

バイナリの sha256sum を計算し、完全な 64 文字の 16 進数を貼り付けてください。

内部ホストでのTLS検証失敗

企業CAがOSの信頼保存 (する)にありません

CAをインストールしてください。--insecureフラグはありません

イメージのプルでの失敗 agentengine dev up

画像がミラーリングされていないか、docker loginが欠落しています

まずdocker login <registry>を実行してから、イメージを反転します。

このページを評価