deploy: drop the per-option restatement of what allSwarmServices asserts
mara: "deploy.nix still says it everywhere". Seven option descriptions each told the reader that this service derives from the swarm-services switch — the same duplication just removed from docs/swarm/services.md, one layer over, and rendered into the generated options doc. Each keeps only what is true of that service and nothing else: the metrics store is paired with grafana, the log store has clients rather than second instances, the homeserver can be placed on its own host, a swarm has one SSO provider. The store's paragraph about where it runs being a separate question from that it runs survives, because that is about the store, not about the switch. swarm-ui keeps its positive derivation (the controller) and loses only the "rather than from allSwarmServices" half. Deliberately not touched, as a different question rather than an oversight: the *mode* option's description in local-defaults.nix, whose whole job is to name what it asserts; the module comments in swarm-authelia.nix / swarm.nix, which are read by someone editing that module rather than by an operator picking an option; and ui.md's contrast, which she has not ruled on.
This commit is contained in:
parent
d7a471043b
commit
4bd5c51e2e
1 changed files with 14 additions and 29 deletions
|
|
@ -158,9 +158,8 @@ in
|
|||
description = ''
|
||||
Run the swarm's metrics store on this host.
|
||||
|
||||
Derives from
|
||||
{option}`services.hyperhive.deploy.allSwarmServices` together
|
||||
with {option}`services.hyperhive.deploy.grafana.enable`: a store
|
||||
Paired with
|
||||
{option}`services.hyperhive.deploy.grafana.enable`: a store
|
||||
with no UI is unreadable and a UI with no store is empty, so there
|
||||
is no sensible deployment that takes one and not the other from
|
||||
that switch. Set either directly to run exactly one.
|
||||
|
|
@ -173,10 +172,8 @@ in
|
|||
description = ''
|
||||
Run the swarm's log store on this host.
|
||||
|
||||
Derives from
|
||||
{option}`services.hyperhive.deploy.allSwarmServices` for the
|
||||
same reason as the metrics pair above: a hive that is not the
|
||||
service host is a *client* of this store, not a second one.
|
||||
A hive that is not the service host is a *client* of this store,
|
||||
not a second one.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
@ -186,14 +183,10 @@ in
|
|||
example = true;
|
||||
description = ''
|
||||
Run the swarm's secret store in a `swarm-bao` container on this
|
||||
host. A swarm has one store and it has to exist somewhere, so
|
||||
this is asserted from
|
||||
{option}`services.hyperhive.deploy.allSwarmServices`
|
||||
alongside the other once-per-swarm services.
|
||||
host. A swarm has one store and it has to exist somewhere.
|
||||
|
||||
That assertion is a `mkDefault`, which is what keeps *where* the
|
||||
store runs a separate question from *that* it runs: set this
|
||||
directly to put the store on a host of its own, and clients
|
||||
*Where* it runs is a separate question from *that* it runs: set
|
||||
this directly to put the store on a host of its own, and clients
|
||||
still reach it by name at
|
||||
{option}`services.hyperhive.swarm.bao.domain` rather than at a
|
||||
local address.
|
||||
|
|
@ -212,9 +205,7 @@ in
|
|||
example = true;
|
||||
description = ''
|
||||
Run the swarm's authelia in a `swarm-authelia` container on this
|
||||
host. {option}`services.hyperhive.deploy.allSwarmServices`
|
||||
turns this on — a swarm has one SSO provider, and that says it
|
||||
lives here.
|
||||
host. A swarm has one SSO provider, and this says it lives here.
|
||||
|
||||
With it off, this hive is a *client*:
|
||||
{option}`services.hyperhive.swarm.authelia.url` still points at
|
||||
|
|
@ -230,10 +221,8 @@ in
|
|||
description = ''
|
||||
Run the **swarm's** telemetry collector on this host.
|
||||
|
||||
Derives from
|
||||
{option}`services.hyperhive.deploy.allSwarmServices` with the
|
||||
metrics pair it feeds: a swarm has one of these, and it belongs
|
||||
wherever the shared services live rather than on every hive.
|
||||
A swarm has one of these, and it belongs wherever the shared
|
||||
services live rather than on every hive.
|
||||
|
||||
Named `swarm-otel` rather than `otel` because there are two
|
||||
collectors and the tier is the whole distinction:
|
||||
|
|
@ -252,10 +241,8 @@ in
|
|||
Run the swarm's matrix homeserver — matrix-tuwunel, in a
|
||||
`hive-matrix` container — on this host.
|
||||
|
||||
Derives from
|
||||
{option}`services.hyperhive.deploy.allSwarmServices` with
|
||||
the other once-per-swarm services. Set it here directly to put
|
||||
the homeserver somewhere other than the host holding the rest.
|
||||
Set it directly to put the homeserver somewhere other than the
|
||||
host holding the rest of the swarm's services.
|
||||
|
||||
Client-side settings stay in
|
||||
{option}`services.hyperhive.swarm.matrix.*`, which every hive
|
||||
|
|
@ -299,10 +286,8 @@ in
|
|||
Serve the swarm UI from this host.
|
||||
|
||||
Derived from
|
||||
{option}`services.hyperhive.deploy.swarm-controller.enable` rather
|
||||
than from
|
||||
{option}`services.hyperhive.deploy.allSwarmServices`: the UI
|
||||
is a view onto the controller's state and reaches it over that
|
||||
{option}`services.hyperhive.deploy.swarm-controller.enable`: the
|
||||
UI is a view onto the controller's state and reaches it over that
|
||||
daemon's unix socket, so the host that runs the controller is the
|
||||
host that can serve the UI. A hive that merely *uses* a swarm has
|
||||
nothing to serve here.
|
||||
|
|
|
|||
Loading…
Reference in a new issue