[nomad-step-2] S2.1 — vault/policies/*.hcl + tools/vault-apply-policies.sh #879
Labels
No labels
action
backlog
blocked
bug-report
cannot-reproduce
in-progress
in-triage
needs-triage
prediction/actioned
prediction/dismissed
prediction/unreviewed
priority
rejected
reproduced
tech-debt
underspecified
vision
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: disinto-admin/disinto#879
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of the Nomad+Vault migration. Step 2 — Vault policies + workload identity + secrets import.
Goal
Land the Vault policy HCL files and an idempotent apply script. This is the authorization layer that later steps (S2.4, Step 5 vault-runner, Step 6 chat auth) all depend on.
Scope
Create:
vault/policies/service-forgejo.hcl— readkv/disinto/shared/forgejo/*(admin password, OAuth config once that lands).vault/policies/service-woodpecker.hcl— readkv/disinto/shared/woodpecker/*(agent secret, forge OAuth client).vault/policies/bot-dev.hcl,bot-review.hcl,bot-gardener.hcl,bot-architect.hcl,bot-planner.hcl,bot-predictor.hcl,bot-supervisor.hcl,bot-vault.hcl,bot-dev-qwen.hcl— each reads ownkv/disinto/bots/<name>/*+ shared forge URL atkv/disinto/shared/forge/*.vault/policies/runner-GITHUB_TOKEN.hcl,runner-CODEBERG_TOKEN.hcl,runner-CLAWHUB_TOKEN.hcl,runner-DEPLOY_KEY.hcl,runner-NPM_TOKEN.hcl,runner-DOCKER_HUB_TOKEN.hcl— each grants read on exactly one KV path. One policy per declarable secret; vault-runner Step 5 composes them per-dispatch.vault/policies/dispatcher.hcl— read allkv/disinto/runner/*+ readkv/disinto/shared/ops-repo/*.Create
tools/vault-apply-policies.sh:vault/policies/*.hcl, for each file callsvault policy write <basename> <file>vialib/hvault.sh::hvault_policy_apply(landed by P4).[vault-apply] policy X unchanged.--dry-runflag: prints each policy name + SHA it would write, exits 0.unchangedrather thanupdated.Acceptance criteria
tools/vault-apply-policies.shagainst a Step-0-initialized Vault:[vault-apply] policy X created.[vault-apply] policy X unchanged.--dry-run: prints planned work, changes nothing.shellcheckclean.vault/policies/AGENTS.md(short): naming convention, what each policy grants, how to add a new one.Non-goals
Labels / meta
[nomad-step-2] S2.1— no dependencies.secret/mount prefix but migration policies usekv/— agents will get 403 #890