始める前に
Forge のシークレット注入を使用するには、Forge APIキーで認証されたサンドボックスが必要です。この機能はサーバーレスのサンドボックスで利用できますが、お客様自身の CoreWeave Kubernetes Service (CKS) クラスター上のサンドボックスでは利用できません。CKS への配置では CoreWeave API アクセストークンを使用します。このトークンと別途用意した Forge APIキーを組み合わせて、CKS サンドボックスのシークレットを解決することはできません。
例を実行するには、以下が必要です。
- サーバーレスサンドボックスへのアクセス権を持つ Forge の SaaS (Software as a Service) アカウント。
- Forge チームの Secret Manager に登録された
HF_TOKENという名前のシークレット。このシークレットが存在しない場合は、Forge の管理者にシークレットの追加を依頼してください。 - そのチームへのアクセス権を持つ Forge APIキー。
FORGE_API_KEY を設定します。[FORGE-API-KEY] はお使いの Forge APIキーに置き換えてください。
FORGE_TEAM を設定しない場合、各例では APIキーのデフォルトのチームが使用されます。シークレットが別のチームに属している場合は、FORGE_TEAM にそのチームを設定してください。[FORGE-TEAM] はチーム名に置き換えてください。
FORGE_API_KEY や FORGE_TEAM を自動的には検出しません。
使用する言語に対応したクライアントをインストールします。
- Python
- TypeScript
Python 3.11 以降を使用し、必要に応じて
uv をインストールします。Python 環境にクライアントをインストールします。シークレットを注入する
Python ではstore="wandb"、TypeScript では store: "wandb" を使用します。このストアは、認証済みの Forge チームのシークレットを解決します。この手順では、組織のシークレットストアを登録する必要はありません。
以下のサンプルでは、HF_TOKEN を注入し、値を出力せずに存在を確認します。サンドボックス内では、環境変数名はデフォルトでシークレット名になります。
- Python
- TypeScript
Forge のAPIキーと、必要に応じてチームを
AuthHeaders で渡します。Secret is available を出力し、操作が完了するとサンドボックスを停止します。サンドボックス内で実行されるコードは、HF_TOKEN から値を読み取れます。
secrets には、シークレットの値ではなく名を渡してください。サーバーが値を解決します。値を出力したり、ログに書き込んだりしないでください。
シークレット参照フィールド
Python のSecret または TypeScript の secrets エントリで、次のフィールドを使用します:
カスタム環境変数名を使用する
シークレットを受け取る環境変数を指定するには、Python ではenv_var、TypeScript では envVar を設定します。次の例では、HF_TOKEN シークレットを HUGGINGFACE_TOKEN として公開します。
- Python
- TypeScript
HUGGINGFACE_TOKEN が存在することを確認してから Secret is available を出力します。
構造化されたシークレットからフィールドを選択する
JSON オブジェクトから値を 1 つ注入するには、field にそのトップレベルキーを設定します。ネストされたパスはサポートされません。JSON string の場合、注入される値には JSON の引用符は付きません。
この例では、{"password":"[DB-PASSWORD]"} のような JSON オブジェクトを値とする、DB_CREDENTIALS という名のチームシークレットを追加します。シークレットを保存する前に、[DB-PASSWORD] をパスワードに置き換えてください。以下のサンプルでは、その password フィールドを DB_PASSWORD に注入します。
- Python
- TypeScript
Secret is available を出力します。シークレットが JSON オブジェクトでない場合、キーが存在しない場合、またはその値が null の場合、フィールドの選択は失敗します。
シークレット参照の再利用
Python セッションの場合、共有シークレット参照をSandboxDefaults に配置します。TypeScript の場合は、サンドボックスを作成するときに secrets 配列を再利用します:
- Python
- TypeScript
secrets とマージし、完全に同一のものは無視します。異なる参照が同じ環境変数をターゲットにする場合、クライアントはサンドボックスを作成する前に ValueError を送出します。Python のタイプシグネチャについては、Secret reference を参照してください。シークレット注入のトラブルシューティング
シークレット参照を指定したサンドボックスが起動しない場合は、エラーテキストに基づいて認証、選択したチーム、配置を確認します。
CoreWeave API アクセストークンと Forge APIキーの両方を設定した場合も含め、CKS 配置では Forge シークレット注入を利用できません。