환경 스키마와 기본값 구분
ConfigModule이 읽는 변수, 타입, 필수 여부, 운영 금지 기본값을 schema로 고정해 누락 시 앱이 조용히 뜨지 않게 합니다.
schema환경 변수는 편의 설정이 아니라 운영 계약입니다. 값의 출처, 검증 방식, 노출 금지 범위를 먼저 고정해야 배포 환경이 바뀌어도 같은 기준으로 서비스를 띄울 수 있습니다.
ConfigModule이 읽는 변수, 타입, 필수 여부, 운영 금지 기본값을 schema로 고정해 누락 시 앱이 조용히 뜨지 않게 합니다.
schema로컬 .env, CI secret, Kubernetes/Cloud secret manager의 책임을 나누고 Docker image나 repository에는 비밀값이 들어가지 않게 합니다.
runtime secret잘못된 DB_URL, 빈 JWT_SECRET, 만료된 API key로 부팅/요청 테스트를 실행해 실패 메시지가 값 자체를 출력하지 않는지 봅니다.
redaction환경별 config snapshot은 키 이름과 출처만 남기고, secret 접근 로그와 회전 날짜를 배포 기록에 연결합니다.
rotation질문: ConfigModule schema가 누락 값, 잘못된 타입, secret 노출을 부팅 전에 막는가
순서: env schema 정의 -> 런타임 secret 주입 -> 누락/만료/노출 케이스 재현
위험: 운영에서 기본 JWT_SECRET이나 로컬 DB_URL로 부팅되면 장애보다 먼저 데이터 노출 사고가 됩니다.