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}$ 여야 합니다. 대문자만 쓰는 이유는 db · assets 같은 소문자 바인딩과 절대 부딪히지 않게 하기 위해서입니다.

목록과 삭제

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

이름과 버전만 나옵니다. 값은 어디에서도 되찍지 않습니다 — 대시보드에도, CLI 에도, API 에도 없습니다. 우리도 읽지 않습니다.

runlot secret delete STRIPE_KEY

지우면 워커가 그 값을 더는 읽을 수 없습니다. 확인을 한 번 묻습니다.

디렉토리 인자가 없습니다

runlot secret set 의 둘째 인자는 입니다. 그래서 다른 프로젝트를 대상으로 하려면 디렉토리가 아니라 플래그를 씁니다.

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

저장되는 자리

배포 설정에는 시크릿의 이름만 들어갑니다. 값은 프로세스 환경으로만 들어가고, 설정 파일에는 "어느 환경 변수를 읽어라" 는 지시만 남습니다. 설정을 통째로 유출해도 값이 새지 않는 구조입니다.

값을 바꾸면 버전이 오릅니다. 새 값은 다음 배포부터가 아니라 워커가 다시 뜰 때부터 적용됩니다.

이 페이지에서