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