905 B
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을 검토한다.