Files
seon a500c3d40c fix: Alloy block syntax, dpkg lock wait, hitl local bind, ai-reader nodes RBAC, harness image f30af2a
- Alloy 설정 3종: rule 블록을 한 줄 쉼표 나열에서 줄바꿈 속성으로 수정(실측: k8s DaemonSet
  CrashLoopBackOff, db-replica alloy.service "expected TERMINATOR, got ,"). alloy fmt로 3종 파싱 확인.
- vm/postgres-common/alloy.sh: apt에 DPkg::Lock::Timeout=600(db-primary에서 unattended-upgrades 잠금으로 100 종료).
- vm/ai-env/compose.yaml: hitl 8081을 127.0.0.1에만 바인딩(agent는 compose 네트워크로 접근).
- workloads/rbac/ai-reader.yaml: nodes get/list/watch ClusterRole 추가(agent get_k8s(nodes) selfcheck 거부 해소).
- vm/harness/image.tag: f30af2a(POST /proposals/{token}/approve·reject 포함 러너).
2026-10-08 01:53:06 +09:00

43 lines
1.0 KiB
YAML

# AI VM read-only identity (Terraform design 6.11): built-in ClusterRole view.
apiVersion: v1
kind: ServiceAccount
metadata:
name: ai-reader
namespace: demo
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: selfheal-ai-reader-view
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: view
subjects:
- kind: ServiceAccount
name: ai-reader
namespace: demo
---
# nodes are cluster-scoped and outside ClusterRole view; the agent's get_k8s(nodes) tool needs read access (WP-12 selfcheck 2026-10-08)
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: selfheal-ai-reader-nodes
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: selfheal-ai-reader-nodes
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: selfheal-ai-reader-nodes
subjects:
- kind: ServiceAccount
name: ai-reader
namespace: demo