From 2fc6305e1b00ace431054989bd90b7da5a65661f Mon Sep 17 00:00:00 2001 From: seonNoh Date: Wed, 23 Sep 2026 20:38:25 +0900 Subject: [PATCH] chore: scaffold gitops repository layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Terraform 설계서 2장의 디렉터리 구조대로 뼈대만 만든다. 각 디렉터리의 내용은 해당 WP(07·08~12·14·15)에서 채운다. VM 디렉터리 이름은 Terraform이 VM 메타데이터로 넘기는 role 값(postgres-primary/-replica 포함)과 일치시킨다. 저장소는 공개이며 시크릿은 두지 않는다(값은 Secret Manager). --- README.md | 24 ++++++++++++++++++++++++ apps/README.md | 3 +++ argocd/README.md | 3 +++ bootstrap/kubeadm/README.md | 3 +++ vm/ai-env/README.md | 3 +++ vm/harness/README.md | 3 +++ vm/legacy-api/README.md | 3 +++ vm/observability/README.md | 3 +++ vm/postgres-primary/README.md | 3 +++ vm/postgres-replica/README.md | 3 +++ workloads/alloy/README.md | 3 +++ workloads/chaos-mesh/README.md | 3 +++ workloads/demo-app/README.md | 3 +++ workloads/ingress-nginx/README.md | 3 +++ 14 files changed, 63 insertions(+) create mode 100644 README.md create mode 100644 apps/README.md create mode 100644 argocd/README.md create mode 100644 bootstrap/kubeadm/README.md create mode 100644 vm/ai-env/README.md create mode 100644 vm/harness/README.md create mode 100644 vm/legacy-api/README.md create mode 100644 vm/observability/README.md create mode 100644 vm/postgres-primary/README.md create mode 100644 vm/postgres-replica/README.md create mode 100644 workloads/alloy/README.md create mode 100644 workloads/chaos-mesh/README.md create mode 100644 workloads/demo-app/README.md create mode 100644 workloads/ingress-nginx/README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..f222cdd --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# selfheal-lab-gitops + +GitOps and configuration repository for the self-healing verification lab +(VM + container mixed environment). Infrastructure lives in +`seon-labs/selfheal-lab-terraform`; this repository holds everything that runs +on top of it. + +This repository is **public on purpose**: every EC2 node and GCE VM clones it +anonymously at first boot (cloud-init / startup script), and MIG instances are +recreated by autohealing without an operator. Never commit secrets here; values +live in GCP Secret Manager and are fetched at runtime. + +| Path | Owner | Filled in | +|---|---|---| +| `bootstrap/kubeadm/` | operator, run once | WP-07: containerd/kubeadm init+join, flannel, Argo CD install, root-app | +| `argocd/root-app.yaml` | Argo CD app-of-apps root | WP-07 | +| `apps/` | child Argo CD Applications | WP-14 | +| `workloads/{demo-app,ingress-nginx,chaos-mesh,alloy}/` | Argo CD | WP-14, WP-15 | +| `vm//apply.sh` | GCE startup script and `make vm-sync` | WP-08..12 | + +`vm/` matches the `role` metadata each VM gets from Terraform: +`observability`, `harness`, `ai-env`, `postgres-primary`, `postgres-replica`, +`legacy-api`. The startup script runs `vm//apply.sh` when it exists and is +executable; `apply.sh` must be idempotent because `make vm-sync` re-runs it. diff --git a/apps/README.md b/apps/README.md new file mode 100644 index 0000000..38f0f28 --- /dev/null +++ b/apps/README.md @@ -0,0 +1,3 @@ +# apps + +Placeholder. See the root README for the work package that fills this directory. diff --git a/argocd/README.md b/argocd/README.md new file mode 100644 index 0000000..690a09d --- /dev/null +++ b/argocd/README.md @@ -0,0 +1,3 @@ +# argocd + +Placeholder. See the root README for the work package that fills this directory. diff --git a/bootstrap/kubeadm/README.md b/bootstrap/kubeadm/README.md new file mode 100644 index 0000000..c4375f2 --- /dev/null +++ b/bootstrap/kubeadm/README.md @@ -0,0 +1,3 @@ +# bootstrap/kubeadm + +Placeholder. See the root README for the work package that fills this directory. diff --git a/vm/ai-env/README.md b/vm/ai-env/README.md new file mode 100644 index 0000000..4a03477 --- /dev/null +++ b/vm/ai-env/README.md @@ -0,0 +1,3 @@ +# vm/ai-env + +Placeholder. See the root README for the work package that fills this directory. diff --git a/vm/harness/README.md b/vm/harness/README.md new file mode 100644 index 0000000..6ff5953 --- /dev/null +++ b/vm/harness/README.md @@ -0,0 +1,3 @@ +# vm/harness + +Placeholder. See the root README for the work package that fills this directory. diff --git a/vm/legacy-api/README.md b/vm/legacy-api/README.md new file mode 100644 index 0000000..2fbeb77 --- /dev/null +++ b/vm/legacy-api/README.md @@ -0,0 +1,3 @@ +# vm/legacy-api + +Placeholder. See the root README for the work package that fills this directory. diff --git a/vm/observability/README.md b/vm/observability/README.md new file mode 100644 index 0000000..45be382 --- /dev/null +++ b/vm/observability/README.md @@ -0,0 +1,3 @@ +# vm/observability + +Placeholder. See the root README for the work package that fills this directory. diff --git a/vm/postgres-primary/README.md b/vm/postgres-primary/README.md new file mode 100644 index 0000000..2ce7ce7 --- /dev/null +++ b/vm/postgres-primary/README.md @@ -0,0 +1,3 @@ +# vm/postgres-primary + +Placeholder. See the root README for the work package that fills this directory. diff --git a/vm/postgres-replica/README.md b/vm/postgres-replica/README.md new file mode 100644 index 0000000..373e450 --- /dev/null +++ b/vm/postgres-replica/README.md @@ -0,0 +1,3 @@ +# vm/postgres-replica + +Placeholder. See the root README for the work package that fills this directory. diff --git a/workloads/alloy/README.md b/workloads/alloy/README.md new file mode 100644 index 0000000..9118888 --- /dev/null +++ b/workloads/alloy/README.md @@ -0,0 +1,3 @@ +# workloads/alloy + +Placeholder. See the root README for the work package that fills this directory. diff --git a/workloads/chaos-mesh/README.md b/workloads/chaos-mesh/README.md new file mode 100644 index 0000000..e4e8051 --- /dev/null +++ b/workloads/chaos-mesh/README.md @@ -0,0 +1,3 @@ +# workloads/chaos-mesh + +Placeholder. See the root README for the work package that fills this directory. diff --git a/workloads/demo-app/README.md b/workloads/demo-app/README.md new file mode 100644 index 0000000..87af39b --- /dev/null +++ b/workloads/demo-app/README.md @@ -0,0 +1,3 @@ +# workloads/demo-app + +Placeholder. See the root README for the work package that fills this directory. diff --git a/workloads/ingress-nginx/README.md b/workloads/ingress-nginx/README.md new file mode 100644 index 0000000..0f3da4e --- /dev/null +++ b/workloads/ingress-nginx/README.md @@ -0,0 +1,3 @@ +# workloads/ingress-nginx + +Placeholder. See the root README for the work package that fills this directory.