From 9a5945c7390bbd3100c2186e6506641e055479f1 Mon Sep 17 00:00:00 2001 From: atlas Date: Sun, 16 Aug 2026 19:38:20 +0200 Subject: [PATCH] fix(#3343): make the queue a swarm-required service enableRequiredServices asserts the services that exist once per swarm and are optional -- its own description says so -- and the queue meets that rule. It was left out because this file predates the swarm-nats container by nine days and was never revisited, not because anyone decided against it. The all-local mode already derives nats.autoGenerateCallout, so it was minting the queue's callout nkeys and never starting the queue. With this the mode's loopback derivation for the controller points at something that is actually running. --- nix/host-modules/swarm-required-services.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/nix/host-modules/swarm-required-services.nix b/nix/host-modules/swarm-required-services.nix index 94d82ba3..4035ce81 100644 --- a/nix/host-modules/swarm-required-services.nix +++ b/nix/host-modules/swarm-required-services.nix @@ -47,5 +47,16 @@ in config.services.hyperhive.swarm = { matrix.enable = lib.mkDefault swarmCfg.enableRequiredServices; authelia.enable = lib.mkDefault swarmCfg.enableRequiredServices; + # The queue. Added later than the two above and missed at the time — + # this file predates the `swarm-nats` container by nine days and had + # not been revisited since, so its absence was sequence rather than + # intent. It meets the rule in the option's own description exactly: + # once per swarm, and optional. + # + # The tell that it was an omission: `local-defaults.nix` already + # derives `nats.autoGenerateCallout` from the all-local mode, so that + # mode was minting the queue's callout nkeys and then never starting + # the queue they authenticate against. + nats.enable = lib.mkDefault swarmCfg.enableRequiredServices; }; }