hyperhive/nix/host-modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 31d221eff8 fix(#3349): wait for authelia's minted secret instead of failing the boot race
The responder's third credential is not minted by the generator beside
it — authelia produces it on first boot, inside its own container, and
nothing ordered this unit against that. Losing the race cost the entire
queue: install exits 1, the responder never starts, and auth_callout
with no responder refuses every client. Fail-closed by design, so the
symptom lands on every queue client and nowhere near the cause. Seen on
a real boot at 20:31:31.

Now it waits for the file, bounded at two minutes. Where authelia runs
on another host the secret is never going to appear, and blocking the
queue container indefinitely would replace a clear failure with a hang;
after the timeout this fails exactly as it did before, having first
given the co-located case the seconds it needs.

TimeoutStartSec is set rather than left to the default because the
default is ninety seconds — a two-minute wait would be killed at ninety
and the operator would get a generic unit timeout instead of the
message naming the file.

Ordering after the authelia container is necessary and not sufficient:
the container being up says nothing about whether its in-container
secrets unit has finished. It only stops this spinning for the full
timeout on every boot.
2026-08-16 20:51:22 +02:00
..
hive-c0re feat(swarm): wire a hive's queue coordinates for status publishing 2026-08-16 13:14:03 +02:00
hive-forge swarm-controller: provision + collect its own forge account token 2026-08-16 19:17:34 +02:00
hive-gateway docs+nix: fix stale certFingerprint/HYPERHIVE_PEERS references (hyperhive#3294) 2026-08-15 19:56:11 +02:00
lib feat(nix): issue each hive's CA under a swarm root CA 2026-08-05 15:57:50 +02:00
default.nix feat(3112): the swarm-nats container, fail-closed 2026-08-14 16:26:12 +02:00
hive-ci.nix feat(nix): move the forge host options under services.hyperhive.swarm 2026-08-05 03:44:53 +02:00
hive-matrix.nix fix(#3150): let an SSO login adopt the matrix account it names 2026-08-16 18:28:57 +02:00
hive-network.nix docs(3191): the gateway's comments describe a host service, not a container 2026-08-12 12:20:28 +02:00
hive-priv.nix fix(#2573): also add /etc/tmpfiles.d to hive-priv ReadWritePaths (same EROFS class) 2026-07-18 16:39:20 +02:00
hive-tls.nix docs(3191): drop the migration history from the gateway comments 2026-08-12 13:26:58 +02:00
hyperhive.nix refactor(nix): a hive's domain comes out of the swarm directory 2026-08-05 22:43:17 +02:00
local-defaults.nix fix(#3343): move the all-local queue derivations into the deployment mode 2026-08-16 19:37:49 +02:00
otel.nix docs(otel): validateConfigFile is a parser, not a wiring check 2026-08-15 12:13:48 +02:00
swarm-authelia.nix refactor(#3354): make the derived hive clients a definition of the option 2026-08-16 20:23:36 +02:00
swarm-ca.nix fix(nix): a missing swarm-services leaf must not kill the whole gateway 2026-08-06 00:30:22 +02:00
swarm-controller.nix fix(#3349): let the controller survive a queue credential that is not there yet 2026-08-16 20:29:29 +02:00
swarm-nats.nix fix(#3349): wait for authelia's minted secret instead of failing the boot race 2026-08-16 20:51:22 +02:00
swarm-peers-removed.nix docs+nix: fix stale certFingerprint/HYPERHIVE_PEERS references (hyperhive#3294) 2026-08-15 19:56:11 +02:00
swarm-required-services.nix fix(#3343): make the queue a swarm-required service 2026-08-16 19:38:20 +02:00
swarm-snapshot-store.nix refactor(#2862): keep the option at services.hyperhive.snapshotStore 2026-07-31 19:03:24 +02:00
swarm-ui.nix swarm-controller: serve swarm-wide service quick links (hyperhive#3289) 2026-08-15 14:24:52 +02:00
swarm-wireguard.nix docs+nix: fix stale certFingerprint/HYPERHIVE_PEERS references (hyperhive#3294) 2026-08-15 19:56:11 +02:00
swarm.nix feat(swarm): wire a hive's queue coordinates for status publishing 2026-08-16 13:14:03 +02:00