Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/nix
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 6646329da5 swarm-nats-auth: read its own OIDC client secret from the store
The responder reads its OIDC client secret at
`swarm/services/<client-id>/oidc/client` with the store login it already
opens for the callout keys, and holds it in memory. `--client-secret-file`
is removed.

When introspection answers non-2xx, the responder re-reads the secret from
the store once and, if it changed, retries the introspection once. Both fit
inside the request's 1.5s introspection budget, under the server's 2s
callout timeout: the budget is now one deadline for the whole request. A
re-read that does not finish by then keeps running in the background, the
request is denied, and the next request introspects with what it read. One
re-read runs at a time; a refusal while one runs waits on it.

In swarm-nats.nix the `swarm-bao-nats-auth-oidc` fetch unit, the flag and
the `oidc-client.secret` LoadCredential entry are gone, along with the
unit's policy ordering in glue-bao-readers-policy-order.nix. A tmpfiles `r`
rule removes the copy a container still holds at
/var/lib/nixos-containers/swarm-nats/var/lib/swarm-nats-auth/oidc-client.secret;
nothing reads it.

No policy change: the `swarm-nats-auth` role already reads this path
(`natsAuthReaders` in swarm-bao.nix), which is the role the removed fetch
unit logged in as.

Deploy order: none, and no operator step. The store's grant already exists,
so the queue host can be deployed before, after or without the store's host
and authelia's. Rolling back re-creates the fetch unit and the file; the
store leaf is untouched.
2026-10-06 14:54:19 +02:00
..
agent-modules agents: work/ in the disk-metric docs, holder never sees work/, chown guard comment 2026-10-05 13:23:39 +02:00
container-modules nix: move the in-container modules to nix/container-modules/ 2026-09-29 19:51:46 +02:00
docs nix: finish the "moved to" comment sweep 2026-10-05 09:59:02 +02:00
host-modules swarm-nats-auth: read its own OIDC client secret from the store 2026-10-06 14:54:19 +02:00
module-eval swarm-nats-auth: read its own OIDC client secret from the store 2026-10-06 14:54:19 +02:00
packages nix: comments state current behaviour, not history 2026-10-05 09:58:50 +02:00
script-tests swarm-nats: take the callout issuer and user keys from the store 2026-10-06 14:53:33 +02:00
templates nix: move the agent option namespace under services.hyperhive.agent 2026-09-17 20:19:30 +02:00
checks.nix swarm-nats: test that the server's rendered config carries the callout xkey 2026-10-05 23:25:36 +02:00
devshell.nix Add shellcheck to devshell 2026-09-15 21:45:58 +02:00
journald-severity.nix otel: map journald PRIORITY onto a severity at every journald receiver 2026-09-20 14:23:56 +02:00
reserved-hive-fragments.nix swarm: extract the name guards, so the module just says what is forbidden 2026-08-31 18:50:15 +02:00
reserved-names.nix nix: comments state current behaviour, not history 2026-10-05 09:58:50 +02:00
rust.nix docs(rust): the dep-cache comment no longer describes two consumers 2026-08-11 22:29:56 +02:00
sources.nix refactor: slim flake.nix into nix/ entry files 2026-07-13 20:55:43 +02:00
treefmt.nix treefmt: format the web files with prettier 2026-09-02 15:25:07 +02:00