docs: the forge is swarm-wide but not optional, so it derives nothing
Both the option description and docs/swarm.md listed the forge among the services whose `enable` defaults from `swarm.enableRequiredServices`. It has no `enable`: it is the canonical store for the meta flake and every agent's config repo, so it deploys with hyperhive itself. The distinction is worth stating rather than deleting — a reader who sees matrix and authelia listed and the forge absent would reasonably wonder whether the forge is per-hive. It isn't; it's mandatory.
This commit is contained in:
parent
8d21a47f42
commit
ade0bf24c5
2 changed files with 19 additions and 8 deletions
|
|
@ -116,8 +116,8 @@ swarm's trust hierarchy.
|
||||||
## Running the swarm's shared services
|
## Running the swarm's shared services
|
||||||
|
|
||||||
Some things exist once per **swarm**, not once per hive: the forge, the
|
Some things exist once per **swarm**, not once per hive: the forge, the
|
||||||
matrix homeserver, the SSO provider, the CA. Two options say where they
|
matrix homeserver, the SSO provider, the CA. Two options say where the
|
||||||
live, and everything else derives:
|
optional ones live, and everything else derives:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
services.hyperhive.enableAllLocalDefaults = true; # everything on this box
|
services.hyperhive.enableAllLocalDefaults = true; # everything on this box
|
||||||
|
|
@ -137,6 +137,11 @@ operator saying so rather than something inferred. With them off, a hive
|
||||||
is a *client* of those services — it configures how to reach them and
|
is a *client* of those services — it configures how to reach them and
|
||||||
runs none of them.
|
runs none of them.
|
||||||
|
|
||||||
|
The forge is the exception, and not because it is per-hive: it is
|
||||||
|
swarm-wide but **not optional**, being the canonical store for the meta
|
||||||
|
flake and every agent's config repo, so it deploys with hyperhive itself
|
||||||
|
and has no `enable` to derive from anything.
|
||||||
|
|
||||||
### SSO (authelia)
|
### SSO (authelia)
|
||||||
|
|
||||||
One authelia per swarm, in a `swarm-authelia` container, at
|
One authelia per swarm, in a `swarm-authelia` container, at
|
||||||
|
|
|
||||||
|
|
@ -127,9 +127,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# "The swarm-wide services run HERE." A swarm has one forge, one
|
# "The swarm-wide services run HERE." A swarm has one forge, one
|
||||||
# matrix, one SSO — this says this host is where they live, and each
|
# matrix, one SSO — this says this host is where they live. The
|
||||||
# of those services defaults its own enable from it rather than the
|
# OPTIONAL ones (matrix, authelia) default their own enable from it,
|
||||||
# operator enabling them one at a time.
|
# rather than the operator enabling them one at a time; the forge has
|
||||||
|
# no enable to derive because it is not optional.
|
||||||
options.services.hyperhive.swarm.enableRequiredServices = lib.mkOption {
|
options.services.hyperhive.swarm.enableRequiredServices = lib.mkOption {
|
||||||
type = lib.types.bool;
|
type = lib.types.bool;
|
||||||
default = config.services.hyperhive.enableAllLocalDefaults;
|
default = config.services.hyperhive.enableAllLocalDefaults;
|
||||||
|
|
@ -137,9 +138,14 @@
|
||||||
example = true;
|
example = true;
|
||||||
description = ''
|
description = ''
|
||||||
Host the swarm's shared services on this hive. The services that
|
Host the swarm's shared services on this hive. The services that
|
||||||
exist once per swarm rather than once per hive — the forge, the
|
exist once per swarm rather than once per hive and are *optional*
|
||||||
matrix homeserver, the SSO provider — default their `enable` from
|
— the matrix homeserver, the SSO provider — default their
|
||||||
this, so a swarm's service host is declared in one place.
|
`enable` from this, so a swarm's service host is declared in one
|
||||||
|
place.
|
||||||
|
|
||||||
|
The forge is swarm-wide too but has no `enable` to derive: it is
|
||||||
|
the canonical store for the meta flake and every agent's config
|
||||||
|
repo, so it deploys with hyperhive itself and is not optional.
|
||||||
|
|
||||||
Defaults from `services.hyperhive.enableAllLocalDefaults` (off),
|
Defaults from `services.hyperhive.enableAllLocalDefaults` (off),
|
||||||
which is the all-on-one-box switch. Set it directly to run the
|
which is the all-on-one-box switch. Set it directly to run the
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue