Files

1.5 KiB

Infrastructure

클라우드 또는 온프레미스의 네트워크, identity, DNS, registry와 Kubernetes cluster 같은 기반 리소스를 코드로 관리합니다.

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