Files
project-gitops/examples/scaled
2026-08-28 17:24:26 +09:00
..
2026-08-28 17:24:26 +09:00

Scaled Layout Example

계정·리전·환경·클러스터가 늘어나도 lifecycle과 entrypoint 계약은 바뀌지 않습니다.

infrastructure/
├── components/
│   └── aws/
│       ├── network/
│       ├── identity/
│       └── eks/
├── stacks/
│   ├── regional-foundation/
│   └── kubernetes-cluster/
└── live/
    └── aws/
        ├── platform-nonprod/
        │   └── ap-northeast-2/
        │       ├── dev/{network,cluster-a}/
        │       └── staging/{network,cluster-a}/
        └── platform-prod/
            ├── ap-northeast-2/prod/{network,cluster-a}/
            └── ap-southeast-1/prod/{network,cluster-b}/

gitops/
├── platform/{core,networking,security,observability}/
├── policies/{baseline,production}/
├── tenants/{team-a,team-b}/
├── apps/{api,worker}/
└── clusters/
    ├── dev/ap-northeast-2/cluster-a/
    ├── staging/ap-northeast-2/cluster-a/
    └── prod/
        ├── ap-northeast-2/cluster-a/
        └── ap-southeast-1/cluster-b/

중괄호 표기는 설명을 줄이기 위한 것이며 실제 폴더명으로 사용하지 않습니다.

분리 기준

  • regional-foundation network stack과 cluster는 파괴 영향이 달라 state를 분리합니다.
  • production과 non-production은 account, credential과 state를 분리합니다.
  • 공통 구현은 catalog에 한 번만 두고 cluster root는 선택과 patch만 가집니다.
  • tenant/team별 권한이 다르면 CODEOWNERS와 repository 분리를 검토합니다.
  • repository 분리는 폴더 수가 아니라 소유권과 권한 경계가 달라질 때 수행합니다.