[nomad-step-2] S2.6 — CI: vault policy fmt + validate + roles.yaml check #884
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: disinto-admin/disinto#884
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.
S2.1 (#879) is now closed; this step has no blocking dependencies.
Goal
Extend the Woodpecker CI to validate Vault policy HCL files under
vault/policies/and role definitions.Scope
Extend
.woodpecker/nomad-validate.yml:vault policy fmt -check vault/policies/*.hcl— fails on unformatted HCL.for f in vault/policies/*.hcl; do vault policy validate "$f"; done— syntax + semantic validation (requires a dev-mode vault spun inline).vault/roles.yamlexists: yamllint check + custom validator that each role references a policy file that actually exists invault/policies/.vault/policies/,vault/roles.yaml, orlib/init/nomad/vault-*.sh.Also:
vault/policies/AGENTS.mdcross-reference: policy lifecycle (add policy HCL → update roles.yaml → add Vault KV path), what CI enforces, common failure modes.Non-goals
Affected files
.woodpecker/nomad-validate.yml— add vault policy fmt + validate + roles.yaml gatesvault/policies/AGENTS.md(new) — policy lifecycle documentationAcceptance criteria
pathblock) fails CI with the vault-fmt error"frobnicate") fails validationvault/roles.yamlreferencing a policy not invault/policies/fails CIshellcheckclean on any shell addedBlocked — issue #884
ci_timeout2026-04-16T17:16:37Z