ADR-022 — Service-to-service mTLS (Linkerd)
| 항목 | 값 |
|---|---|
| Status | Proposed (2026-05-25 — #519 design step) |
| Related Epic | #519, #505 Phase 13 |
| Related ADR | ADR-021 (NetworkPolicy default-deny) |
한 줄 결정: Linkerd 2.x sidecar 자동 주입으로 service-to-service mTLS. cert rotation 24h, identity = ServiceAccount + namespace. NetworkPolicy (ADR-021) 위에 cryptographic identity 층 추가.
결정
- Linkerd inject:
linkerd.io/inject: enablednamespace annotation — gend / data namespace 모두. - Identity: SA + ns 기반 (Linkerd default).
- Rotation: 24h cert rotation, root CA 1y rotation (annual ops).
- 외부 트래픽: gend-dmz namespace 는 inject 제외 (HMAC 인증으로 충분).
- 회귀 가드:
scripts/lint_linkerd_injected.py— gend / data ns 의 모든 Deployment 가 inject 통과 검증.
비목표
- 외부 ingress 의 client mTLS (mTLS pinning) 별도.
- Istio / Cilium ServiceMesh 비교는 본 ADR 의
재검토 트리거절에서만.