# Scaled Layout Example 계정·리전·환경·클러스터가 늘어나도 lifecycle과 entrypoint 계약은 바뀌지 않습니다. ```text 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 분리는 폴더 수가 아니라 소유권과 권한 경계가 달라질 때 수행합니다.