fix(nix): require swarm domain only when a hyperhive service is enabled
The swarm.domain assertion in hive-network.nix fired on every host that imported the module, so a host that enables nothing failed eval. It now fires only when one of the hyperhive service switches is on (every deploy.*.enable that runs something, gateway, gateway.dns, network, otel, snapshotStore). The requirement itself is unchanged: any host that runs a hyperhive service still needs swarm.domain. The core-toggle module-eval suite gains a case: a missing swarm.domain is refused on a hive and on a swarm-service-only host, and a host enabling nothing passes every assertion. Closes #4887
This commit is contained in:
parent
eded8f2e4e
commit
fb2fff0668
4 changed files with 71 additions and 13 deletions
|
|
@ -117,8 +117,10 @@ in
|
|||
`services.hyperhive.hiveName`, list the hives by name, and no
|
||||
hive in the swarm states an address at all.
|
||||
|
||||
**Required** on every host that imports this module, with the
|
||||
same value on every host of the swarm, and deliberately not
|
||||
**Required** on every host that runs a hyperhive service (a
|
||||
`services.hyperhive.deploy.*` service, the gateway, the bridge,
|
||||
`otel` or the snapshot store), with the same value on every host
|
||||
of the swarm, and deliberately not
|
||||
defaulted. A guessed swarm domain is a wrong hostname that
|
||||
evaluates cleanly and deploys, which is worse than an eval
|
||||
failure telling an operator to write down the one address their
|
||||
|
|
|
|||
Loading…
Reference in a new issue