このドキュメントは、Devin の連邦政府向け導入環境を対象としています。Devin ドキュメントに戻る
TLS の要件
- すべてのモデルの
base_urlと SSO のissuerにはhttps://を使用する必要があります。http://が許可されるのは、ループバックホスト (localhost、127.0.0.0/8、[::1]) の場合のみです。 - 証明書の検証には、オペレーティングシステムのトラストストア (macOS では Security.framework、Linux ではシステムの CA ストア) が使用されます。エンドポイントの署名に使われている CA がワークステーションにすでにインストールされている場合、追加の設定は不要です。
- エンドポイントが OS のトラストストアに含まれていないプライベート CA によって署名されている場合は、以下の手順に従って
DEVIN_CA_BUNDLEでその CA を追加してください。CLI が証明書の検証を無効にすることはありません。
DEVIN_CA_BUNDLE でプライベート CA を信頼する
DEVIN_CA_BUNDLE には PEM ファイルを指定します。このファイル内の証明書は、OS のトラストストアに加えて信頼されます。この設定は、推論リクエスト、devin airgap doctor のプローブ、および SSO (シングルサインオン) でのログインと再検証の際に CLI が IdP に送信するすべてのリクエストに適用されます。
1
バンドルを作成する
プライベート CA のルート証明書 (中間証明書を利用している場合はそれも含む) を 1 つの PEM ファイルにまとめます。ファイルには複数の 各エンドポイントで証明書や CA を共通にする必要はありません。バンドルはエージェントプロセス全体で 1 つだけで、すべての接続に適用されます。そのため、エンドポイントごとに異なるプライベート CA で署名されている場合は、それらの CA をすべて同じファイルに連結してください。このバンドルを使うと、
-----BEGIN CERTIFICATE----- ブロックを含めることができます。https://vllm.corp.example (corp-root-ca で署名) 、https://models.ml.example (ml-platform-ca で署名) 、および IdP (idp-root-ca で署名) がすべて信頼されます。OS のトラストストアに既に含まれている CA で署名されたエンドポイントについては、項目を追加する必要はありません。models ファイルにはモデルごとの証明書や TLS のフィールドはなく、エンドポイントごとに別々のバンドルを使用することもできません。2
エージェントの環境で変数をエクスポートする
devin.acp.agentEnv 設定に追加するか、macOS では launchctl setenv DEVIN_CA_BUNDLE /etc/devin/ca-bundle.pem を実行してください (open ではシェルの環境がアプリに引き継がれません) 。3
doctor で確認する
trusted only via DEVIN_CA_BUNDLE は、エンドポイントがバンドルによって信頼されていることを示します。doctor は到達可能な各エンドポイントに対し、OS のトラストストアのみを使って再試行し、その試行が TLS で失敗するかどうかを報告します。変数が設定されていない場合、CA bundle の行には not configured (OS trust store only; set DEVIN_CA_BUNDLE to add a private CA) と表示されます。CFG004 で失敗とし、パーサーのメッセージ (例えば failed to read CA bundle '/etc/devin/ca-bundle.pem': No such file or directory) を表示します。一方、実行時には同じ状況でも致命的エラーにはなりません。CLI は warning: ignoring DEVIN_CA_BUNDLE: … という行を出力し、OS のトラストストアにフォールバックします。そのため、パスの入力ミスは起動時のエラーとしてではなく、エンドポイントに対する NET003 の TLS 失敗として現れます。バンドルを修正してから doctor を再実行してください。
プロキシ
エアギャップ化された CLI は、標準的な Devin CLI と同じ方法で送信プロキシを処理します。デフォルト ("mode": "system") では、環境変数 HTTP_PROXY、HTTPS_PROXY、ALL_PROXY、NO_PROXY と、オペレーティングシステムの PAC/自動プロキシ設定に従います。特定のプロキシを強制的に利用する場合や、プロキシを完全にバイパスする場合は、ユーザー設定ファイル (共有の Devin 設定ディレクトリ内の config.json。ディスク上のフォーマットを参照) に proxy ブロックを追加します。
no_proxy はどのモードでも適用され、構文は NO_PROXY 環境変数と同じです。ホスト上の全ユーザーを対象にプロキシを設定するには、同じ proxy ブロックをマシン全体のポリシーファイル system.json (Linux では /etc/devin/system.json、macOS では /Library/Application Support/Devin/system.json、Windows では C:\ProgramData\Devin\system.json) に記述します。両方のファイルで proxy が定義されている場合、ユーザー側の定義を削除するまで CLI は起動しません。全オプションの詳細については CLI 設定ファイルリファレンスを参照してください。
TLS を終端し、独自の CA でトラフィックを再署名するプロキシは、プライベート CA として扱われます。そのプロキシの証明書を DEVIN_CA_BUNDLE に追加してください。プロキシを経由しても、接続先はこのページの冒頭に記載された宛先に限られます。プロキシによって変わるのは経路だけで、接続先は変わりません。
タイムアウト
タイムアウトを超えたプローブは
NET005 として報告されます。
NET コード
devin airgap doctor は、失敗したエンドポイントのプローブごとに、以下のいずれかのコードを付与します。これらはサポートへの問い合わせ時にも目にするコードです。全コードの一覧は エラーコード ページを参照してください。

