fix: [nomad-step-2] S2-fix-G — strip trailing /* from all vault policy paths (systemic 403) (#951)
All checks were successful
All checks were successful
This commit is contained in:
parent
c47c6e71bd
commit
8f5652864d
11 changed files with 31 additions and 31 deletions
|
|
@ -3,14 +3,14 @@
|
||||||
# Architect agent: reads its own bot KV namespace + the shared forge URL.
|
# Architect agent: reads its own bot KV namespace + the shared forge URL.
|
||||||
# Attached to the architect-agent Nomad job via workload identity (S2.4).
|
# Attached to the architect-agent Nomad job via workload identity (S2.4).
|
||||||
|
|
||||||
path "kv/data/disinto/bots/architect/*" {
|
path "kv/data/disinto/bots/architect" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/metadata/disinto/bots/architect/*" {
|
path "kv/metadata/disinto/bots/architect" {
|
||||||
capabilities = ["list", "read"]
|
capabilities = ["list", "read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/data/disinto/shared/forge/*" {
|
path "kv/data/disinto/shared/forge" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,14 @@
|
||||||
# via workload identity (S2.4). KV path mirrors the bot basename:
|
# via workload identity (S2.4). KV path mirrors the bot basename:
|
||||||
# kv/disinto/bots/dev-qwen/*.
|
# kv/disinto/bots/dev-qwen/*.
|
||||||
|
|
||||||
path "kv/data/disinto/bots/dev-qwen/*" {
|
path "kv/data/disinto/bots/dev-qwen" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/metadata/disinto/bots/dev-qwen/*" {
|
path "kv/metadata/disinto/bots/dev-qwen" {
|
||||||
capabilities = ["list", "read"]
|
capabilities = ["list", "read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/data/disinto/shared/forge/*" {
|
path "kv/data/disinto/shared/forge" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,14 @@
|
||||||
# Dev agent: reads its own bot KV namespace + the shared forge URL.
|
# Dev agent: reads its own bot KV namespace + the shared forge URL.
|
||||||
# Attached to the dev-agent Nomad job via workload identity (S2.4).
|
# Attached to the dev-agent Nomad job via workload identity (S2.4).
|
||||||
|
|
||||||
path "kv/data/disinto/bots/dev/*" {
|
path "kv/data/disinto/bots/dev" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/metadata/disinto/bots/dev/*" {
|
path "kv/metadata/disinto/bots/dev" {
|
||||||
capabilities = ["list", "read"]
|
capabilities = ["list", "read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/data/disinto/shared/forge/*" {
|
path "kv/data/disinto/shared/forge" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,14 @@
|
||||||
# Gardener agent: reads its own bot KV namespace + the shared forge URL.
|
# Gardener agent: reads its own bot KV namespace + the shared forge URL.
|
||||||
# Attached to the gardener-agent Nomad job via workload identity (S2.4).
|
# Attached to the gardener-agent Nomad job via workload identity (S2.4).
|
||||||
|
|
||||||
path "kv/data/disinto/bots/gardener/*" {
|
path "kv/data/disinto/bots/gardener" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/metadata/disinto/bots/gardener/*" {
|
path "kv/metadata/disinto/bots/gardener" {
|
||||||
capabilities = ["list", "read"]
|
capabilities = ["list", "read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/data/disinto/shared/forge/*" {
|
path "kv/data/disinto/shared/forge" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,14 @@
|
||||||
# Planner agent: reads its own bot KV namespace + the shared forge URL.
|
# Planner agent: reads its own bot KV namespace + the shared forge URL.
|
||||||
# Attached to the planner-agent Nomad job via workload identity (S2.4).
|
# Attached to the planner-agent Nomad job via workload identity (S2.4).
|
||||||
|
|
||||||
path "kv/data/disinto/bots/planner/*" {
|
path "kv/data/disinto/bots/planner" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/metadata/disinto/bots/planner/*" {
|
path "kv/metadata/disinto/bots/planner" {
|
||||||
capabilities = ["list", "read"]
|
capabilities = ["list", "read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/data/disinto/shared/forge/*" {
|
path "kv/data/disinto/shared/forge" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,14 @@
|
||||||
# Predictor agent: reads its own bot KV namespace + the shared forge URL.
|
# Predictor agent: reads its own bot KV namespace + the shared forge URL.
|
||||||
# Attached to the predictor-agent Nomad job via workload identity (S2.4).
|
# Attached to the predictor-agent Nomad job via workload identity (S2.4).
|
||||||
|
|
||||||
path "kv/data/disinto/bots/predictor/*" {
|
path "kv/data/disinto/bots/predictor" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/metadata/disinto/bots/predictor/*" {
|
path "kv/metadata/disinto/bots/predictor" {
|
||||||
capabilities = ["list", "read"]
|
capabilities = ["list", "read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/data/disinto/shared/forge/*" {
|
path "kv/data/disinto/shared/forge" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,14 @@
|
||||||
# Review agent: reads its own bot KV namespace + the shared forge URL.
|
# Review agent: reads its own bot KV namespace + the shared forge URL.
|
||||||
# Attached to the review-agent Nomad job via workload identity (S2.4).
|
# Attached to the review-agent Nomad job via workload identity (S2.4).
|
||||||
|
|
||||||
path "kv/data/disinto/bots/review/*" {
|
path "kv/data/disinto/bots/review" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/metadata/disinto/bots/review/*" {
|
path "kv/metadata/disinto/bots/review" {
|
||||||
capabilities = ["list", "read"]
|
capabilities = ["list", "read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/data/disinto/shared/forge/*" {
|
path "kv/data/disinto/shared/forge" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,14 @@
|
||||||
# Supervisor agent: reads its own bot KV namespace + the shared forge URL.
|
# Supervisor agent: reads its own bot KV namespace + the shared forge URL.
|
||||||
# Attached to the supervisor-agent Nomad job via workload identity (S2.4).
|
# Attached to the supervisor-agent Nomad job via workload identity (S2.4).
|
||||||
|
|
||||||
path "kv/data/disinto/bots/supervisor/*" {
|
path "kv/data/disinto/bots/supervisor" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/metadata/disinto/bots/supervisor/*" {
|
path "kv/metadata/disinto/bots/supervisor" {
|
||||||
capabilities = ["list", "read"]
|
capabilities = ["list", "read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/data/disinto/shared/forge/*" {
|
path "kv/data/disinto/shared/forge" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,14 +7,14 @@
|
||||||
# NOTE: distinct from the runner-* policies, which gate per-secret access
|
# NOTE: distinct from the runner-* policies, which gate per-secret access
|
||||||
# for vault-runner ephemeral dispatches (Step 5).
|
# for vault-runner ephemeral dispatches (Step 5).
|
||||||
|
|
||||||
path "kv/data/disinto/bots/vault/*" {
|
path "kv/data/disinto/bots/vault" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/metadata/disinto/bots/vault/*" {
|
path "kv/metadata/disinto/bots/vault" {
|
||||||
capabilities = ["list", "read"]
|
capabilities = ["list", "read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/data/disinto/shared/forge/*" {
|
path "kv/data/disinto/shared/forge" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,10 @@ path "kv/metadata/disinto/runner/*" {
|
||||||
capabilities = ["list", "read"]
|
capabilities = ["list", "read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/data/disinto/shared/ops-repo/*" {
|
path "kv/data/disinto/shared/ops-repo" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/metadata/disinto/shared/ops-repo/*" {
|
path "kv/metadata/disinto/shared/ops-repo" {
|
||||||
capabilities = ["list", "read"]
|
capabilities = ["list", "read"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,10 @@
|
||||||
# Scope: kv/disinto/shared/woodpecker/* — entries owned by the operator
|
# Scope: kv/disinto/shared/woodpecker/* — entries owned by the operator
|
||||||
# and consumed by woodpecker-server + woodpecker-agent.
|
# and consumed by woodpecker-server + woodpecker-agent.
|
||||||
|
|
||||||
path "kv/data/disinto/shared/woodpecker/*" {
|
path "kv/data/disinto/shared/woodpecker" {
|
||||||
capabilities = ["read"]
|
capabilities = ["read"]
|
||||||
}
|
}
|
||||||
|
|
||||||
path "kv/metadata/disinto/shared/woodpecker/*" {
|
path "kv/metadata/disinto/shared/woodpecker" {
|
||||||
capabilities = ["list", "read"]
|
capabilities = ["list", "read"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue