runlot

シークレット

シークレットの値は安全に保存され、再表示されることはありません。ワーカーからは大文字の名前で読み取ります。

runlot secret set STRIPE_KEY sk_live_xxx

値を省略すると、標準入力 (stdin) から読み取ります。シェルの履歴にシークレットの値を残さずに済みます。

printf %s "$KEY" | runlot secret set STRIPE_KEY

ワーカーから読み取る

export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    const key = env.STRIPE_KEY;
    // …
  },
};

名前は ^[A-Z][A-Z0-9_]{0,63}$ の形式に従う必要があります。大文字を使用すると、dbassets のような小文字のバインディング名と衝突しません。

一覧と削除

runlot secret list
STRIPE_KEY    v2    2026-09-05T14:02:11Z
DATABASE_SALT v1    2026-09-01T09:12:40Z

一覧には名前とバージョンのみを表示します。シークレットの値は、ダッシュボード、CLI、API のいずれでも再表示されることはなく、runlot が値を参照することもありません。

runlot secret delete STRIPE_KEY

削除すると、ワーカーからその値を読み取れなくなります。削除の前に確認を求めます。

ディレクトリ引数はありません

runlot secret set の 2 番目の引数はシークレットの値です。別のプロジェクトを対象に指定する場合は、ディレクトリ引数ではなくフラグを使用してください。

runlot secret set STRIPE_KEY sk_live_xxx --org me --project other-app

保存される場所

デプロイの設定には、シークレットの名前のみが含まれます。値はワーカープロセスの環境変数としてのみ渡され、設定ファイルには保存されません。そのため、設定ファイルが漏れても、そこにシークレットの値は含まれていません。

シークレットの値を変更するとバージョンが増加します。新しい値は、次のデプロイを待たずにワーカーが再起動した時点で適用されます。

このページの目次