Files
project-gitops/infrastructure/README.md
T
2026-08-28 17:24:26 +09:00

34 lines
1.5 KiB
Markdown

# 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로
전달합니다.