상황
- 프로젝트
.env
파일 관련해서 현재 신규 팀원이 생기거나, 프로젝트 진행 중 파일이 수정되면 슬랙으로 전체 내용 공유
- 해당
.env
파일은 Github Secrets에 저장 후 자동배포 Workflow에서 사용 중
- 개인 로컬 작업 중 환경 변수를 수정한 경우에도 원상 복구하기 위해서는 미리 복사본을 만들어 놓거나, 동료에게 공유 요청 필요
- 개발자가 늘어남에 따라 슬랙보다 안전한 공유된 공간에서 지속적으로 보안 파일이 관리될 필요성을 느낌
- Github Secrets는 저장 후에 열람 및 공유 불가
- AWS Secrets Manager는 유료이면서, UI 및 기능적으로 불편함이 많음
Doppler 장점
-
저장한 시크릿 공유 및 형상관리
-
Doppler에서 시크릿 추가, 수정, 삭제 작업 시 Github Secrets에 자동 반영
- 통합할 Github Organization이나 계정의 admin 권한자가 Integration 절차 진행 필요
-
Doppler에서 시크릿 추가, 수정, 삭제 작업 시 Webhook 기능을 이용해 해당 사실 자동 공유
- 무료 티어에서는 슬랙과 직접 연동 불가
시크릿 변경 알림 파이프라인 구성
-
환경별 시크릿 관리
- 환경별 브랜치 시크릿 관리 가능 (개인 로컬 시크릿으로 사용)
-
무료 티어로 충분히 편리함
- 인원제한, 기능제한이 도입 시점 기준 충분함 (pricing)
-
Docs 정리가 잘 되어 있다
Doppler 사용
<aside>
💡 Github Secrets 중 애플리케이션 코드에 영향이 가는 env 파일에 대한 시크릿만 Doppler에서 관리하는 것으로 구상했습니다
</aside>
- Github Actions 연동 시 Config는 하나만 사용하므로 Development에서 모든 시크릿을 관리
Name
은 Github Secrets 시크릿 이름과 동일하게
Value
는 String
타입으로 설정 후 파일 내용을 통째로 옮기시면 됩니다
- branch의 변동사항은 Github과 sync되지 않기 때문에 자유롭게 사용해주세요 (슬랙 알림도 없습니다)
- 참고 사진
- 시크릿을 공유할 필요가 있는 경우 SHARE 기능 사용
- LOGS 탭에서 변동 로그 확인 가능
참고
- Doppler를 Repository와 통합 시
DOPPLER_CONFIG
, DOPPLER_ENVIRONMENT
, DOPPLER_PROJECT
라는 시크릿이 자동으로 생성된다
- 기존 Github Secrets에 존재하던 시크릿은 Doppler에서 불러오지 못한다
- 시크릿 관련 쓰기 작업은 모두 Doppler에서 진행해야 한다