설정 분류
포트, 기능 플래그, 외부 URL, 비밀키를 위험도별로 나눈다.
NestJS 설정 관리는 .env를 읽는 코드가 아니라, 공개 설정과 비밀값, 환경별 기본값, 검증 실패를 애플리케이션 시작 단계에서 통제하는 일이다.
포트, 기능 플래그, 외부 URL, 비밀키를 위험도별로 나눈다.
ConfigModule 로딩 시 schema로 누락과 타입 오류를 즉시 실패시킨다.
서비스는 process.env를 직접 읽지 않고 typed config provider를 통해 값을 받는다.
Secret Manager나 CI 변수로 배포 시점에 값을 주입하고 노출 로그를 차단한다.
@Injectable()
export class AuthConfig {
constructor(private readonly config: ConfigService) {}
jwtSecret() { return this.config.getOrThrow<string>('JWT_SECRET'); }
}