[nomad-step-5] S5.3 — nomad/jobs/vault-runner.hcl (parameterized batch dispatch) #990
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#990
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 5 — Edge + staging + chat + vault-runner dispatch.
Goal
Add
nomad/jobs/vault-runner.hcl— the parameterized batch job that replacesdocker run --rm vault-runner-${action_id}. This is the key Nomad win: short-lived jobs with scoped Vault secrets, dispatched by the edge dispatcher.Scope
Create
nomad/jobs/vault-runner.hcl:job "vault-runner",type = "batch".parameterized { meta_required = ["action_id", "secrets_csv"] }.disinto/agents:local(same agent image, different entrypoint).secrets_csvmeta, renders only the declared secrets. For each secret name in the CSV:{{ with secret "kv/data/disinto/runner/<NAME>" }}{{ .Data.data.value }}{{ end }}.error_on_missing_key = false. All render; unused ones are empty.vault { policies = [...] }based on the action TOML'ssecrets=[...].resources { cpu = 500, memory = 1024 }— formula execution headroom.Acceptance criteria
nomad job validate nomad/jobs/vault-runner.hclclean.nomad job dispatch -meta action_id=test -meta secrets_csv=GITHUB_TOKEN vault-runnercreates a dispatch alloc that can readkv/disinto/runner/GITHUB_TOKEN(with a fixture value seeded).nomad job status vault-runnershows the dispatch as completed.Non-goals
nomad job dispatch).Labels / meta
[nomad-step-5] S5.3— no dependencies.