refactor: 폴더 구조 변경

This commit is contained in:
donghyeon-ka
2026-08-02 00:22:19 +09:00
parent f9c463f87a
commit be2f8e4863
1869 changed files with 4565 additions and 295591 deletions
+11
View File
@@ -0,0 +1,11 @@
# Bootstrap
선언형 인프라와 GitOps가 스스로 동작하기 전에 한 번 또는 매우 드물게 수행하는
최소 초기화만 둡니다.
- `foundation`: remote state, locking, 최초 identity 같은 선행 조건
- `gitops`: 선택한 controller 설치와 cluster root 연결
일반 네트워크, Kubernetes cluster, addon과 application을 이곳에 두지 않습니다.
부트스트랩 절차는 반복 실행 가능하고 감사 가능해야 하며, 장기 수동 운영 경로가
되어서는 안 됩니다.
+21
View File
@@ -0,0 +1,21 @@
# Foundation Bootstrap
다른 IaC state가 의존하는 최소 선행 조건을 관리합니다.
가능한 대상:
- remote state storage와 locking
- state 암호화 key
- CI의 최초 workload identity/OIDC trust
- 조직 공통 account/project 초기 설정
## 계약
- 일반 infrastructure state와 분리합니다.
- 변경 권한과 실행 빈도를 최소화합니다.
- local state를 장기간 유지하지 않습니다.
- output과 후속 `infrastructure/live`가 값을 소비하는 방식을 문서화합니다.
- provider credential이나 실제 backend secret을 커밋하지 않습니다.
조직 공통 foundation이 외부 저장소에 이미 있다면 이 폴더에는 소유 팀, output
contract와 복구 절차만 기록합니다.
+25
View File
@@ -0,0 +1,25 @@
# GitOps Bootstrap
Flux, Argo CD 등 **하나의** GitOps controller를 선택해 설치하고 cluster root에
연결하는 확장 위치입니다. 현재 프로젝트에는 controller가 없으며 `lab`
`scripts/bin/bootstrap.sh`가 stage를 순서대로 적용합니다.
포함 범위:
- controller 설치 또는 설치 manifest
- source repository/OCI 연결
- `gitops/clusters/<...>` root reconcile 선언
- controller용 최소 identity와 secret manager 접근 연결
제외 범위:
- ingress, certificate, DNS, storage, observability addon
- application workload
- controller 설치 후 Git으로 관리할 수 있는 일반 Kubernetes 리소스
bootstrap credential과 recovery 절차는 `docs/runbooks`에 문서화합니다.
현재 `gitops/clusters/lab/main/all`은 readiness 순서를 표현하지 못하는 감사용
aggregate이므로 controller root로 연결하지 않습니다. Controller를 도입할 때는
`docs/decisions`에 선택과 ordering/health 모델을 기록한 뒤 각 stage를 순차
reconcile하도록 구성합니다.