844 B
844 B
ADR 0005: Cluster-first repository layout
Status: accepted
현재는 하나의 platform 팀, 하나의 dev cluster와 소수 workload를 가지므로 GitOps configuration monorepo를 유지한다. application source repository와 deployment configuration repository는 분리한다.
platform/,workloads/: 환경 중립 baseclusters/<cluster>/manifests: cluster-specific final compositionclusters/<cluster>/applications: Argo reconciliation inventoryiac/terraform: Kubernetes manifest와 분리된 external API IaCbootstrap: controller가 존재하기 전의 최소 seed
production 접근권한, 소유 팀, Terraform backend 또는 release cadence가 실제로 갈라질 때 platform GitOps, workload GitOps, IaC repo 분리를 재검토한다. 존재하지 않는 환경의 skeleton은 유지하지 않는다.