Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/swarm-nats-auth/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 1e0b10bb7d swarm-nats-auth: open sealed callout requests and seal the replies
When nats-server has an auth_callout xkey it seals each request to that
key and names its own public xkey in the Nats-Server-Xkey header. The
responder now loads the callout xkey seed from the secret store before
it connects, opens a sealed request with it, and seals its reply (grant
or deny) back to the header's key. A request with no header is answered
in plaintext, as before.

A new `ensure-xkey` verb creates the pair when the store holds no seed:
the seed at swarm/services/swarm-nats/callout/xkey-seed, the public half
at swarm/public/swarm-nats/callout-xkey. Each write is a create-only
(cas=0) write, and a run whose create fails reads the stored value back,
so two concurrent runs end up with one key. The responder itself only
reads the seed and refuses to start without it.

swarm-secret-client gains SecretStore::create, the cas=0 write.
2026-10-05 23:25:36 +02:00
..
agent_token.rs docs: drop harness systemd settings; swarm-nats-auth: refuse the hive's shared agent client 2026-10-04 22:24:51 +02:00
introspect.rs feat(#3297): read the caller's identity out of introspection 2026-08-16 23:48:32 +02:00
main.rs swarm-nats-auth: open sealed callout requests and seal the replies 2026-10-05 23:25:36 +02:00
policy.rs docs: drop harness systemd settings; swarm-nats-auth: refuse the hive's shared agent client 2026-10-04 22:24:51 +02:00
request.rs feat(swarm): the auth-callout responder (#3112 slice 2) 2026-08-15 09:34:33 +02:00
respond.rs swarm-nats-auth: limit agent subscribe to its own inbox and input 2026-10-04 19:22:41 +02:00
xkey.rs swarm-nats-auth: open sealed callout requests and seal the replies 2026-10-05 23:25:36 +02:00