Commit Graph
3 Commits
Author SHA1 Message Date
seon 31334fac72 fix: write the join command before Argo CD and do not block on its rollout
CP는 NoSchedule taint를 유지하므로 워커가 join하기 전에는 Argo CD 파드가 Pending이다.
롤아웃 대기를 빼고 join 명령 저장을 앞으로 옮긴다.
2026-09-24 00:09:56 +09:00
seon 8ddf12c588 feat: add kubeadm bootstrap, Argo CD root app and lab RBAC
Terraform 설계서 7.2·7.3의 WP-07 내용.

- bootstrap/kubeadm/init-cp.sh: kubeadm init(사설 IP advertise, EIP cert SAN,
  pod CIDR 10.244.0.0/16) → flannel v0.28.9 → Argo CD v3.5.3(server-side apply)
  → root-app 적용 → 워커 join 명령을 /opt/selfheal/join.sh(0600)에 저장. 재실행 안전.
- bootstrap/kubeadm/join-worker.sh: join 명령을 stdin으로 받아 실행(토큰이 터미널·로그에
  남지 않음). 이미 join된 노드는 0으로 종료.
- argocd/root-app.yaml: apps/ 재귀 app-of-apps(공개 저장소, 자격증명 불요).
- apps/rbac.yaml + workloads/rbac: 네임스페이스 chaos-mesh·demo, SA harness(ClusterRole
  selfheal-harness: chaos-mesh.org/*, deployments·scale, pods, nodes patch, pods/eviction),
  SA ai-reader(ClusterRole view).
2026-09-24 00:09:24 +09:00
seon 2fc6305e1b chore: scaffold gitops repository layout
Terraform 설계서 2장의 디렉터리 구조대로 뼈대만 만든다. 각 디렉터리의 내용은
해당 WP(07·08~12·14·15)에서 채운다. VM 디렉터리 이름은 Terraform이 VM
메타데이터로 넘기는 role 값(postgres-primary/-replica 포함)과 일치시킨다.
저장소는 공개이며 시크릿은 두지 않는다(값은 Secret Manager).
2026-09-23 20:38:25 +09:00