sbx secret set-custom
sbx secret set-custom
sbx에 내장되지 않은 서비스용 커스텀 시크릿을 만들거나 갱신하는 명령이에요. 플레이스홀더 방식으로 동작해서 실제 시크릿이 샌드박스에 직접 들어가지 않아요. 실험적 기능이에요.
출처: 문서
본문
실험적 기능 — 이 명령은 실험적이에요. 실험적 기능은 테스트와 피드백을 위한 것으로, 기능이나 설계가 릴리스 사이에 예고 없이 바뀌거나 향후 릴리스에서 완전히 제거될 수 있어요.
sbx에 내장되지 않은 서비스용 커스텀 시크릿을 만들거나 갱신해요. 커스텀 시크릿은 플레이스홀더를 통해 동작해요. 샌드박스는 실제 시크릿 대신 플레이스홀더 값을 보게 돼요. 샌드박스가 대상 호스트로 외부 요청을 보내면 프록시가 요청 헤더에서 플레이스홀더를 실제 시크릿으로 교체해요 — 시크릿이 샌드박스에 직접 들어가지 않아요.
--host는 정확한 호스트, IP 주소, 와일드카드 패턴을 받아요. --host를 반복해 한 시크릿으로 여러 무관한 도메인을 커버할 수 있어요. *는 단일 레이블, **는 임의 개수의 레이블을 매치해요. 예를 들어 *.example.com은 cli.example.com과 ide.example.com을 한 항목으로 커버해요.
커스텀 시크릿은 기본적으로 전역으로 적용돼요. --sandbox를 쓰면 특정 샌드박스로 범위를 지정해요.
--cloud를 쓰면 --host는 정확한 DNS 이름만 받아요(IP 주소나 와일드카드는 허용 안 됨). 프록시는 플레이스홀더를 치환하는 대신 해당 호스트로 보내는 요청에 --header를 설정해요.
Options
| Option | Default | Description |
| --command | | 명령의 표준 출력을 시크릿 값으로 사용해요 |
| --env | | 이 환경 변수를 플레이스홀더 값으로 샌드박스에 설정해요 |
| --format | | 헤더를 채우는 값의 형식으로, %s 하나 포함. --header 생략 시 기본 "Bearer %s" (--cloud와 함께) |
| --header | | 프록시가 --host 요청에 시크릿으로 설정하는 HTTP 헤더. 기본 Authorization (--cloud와 함께) |
| --host | | 호스트, IP 또는 와일드카드 패턴(예: *.example.com). 반복 가능. --cloud에서는 정확한 DNS 이름만 |
| --name | | 시크릿 이름. 기본은 첫 --host에서 유도 (--cloud와 함께) |
| --no-verify | | 저장할 때 --ref 또는 --command 소스를 확인하지 않아요 |
| --placeholder | | 플레이스홀더 값. 임의 접미사엔 {rand} 사용 (예: sk-{rand}) |
| --ref | | 시크릿 소스로 1Password op:// 참조 또는 AWS Secrets Manager ARN을 사용해요 |
| --refresh | | 시크릿 갱신 정책: on-demand(기본) 또는 일정 시간 후 |
| --sandbox | | 시크릿 범위를 한 샌드박스로 지정해요(기본: 모든 샌드박스) |
| --show-error | | 초기 확인 실패 시 리졸버 표준 오류를 보여줘요(시크릿을 포함할 수 있음) |
| -t, --token | | 시크릿 값(덜 안전: 셸 히스토리에 보임) |
| --value | | 시크릿 값(덜 안전: 셸 히스토리에 보임) |
Global options
| Option | Default | Description |
| --cloud | | 로컬 sandboxd 대신 Docker Cloud Sandboxes API로 디스패치해요 |
| -D, --debug | | 디버그 로깅을 활성화해요 |
Examples
# 전역 커스텀 시크릿 생성. 고유 플레이스홀더가 자동 생성돼요.
# 샌드박스 환경 변수 API_KEY가 플레이스홀더 값으로 설정되고, 호스트로 가는
# 외부 요청에서 플레이스홀더가 실제 시크릿으로 교체돼요.
sbx secret set-custom --host api.example.com --env API_KEY --value secret123
# 와일드카드 호스트로 하나의 키를 공유하는 여러 서브도메인 커버
sbx secret set-custom --host '*.coderabbit.ai' --env CODERABBIT_API_KEY --value secret123
# --host 플래그를 여러 개 써서 같은 키로 무관한 도메인 커버
sbx secret set-custom --host api.example.com --host api.other.io --env API_KEY --value secret123
# 전역 대신 특정 샌드박스로 범위 지정
sbx secret set-custom --sandbox my-sandbox --host api.example.com --env API_KEY --value secret123
# {rand} 접미사의 커스텀 플레이스홀더; CLI가 생성된 값을 출력해요
sbx secret set-custom --host api.example.com --placeholder sk-{rand} --value secret123