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