Files
service-catalog/update_catalog/docs/decisions/002-dip-catalog-structure.md
T
2026-03-06 17:06:07 +09:00

1.9 KiB

ADR 002: dip-catalog 디렉토리 기반 Helm Chart 구조를 기준으로 설계

상태: 채택 (2026-03-03)


배경

대상 카탈로그는 GitHub 레포 내 manifests/helm/<chart>/<version>/ 구조로 관리된다. 각 버전 디렉토리는 완전한 Helm chart 구조를 포함하며, 추가 문서와 기본 배포 values가 존재한다.

  • README.md, BUILD-README.md, CUSTOM-README.md (버전 디렉토리 내)
  • custom-values.yaml (배포 시 기본 values)

이 구조는 일반 Helm repo/index 기반 감지 방식과 다르므로, 감지/입력/문서 생성 방식을 조정해야 한다.


결정

  1. 버전 감지는 디렉토리 기반으로 수행한다.
    • manifests/helm/<chart>/ 하위 버전 디렉토리 변화 또는 git diff로 신규 버전 감지
  2. helm_diff 입력에 chart_path를 추가하고 dip-catalog에서는 이를 우선 사용한다.
  3. custom-values.yaml을 기본 values_override로 적용한다.
  4. README/BUILD/CUSTOM 문서를 요약하여 LLM 입력 컨텍스트(docs_context)로 제공한다.
    • 단, 컨텍스트는 “참고용”으로만 사용하고 diff에 없는 변경을 생성하지 않는다.

이유

  • 레포 구조가 Helm repo/index.yaml 방식이 아니므로 기존 감지 방법이 부정확하다.
  • 동일 chart라도 버전 디렉토리마다 커스텀 문서 및 기본 values가 존재해, 업그레이드 문서 생성에 중요한 맥락이 된다.

결과

  • MCP Tool 인터페이스 및 설계 문서에 chart_path, docs_context 반영
  • LLM Summarizer는 문서 컨텍스트를 참고하되, Structured Diff JSON을 우선한다

대안으로 고려했던 것

Helm repo/index 기반 감지 유지

  • 장점: 기존 설계 재사용 가능
  • 단점: dip-catalog 구조에는 적용 불가
  • 기각 이유: 실제 운영 구조와 불일치