リファレンスAPI
シークレット
secrets カテゴリーの 3 個の API 操作を扱います。
| メソッド | パス | 説明 |
|---|---|---|
| GET | /v1/orgs/{orgSlug}/projects/{projectName}/secrets | シークレット名とバージョンの一覧です(runlot secret list) |
| PUT | /v1/orgs/{orgSlug}/projects/{projectName}/secrets/{secretName} | シークレットを作成または更新します(runlot secret set) |
| DELETE | /v1/orgs/{orgSlug}/projects/{projectName}/secrets/{secretName} | シークレットを削除します(runlot secret delete) |
GET /v1/orgs/{orgSlug}/projects/{projectName}/secrets
値はいかなるレスポンスにも含まれません。 値が外部に出る唯一の経路は worker の env.<NAME> を通じてです(docs/phase6.md B3・B4)。member 以上。
operationId listSecrets
| ステータスコード | 説明 | レスポンスボディ |
|---|---|---|
| 200 | 一覧取得 | SecretList |
| 403 | — | — |
| 404 | — | — |
PUT /v1/orgs/{orgSlug}/projects/{projectName}/secrets/{secretName}
これは冪等ではありません — 呼び出すたびに version が上がり、次の収束時にノードはそのプロジェクトの workerd を新しい環境にダウンタイムなしで置き換えます(デプロイと同じ経路です)。再デプロイは不要です。
cp-public は値を保存しません。cp-core がマスターキーで封印します(docs/phase6.md B1)。secret.set の監査イベントには名前のみが記録されます。
Member 以上です。
operationId setSecret
リクエストボディ: application/json ・ object
| ステータスコード | 説明 | レスポンスボディ |
|---|---|---|
| 200 | 保存された名前とバージョンです | SecretMeta |
| 400 | 名前が規則に従っていない場合(bad_request)、または予約された名前である場合(reserved_name: DB、ASSETS、RUNLOT_* — env.db と env.assets バインディングの大文字版、およびノードのプレフィックス) | Error |
| 403 | — | — |
| 404 | — | — |
DELETE /v1/orgs/{orgSlug}/projects/{projectName}/secrets/{secretName}
存在しない名前は 404 を返します — 何も削除せずに削除を主張するレスポンスはありません。Member 以上。secret.delete として監査されます。
operationId deleteSecret
| ステータスコード | 説明 | レスポンスボディ |
|---|---|---|
| 204 | 削除済み | — |
| 403 | — | — |
| 404 | — | — |