본문으로 건너뛰기

ADR-022 — Service-to-service mTLS (Linkerd)

항목
StatusProposed (2026-05-25 — #519 design step)
Related Epic#519, #505 Phase 13
Related ADRADR-021 (NetworkPolicy default-deny)

한 줄 결정: Linkerd 2.x sidecar 자동 주입으로 service-to-service mTLS. cert rotation 24h, identity = ServiceAccount + namespace. NetworkPolicy (ADR-021) 위에 cryptographic identity 층 추가.

결정

  1. Linkerd inject: linkerd.io/inject: enabled namespace annotation — gend / data namespace 모두.
  2. Identity: SA + ns 기반 (Linkerd default).
  3. Rotation: 24h cert rotation, root CA 1y rotation (annual ops).
  4. 외부 트래픽: gend-dmz namespace 는 inject 제외 (HMAC 인증으로 충분).
  5. 회귀 가드: scripts/lint_linkerd_injected.py — gend / data ns 의 모든 Deployment 가 inject 통과 검증.

비목표

  • 외부 ingress 의 client mTLS (mTLS pinning) 별도.
  • Istio / Cilium ServiceMesh 비교는 본 ADR 의 재검토 트리거 절에서만.