runlot
참조API

시크릿

secrets 카테고리의 API 작업 3개를 다룹니다.

메서드경로설명
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

값은 어떤 응답에도 포함되지 않습니다. 값이 나가는 유일한 방법은 워커의 env.<NAME>를 통하는 것입니다(docs/phase6.md B3·B4). member 이상입니다.

operationId listSecrets

상태 코드설명응답 본문
200목록 조회SecretList
403
404

PUT /v1/orgs/{orgSlug}/projects/{projectName}/secrets/{secretName}

이는 멱등적이지 않습니다 — 호출할 때마다 version이 증가하며, 다음 수렴(convergence) 시 노드가 해당 프로젝트의 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.dbenv.assets 바인딩의 대문자 버전, 그리고 노드 접두사)Error
403
404

DELETE /v1/orgs/{orgSlug}/projects/{projectName}/secrets/{secretName}

존재하지 않는 이름은 404를 반환합니다 — 아무것도 삭제하지 않으면서 삭제했다고 주장하는 응답은 없습니다. Member 이상입니다. 감사 로그에는 secret.delete로 기록됩니다.

operationId deleteSecret

상태 코드설명응답 본문
204삭제됨
403
404

이 페이지의 목차