Files
project-gitops/docs/adr/0004-argo-bootstrap-stages.md
T

905 B

ADR 0004: Single Argo CD root

Status: accepted

Argo CD 설치 후 bootstrap/argocd/root-application.yaml 하나만 seed한다. root는 clusters/dev-k3s의 AppProject와 모든 child Application을 소유한다.

반복 kubectl apply와 foundation/platform/application별 root wrapper는 제거한다. routine deployment는 Git merge만으로 시작한다.

Child Application의 sync wave는 객체 생성 순서를 가독성 있게 표현하지만 서로 다른 Application의 readiness dependency로 간주하지 않는다. Workload와 hook은 Vault/DB가 늦게 준비되는 상황을 retry할 수 있어야 한다.

Root가 child Application을 prune하거나 삭제하려면 확인이 필요하다. shared resource 소유권 충돌은 sync를 실패시킨다. 현재 규모에서는 명시적 Application을 사용하고 두 번째 클러스터가 생길 때 ApplicationSet을 검토한다.