seon 26061a474b chore: ai image b0ff118 (external responder), harness ed3d41d (26 min diagnose for external-*)
external-* 모델 참고 측정용. ai-agent 는 EXTERNAL_ADDR=:8090 리스너를 켜되 호스트의
127.0.0.1:8090 에만 매핑해 IAP SSH 터널로만 닿게 한다(응답이 곧 진단이므로 VPC 노출 금지).
ai.env 에 진단·턴 대기 시간(1500/1200초)을 명시. 하네스는 external- 모델의 /diagnose 를
26분 기다린다. VM 반영(make ai-sync / harness-sync)은 진행 중인 m1·Fable 배치가 끝난 뒤.
2026-10-16 09:10:07 +09:00

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/<role>/apply.sh GCE startup script and make vm-sync WP-08..12

vm/<role> matches the role metadata each VM gets from Terraform: observability, harness, ai-env, postgres-primary, postgres-replica, legacy-api. The startup script runs vm/<role>/apply.sh when it exists and is executable; apply.sh must be idempotent because make vm-sync re-runs it.

S
Description
Self-healing lab GitOps: Argo CD app-of-apps, k8s workloads, VM compose/scripts, kubeadm bootstrap (public: nodes and VMs clone it anonymously at boot)
Readme
199 KiB
0 Stars 2 Watchers 0 Forks
Languages
Shell 95.3%
JavaScript 4.6%