diff --git a/nix/module-eval/swarm-services-switch.nix b/nix/module-eval/swarm-services-switch.nix index 36be82f6..9d13a4c7 100644 --- a/nix/module-eval/swarm-services-switch.nix +++ b/nix/module-eval/swarm-services-switch.nix @@ -177,6 +177,16 @@ let in lib.length (lib.attrNames es) == 9 && lib.all lib.id (lib.attrValues es); } + { + # Every run spends money on an operator's key, so hosting the shared + # services does not start the classifier. The queue is the control: + # the same fixture does turn the switch's own services on. + name = "hosting the swarm's shared services leaves the review classifier off"; + ok = + !swarmServicesHere.services.hyperhive.deploy.review-classifier.enable + && !(swarmServicesHere.containers ? swarm-review-classifier) + && swarmServicesHere.services.hyperhive.deploy.nats.enable; + } { # The switch fills in for an operator who has not spoken and yields to # one who has — that is what keeps a shared service placeable on a host