refactor: 구조 변경
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# 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 분리는 폴더 수가 아니라 소유권과 권한 경계가 달라질 때 수행합니다.
|
||||
Reference in New Issue
Block a user