Land the Vault ACL policies and an idempotent apply script. 18 policies:
service-{forgejo,woodpecker}, bot-{dev,review,gardener,architect,planner,
predictor,supervisor,vault,dev-qwen}, runner-{GITHUB,CODEBERG,CLAWHUB,
NPM,DOCKER_HUB}_TOKEN + runner-DEPLOY_KEY, and dispatcher.
tools/vault-apply-policies.sh diffs each file against the on-server
policy text before calling hvault_policy_apply, reporting created /
updated / unchanged per file. --dry-run prints planned names + SHA256
and makes no Vault calls.
vault/policies/AGENTS.md documents the naming convention (service-/
bot-/runner-/dispatcher), the KV path each policy grants, the rationale
for one-policy-per-runner-secret (AD-006 least-privilege at dispatch
time), and what lands in later S2.* issues (#880-#884).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
16 lines
408 B
HCL
16 lines
408 B
HCL
# vault/policies/bot-architect.hcl
|
|
#
|
|
# Architect agent: reads its own bot KV namespace + the shared forge URL.
|
|
# Attached to the architect-agent Nomad job via workload identity (S2.4).
|
|
|
|
path "kv/data/disinto/bots/architect/*" {
|
|
capabilities = ["read"]
|
|
}
|
|
|
|
path "kv/metadata/disinto/bots/architect/*" {
|
|
capabilities = ["list", "read"]
|
|
}
|
|
|
|
path "kv/data/disinto/shared/forge/*" {
|
|
capabilities = ["read"]
|
|
}
|