deploy: move the queue toggle
Same shape as the others. Three of the eight references were prose rather than code: two assertion messages naming the option to an operator, and a `defaultText` in the authelia module, whose `oidc.hiveIdentities` derives from whether the queue runs here. Also corrects a comment in swarm.nix that this commit's own hunk sits directly beneath. It said `enableRequiredServices` turns on matrix and authelia "but NOT nats (nats has no mode that enables it)", which stopped being true when the queue was added to that switch — before this change, not by it. The reasoning it introduces is still right and still worth keeping; only the premise had expired.
This commit is contained in:
parent
37ca7676d6
commit
64e8c62f18
7 changed files with 45 additions and 30 deletions
|
|
@ -80,18 +80,23 @@ let
|
|||
# ONE condition for all three of them, deliberately.
|
||||
#
|
||||
# 🩸 They were three independent conditions first, and that was wrong in
|
||||
# a way only an eval gate finds: `enableRequiredServices` turns on
|
||||
# matrix and authelia but NOT nats (nats has no mode that enables it —
|
||||
# see the auto-deploy question on the swarm-queue issue), so an ordinary
|
||||
# all-local hive resolved authelia's two coordinates and not the queue
|
||||
# URL. Two of three set is exactly what the assertion below rejects, so
|
||||
# every `enableAllLocalDefaults` hive would have stopped evaluating.
|
||||
# a way only an eval gate finds: at the time `enableRequiredServices`
|
||||
# turned on matrix and authelia but NOT nats, so an ordinary all-local
|
||||
# hive resolved authelia's two coordinates and not the queue URL. Two of
|
||||
# three set is exactly what the assertion below rejects, so every
|
||||
# `enableAllLocalDefaults` hive would have stopped evaluating.
|
||||
#
|
||||
# (The queue does derive from that switch now — ./swarm-required-services.nix
|
||||
# — so the original asymmetry is gone. The reasoning below is why the
|
||||
# single predicate stays anyway: it makes the partial state
|
||||
# unrepresentable rather than merely detected, which does not depend on
|
||||
# which services happen to derive together this month.)
|
||||
#
|
||||
# Deriving all three from one predicate makes the partial state
|
||||
# unrepresentable rather than merely detected: a default set is all or
|
||||
# nothing, and the assertion is then only ever about what an operator
|
||||
# typed.
|
||||
queueLocal = swarmCfg.nats.enable && deployCfg.authelia && cfg.hiveName != null;
|
||||
queueLocal = deployCfg.nats && deployCfg.authelia && cfg.hiveName != null;
|
||||
in
|
||||
{
|
||||
options.services.hyperhive.swarm.hives = lib.mkOption {
|
||||
|
|
|
|||
Loading…
Reference in a new issue