hyperhive/swarm-secret-client/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 560f727797 swarm-secret-client: write hive policies to the modern ACL path
`write_policy` called `vaultrs::sys::policy::set`, which targets
`sys/policy/<name>` — the deprecated alias the store gates as a path of
its own. Every grant in this tree names `sys/policies/acl/hive-*`, so a
correctly-scoped controller was refused with a 403 and no hive read
policy has ever been written, on any deployment. The doc comment three
lines above the call already named the modern path; the code is what
moves to meet it.

vaultrs has no endpoint for that path (`grep policies/acl` over 0.8.0:
zero hits, against 8 for `sys/policy`), so this defines one over its own
endpoint machinery — which keeps the client's token header and `/v1`
prefix middleware rather than re-deriving them.

The alternative was to widen the grant to cover the legacy path. This
way needs no policy change at all: the deployed grant already permits
the write, so no store is re-bootstrapped and nothing is entrenched on
an alias upstream has deprecated.

Two tests pin the path and the body shape. The reason this survived
deployment is that nothing in the tree ever asserted either one.

Closes #4177.
2026-09-11 01:34:31 +02:00
..
client.rs swarm-secret-client: write hive policies to the modern ACL path 2026-09-11 01:34:31 +02:00
lib.rs swarm-secret-client: render a hive's read policy, and refuse names that inject 2026-09-09 18:40:41 +02:00
matrix.rs swarm-secret-client: one module per kind of secret, not one struct 2026-09-08 15:53:50 +02:00
path.rs swarm-bao: let the controller write agent credentials, and gate that it can 2026-09-09 01:19:57 +02:00
policy.rs swarm: let every hive read every agent's credential, and say so 2026-09-09 18:40:41 +02:00