swarm builder: the all-swarm-services switch turns it on, like every other swarm service
deploy.builder.enable defaults on under deploy.allSwarmServices (mkDefault), where the host has the builder's store identity pair, as for the review classifier. An explicit false still wins.
This commit is contained in:
parent
5b49e0e539
commit
d24dbaeadf
7 changed files with 68 additions and 26 deletions
|
|
@ -32,6 +32,10 @@ let
|
|||
};
|
||||
|
||||
servicesHere = hiveWithController { deploy.allSwarmServices = true; };
|
||||
# Short-circuits on `assertion`, so only a failing one has its message read.
|
||||
refusedWithoutIdentity =
|
||||
m:
|
||||
lib.any (a: !a.assertion && lib.hasInfix "deploy.builder.enable requires" a.message) m.assertions;
|
||||
|
||||
natsHere = hive {
|
||||
swarm.nats.enable = true;
|
||||
|
|
@ -54,13 +58,17 @@ let
|
|||
ok = !(bare.containers ? swarm-builder) && withBuilder.containers ? swarm-builder;
|
||||
}
|
||||
{
|
||||
# It runs unreviewed config PRs through the host's nix daemon, so hosting
|
||||
# the shared services, even with the store's leaf here, does not turn it
|
||||
# on. `nats` is the control that the switch is on at all.
|
||||
name = "hosting the shared services leaves the builder off";
|
||||
# The store's host mints the builder's leaf, so the switch needs no
|
||||
# manual identity step: the pair is set and the module's identity
|
||||
# assertion, which nothing else reads in this fixture, passes. `nats` is
|
||||
# the control that the switch is on.
|
||||
name = "hosting the shared services turns the builder on, with its store identity";
|
||||
ok =
|
||||
!servicesHere.services.hyperhive.deploy.builder.enable
|
||||
&& !(servicesHere.containers ? swarm-builder)
|
||||
servicesHere.services.hyperhive.deploy.builder.enable
|
||||
&& servicesHere.containers ? swarm-builder
|
||||
&& servicesHere.services.hyperhive.deploy.bao.builderClientCertFile != null
|
||||
&& servicesHere.services.hyperhive.deploy.bao.builderClientKeyFile != null
|
||||
&& !(refusedWithoutIdentity servicesHere)
|
||||
&& servicesHere.services.hyperhive.deploy.bao.enable
|
||||
&& servicesHere.services.hyperhive.deploy.nats.enable;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue