ADR-005 env 라벨 주입 = 기존 APP_ENV 재사용, override 리터럴 주입

상태

채택 (2026-07-03)

맥락

dev/prod 환경 각각에 env 라벨 값을 주입해야 한다(FR-5). application.yml:171management.metrics.tags.env: ${APP_ENV:local}이 이미 존재. 신규 라벨 키를 만들면 안 되고(FR-5), dev/prod 스택에 local 기본값이 잔존하면 안 된다(NFR 0건).

결정

  • docker-compose.dev.yml의 backend environmentAPP_ENV: dev, prod override에 APP_ENV: prod리터럴 주입.
  • 신규 환경변수·라벨 키 도입 없음 — 기존 APP_ENV를 그대로 소비.
  • .env.locallocal 기본값은 compose 밖 bare gradlew bootRun 개발자 로컬에만 유효(하위 호환), dev/prod 스택엔 override가 명시 주입.

대안과 미채택 사유

  • 신규 DEPLOY_ENV 키 도입: FR-5 위반(기존 체계 재사용 명시).
  • .env.*에만 두고 override 미명시: .env 로딩 실패 시 local 잔존 위험 → override 리터럴로 확실 주입.

결과

  • 검증: docker exec sports-dev-backend-1 env | grep APP_ENVdev, prod → prod. local 잔존 0건.
  • management.metrics.tags.env가 dev/prod로 정확히 태깅되어 ⑤ 계측 환경 구분 근거 제공.