문제: 서비스가 늘어날수록 시크릿 관리가 복잡해진다
.env 파일이 서버마다 흩어져 있으면 어떤 값이 최신인지 알 수 없다.
Doppler는 이 문제를 프로젝트 단위 시크릿 관리로 해결한다.
설정 방법
- Doppler 프로젝트 생성 (서비스당 1개)
prd환경에 시크릿 등록.kamal/secrets에서 Doppler adapter 사용:
RAILS_MASTER_KEY=$(cat config/master.key)
KAMAL_REGISTRY_PASSWORD=$(gh auth token)
# Doppler에서 나머지 시크릿 가져오기
DATABASE_PASSWORD=$(kamal secrets fetch --adapter doppler --from myapp/prd DATABASE_PASSWORD | kamal secrets extract DATABASE_PASSWORD)
주의사항
.kamal/secrets는 dotenv 파서라서source,if등 셸 빌트인을 지원하지 않는다$()명령어 치환만 사용 가능RAILS_MASTER_KEY와KAMAL_REGISTRY_PASSWORD는 Doppler에 넣지 않는다 (로컬 파일/gh CLI)
Free tier로 10개 프로젝트까지 무료. 6개 서비스 운영에 충분하다.