init: k8s 폴더 구조init
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# Infrastructure
|
||||
|
||||
클라우드 또는 온프레미스의 네트워크, identity, DNS, registry와 Kubernetes
|
||||
cluster 같은 기반 리소스를 코드로 관리합니다.
|
||||
|
||||
```text
|
||||
components reusable primitive
|
||||
│
|
||||
├──────────────┐
|
||||
▼ ▼
|
||||
stacks live
|
||||
│ ▲
|
||||
└──────────────┘
|
||||
```
|
||||
|
||||
- `components`: 작고 재사용 가능한 구현 단위
|
||||
- `stacks`: 반복되는 component 조합(선택)
|
||||
- `live`: 실제 environment root와 state 경계
|
||||
- `tests`: component와 contract 검증
|
||||
|
||||
IaC 엔진은 프로젝트에서 하나를 선택합니다. Terraform/OpenTofu 호환이 필요하면
|
||||
같은 `.tf` 구성을 공유하고 실행 명령만 프로젝트 표준으로 통일합니다. 서로 다른
|
||||
엔진용으로 동일한 인프라 트리를 복제하지 않습니다.
|
||||
|
||||
IaC 파일을 추가할 때 `.iac-engine.example`을 `.iac-engine`으로 복사하고
|
||||
`tofu` 또는 `terraform` 중 하나만 기록합니다. 이 선택 파일은 커밋합니다.
|
||||
선택한 실행 파일과 version을 로컬/CI에 고정하고, 프로젝트별 `init -backend=false`
|
||||
및 semantic validate 단계도 검증 스크립트에 추가합니다. 기본 스켈레톤의 자동
|
||||
검사는 provider를 선택하지 않았기 때문에 IaC format까지만 수행합니다.
|
||||
|
||||
Kubernetes API 안의 platform/app 리소스는 원칙적으로 `gitops`가 소유합니다.
|
||||
클러스터 생성 시 반드시 필요한 최소 bootstrap 출력만 명시적인 contract로
|
||||
전달합니다.
|
||||
Reference in New Issue
Block a user