# 0001. 수명주기와 소유권 경계 - 상태: 승인 - 날짜: 2026-07-26 - 결정자: repository maintainers ## 배경 인프라 저장소는 규모가 커지면서 cloud provisioning, cluster bootstrap, platform addon과 application 배포가 뒤섞이기 쉽습니다. 이 경우 동일 리소스를 여러 도구가 관리하거나, 작은 변경이 불필요하게 넓은 권한과 state를 요구합니다. ## 결정 저장소를 다음 세 수명주기로 분리합니다. 1. `bootstrap`: 선언형 관리가 시작되기 위한 최소 선행 조건 2. `infrastructure`: cloud/cluster 리소스 provisioning 3. `gitops`: Kubernetes desired state의 지속적 reconciliation 재사용 구현은 catalog 영역에 두고, `infrastructure/live`와 `gitops/clusters`만 실제 환경 진입점으로 사용합니다. 하나의 리소스는 하나의 수명주기와 하나의 도구만 소유합니다. ## 결과 - state, 권한과 배포 실패 범위를 작게 유지할 수 있습니다. - 소규모는 선택 디렉터리를 사용하지 않고도 시작할 수 있습니다. - 계정, 리전과 클러스터가 늘어날 때 같은 leaf를 추가해 확장할 수 있습니다. - 초기에는 디렉터리가 더 많아 보이지만 각 위치의 책임이 명확해집니다. ## 대안 - 환경별 전체 복사: 시작은 단순하지만 공통 변경의 drift와 중복이 빠르게 증가합니다. - 도구별 최상위 폴더: 구현 도구는 잘 보이지만 리소스 소유권과 수명주기가 섞입니다. - 모든 리소스를 단일 state로 관리: 작은 데모에는 가능하지만 권한과 장애 범위가 지나치게 커집니다.