feat: AI VM stack (WP-12) and Alloy telemetry on k8s, legacy and DB VMs (WP-15)

WP-12(실험 설계서 6장) vm/ai-env: apply.sh(시크릿 4종을 Secret Manager에서 파일로, 미등록이면
성능 저하 모드로 기동), compose(agent 8080·hitl 8081·rag-db pgvector 0.8.7-pg16), ai.env(Discord
서버 Selfheal Lab 1557424985793101824, approvals 1557425140302872698, escalation 1557425282363691048,
OPENAI_MODEL gpt-6.1-sol 후보), 프롬프트 3종, 러너북 11종(조치별·토폴로지·3층 절차).

WP-15(실험 설계서 4.1·4.3): apps/alloy.yaml(Alloy Helm 1.13.0 DaemonSet, 클러스터링으로 KSM·Argo CD·
cadvisor 스크랩 분산, demo 등 파드 로그 → Loki), apps/kube-state-metrics.yaml(Helm 8.6.0).
legacy-api compose에 Alloy 사이드카(up{job="legacy-api"}, 컨테이너 로그). DB VM은
vm/postgres-common/alloy.sh로 apt 설치 + prometheus.exporter.postgres(pg_replication_lag_seconds)
+ custom query pg_is_wal_replay_paused + PostgreSQL 로그.

vm/harness/apply.sh: 준비 대기 루프의 curl에 || true(러너 재기동 순간 curl 56으로 중단되던 문제,
2026-10-08 harness-sync 실측).
This commit is contained in:
seon committed 2026-10-08 01:47:38 +09:00
1 parent 59995f3601
commit 7ce2dc68fe
31 files changed
+528 -4

No files matched your search

+30
View File
@@ -0,0 +1,30 @@
# kube-state-metrics (experiment design 4.1 / 4.3: kube_pod_container_status_restarts_total for PodCrashLooping).
# Official chart: https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics (8.6.0 = app 2.20.0, index checked 2026-10-08)
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: kube-state-metrics
namespace: argocd
spec:
project: default
source:
repoURL: https://prometheus-community.github.io/helm-charts
chart: kube-state-metrics
targetRevision: 8.6.0
helm:
releaseName: kube-state-metrics
valuesObject:
fullnameOverride: kube-state-metrics
collectors: [pods, deployments, replicasets, nodes, daemonsets, statefulsets, namespaces, persistentvolumeclaims, jobs]
resources:
requests: { cpu: 20m, memory: 64Mi }
destination:
server: https://kubernetes.default.svc
namespace: monitoring
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- ServerSideApply=true
- CreateNamespace=true