Config Boundary

설정과 비밀 정보 경계

설정값은 코드에서 읽지만, 비밀 값은 코드와 저장소 밖에서 주입되어야 운영 환경을 안전하게 바꿀 수 있습니다.

Code설정 키만 참조
Env환경별 값 주입
Validate누락과 형식 검사
Runtime서비스에서 안전하게 사용
01

환경 분리

dev, staging, production 값을 파일명과 배포 환경으로 분리합니다.

02

스키마 검증

필수 값, 포트 번호, URL 형식을 시작 시점에 검증합니다.

03

Git 제외

.env와 키 파일은 저장소에 남기지 않습니다.

04

회전 가능성

유출되면 즉시 교체할 수 있도록 키 소유권을 추적합니다.

좋은 설정 원칙

  • 기본값은 개발 편의용으로만 두고 운영 비밀의 기본값은 만들지 않습니다.
  • ConfigService 접근 지점을 모듈 경계 안에 모아 테스트 가능하게 둡니다.
  • 로그에는 키 이름은 남겨도 실제 비밀 값은 남기지 않습니다.

위험 신호

.env commit즉시 회수
console.log마스킹
missing key부팅 실패
shared key권한 분리