fix(#3422): stop pointing the bridge at a second user store

The bridge no longer has a private canonical store, so the env var
naming one is gone rather than repointed. What is left is the single
users file it now reads and writes directly.

That line is what made `swarm agent create` fail on this hive: the
bridge found no store at its own JSON path, saw users already in
`users.yml`, and refused to overwrite a file it had not written --
correctly, given two things claimed to be canonical for one file.
This commit is contained in:
atlas 2026-08-18 10:15:23 +02:00
commit 4125d967ef

View file

@ -920,14 +920,12 @@ in
}; };
environment = { environment = {
SWARM_AUTHELIA_BRIDGE_BIND = "127.0.0.1:${toString cfg.bridgePort}"; SWARM_AUTHELIA_BRIDGE_BIND = "127.0.0.1:${toString cfg.bridgePort}";
# Own canonical store, alongside authelia's own state — # ONE file, and this is it. The bridge used to carry a
# NOT `swarm-controller`'s state dir: the two processes # second, private `…-users.json` it treated as canonical
# aren't guaranteed to be on the same host, and this store # while writing `users.yml` as a rendering of it — two
# has to live wherever its writer (this bridge) does. See # canonical stores for one physical file, which is what
# `swarm-authelia-bridge/README.md`'s "known limitation" # made `swarm agent create` refuse to start on a hive whose
# section for the resulting `swarmctl`-owns-a-second-store # `users.yml` already held users.
# seam.
SWARM_AUTHELIA_BRIDGE_STORE = "${stateDir}/swarm-authelia-bridge-users.json";
SWARM_AUTHELIA_BRIDGE_USERS_FILE = cfg.usersFile; SWARM_AUTHELIA_BRIDGE_USERS_FILE = cfg.usersFile;
# The CONFIGURED authelia, not whatever is on `PATH`: the # The CONFIGURED authelia, not whatever is on `PATH`: the
# argon2 parameters baked into a hash have to match the # argon2 parameters baked into a hash have to match the