hyperhive/swarm-authelia-bridge-sock
Repository files (latest commit first)
Filename Latest commit message Latest commit date
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
..
src docs(swarm-authelia-bridge-sock): the bridge reads and writes users.yml, there is no canonical json 2026-08-20 00:14:56 +02:00
Cargo.toml add swarm-authelia-bridge: the only thing allowed to write swarm-authelia's users database 2026-08-16 22:38:40 +02:00
README.md docs(swarm-authelia-bridge-sock): the bridge reads and writes users.yml, there is no canonical json 2026-08-20 00:14:56 +02:00

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.