hyperhive/swarm-authelia-bridge-sock/README.md
atlas 78217bc10f docs(swarm-authelia-bridge-sock): the bridge reads and writes users.yml, there is no canonical json
The wire crate's module doc and its README both said the bridge "owns both
users.json (canonical) and rendering users.yml internally". That store was
removed — swarm-authelia-bridge/src/store.rs is explicit that users.yml *is*
the store — so both sentences described a file that does not exist, in the
one place a reader goes to learn what the API is for.

The paragraph's actual argument (per-operation rather than
wholesale-replace) is untouched; only the mechanism it cites was wrong.
2026-08-20 00:14:56 +02:00

23 lines
1.1 KiB
Markdown

# swarm-authelia-bridge-sock
Wire types for the **`swarm-authelia-bridge` socket** — the contract between
`swarm-authelia-bridge` (server, runs alongside `swarm-authelia`) and
`swarm-controller` (client).
## Why it's its own crate
Same rationale as `hive-priv-sock` (which this mirrors in spirit, though the
transport differs — this bridge is network-facing HTTP, not a unix socket,
since it has to reach a possibly-split-host `swarm-controller`): the bridge
is a narrowly-scoped, unprivileged-but-file-owning helper, and splitting the
wire contract out of any larger crate keeps both its own dependency
footprint and its interface small enough to audit at a glance. No server or
client logic here, only the request/response shapes both sides import.
## Shape
One operation today: idempotently ensure an agent exists as an authelia
subject. Deliberately **not** a wholesale-replace-the-file API — the bridge
reads `users.yml`, changes what the request named, and writes it back; a
caller only ever asks for one user to exist, never sends rendered YAML or a
file blob. See `swarm-authelia-bridge/README.md` for the helper itself.