설정 경계

코드, 환경, 비밀 저장소의 책임을 나눈다

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

환경 분리
dev · staging · production 값 분리

같은 코드가 환경별 변수로 다르게 동작하게 만든다.

스키마 검증
필수 값과 형식을 시작 시점에 검사

누락된 DB URL이나 잘못된 PORT는 부팅 단계에서 실패시킨다.

Git 제외
.env와 키 파일은 저장소에 남기지 않음

.env.example에는 이름과 형식만 남긴다.

런타임 주입
CI/CD Secret 또는 Secret Manager

실제 값은 배포 시점이나 실행 환경에서 주입한다.

원칙: 이름은 코드에 있어도 되지만, 실제 비밀 값은 코드와 Git 기록에 남기지 않는다.