refactor: 구조 변경

This commit is contained in:
donghyeon-ka
2026-08-28 17:24:26 +09:00
parent a6f6c663e0
commit b8626946b1
192 changed files with 2251 additions and 206 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와 복구 절차만 기록합니다.
+19
View File
@@ -0,0 +1,19 @@
# GitOps Bootstrap
Flux, Argo CD 등 **하나의** GitOps controller를 선택해 설치하고 cluster root에
연결합니다. 선택하지 않은 controller의 병렬 구조를 만들지 않습니다.
포함 범위:
- 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`에 문서화합니다.
@@ -8,7 +8,7 @@ spec:
source:
repoURL: https://git.learn.hyeonworks.com/donghyeon.kang/project-gitops
targetRevision: main
path: platform/control-plane/argocd
path: gitops/clusters/dev-k3s
destination:
server: https://kubernetes.default.svc
namespace: argocd