diff options
author | Brian Olsen <brian@maven-group.org> | 2018-02-03 19:04:31 +0100 |
---|---|---|
committer | Brian Olsen <brian@maven-group.org> | 2018-02-09 06:19:03 +0100 |
commit | 908fc5e14b59650d7b1ea5a0f9e85351f79b2439 (patch) | |
tree | 87809967278e3200d93899bb68db4f86114634b6 /nixos/tests/rspamd.nix | |
parent | 27ee0b9099e8c27d3a09de3e8489bce43f8e7624 (diff) | |
download | nixpkgs-908fc5e14b59650d7b1ea5a0f9e85351f79b2439.tar nixpkgs-908fc5e14b59650d7b1ea5a0f9e85351f79b2439.tar.gz nixpkgs-908fc5e14b59650d7b1ea5a0f9e85351f79b2439.tar.bz2 nixpkgs-908fc5e14b59650d7b1ea5a0f9e85351f79b2439.tar.lz nixpkgs-908fc5e14b59650d7b1ea5a0f9e85351f79b2439.tar.xz nixpkgs-908fc5e14b59650d7b1ea5a0f9e85351f79b2439.tar.zst nixpkgs-908fc5e14b59650d7b1ea5a0f9e85351f79b2439.zip |
nixos/rspamd: options for worker configuration and socket activation
Diffstat (limited to 'nixos/tests/rspamd.nix')
-rw-r--r-- | nixos/tests/rspamd.nix | 87 |
1 files changed, 82 insertions, 5 deletions
diff --git a/nixos/tests/rspamd.nix b/nixos/tests/rspamd.nix index 35e534246b6..6b2e2dd3a53 100644 --- a/nixos/tests/rspamd.nix +++ b/nixos/tests/rspamd.nix @@ -13,11 +13,12 @@ let $machine->succeed("[[ \"\$(stat -c %G ${socket})\" == \"${group}\" ]]"); $machine->succeed("[[ \"\$(stat -c %a ${socket})\" == \"${mode}\" ]]"); ''; - simple = name: enableIPv6: makeTest { + simple = name: socketActivation: enableIPv6: makeTest { name = "rspamd-${name}"; machine = { services.rspamd = { enable = true; + socketActivation = socketActivation; }; networking.enableIPv6 = enableIPv6; }; @@ -29,7 +30,15 @@ let $machine->succeed("id \"rspamd\" >/dev/null"); ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "660" } sleep 10; + $machine->log($machine->succeed("cat /etc/rspamd.conf")); $machine->log($machine->succeed("systemctl cat rspamd.service")); + ${if socketActivation then '' + $machine->log($machine->succeed("systemctl cat rspamd-controller-1.socket")); + $machine->log($machine->succeed("systemctl cat rspamd-normal-1.socket")); + '' else '' + $machine->fail("systemctl cat rspamd-controller-1.socket"); + $machine->fail("systemctl cat rspamd-normal-1.socket"); + ''} $machine->log($machine->succeed("curl http://localhost:11334/auth")); $machine->log($machine->succeed("curl http://127.0.0.1:11334/auth")); ${optionalString enableIPv6 '' @@ -39,10 +48,12 @@ let }; in { - simple = simple "simple" true; - ipv4only = simple "ipv4only" false; - bindports = makeTest { - name = "rspamd-bindports"; + simple = simple "simple" false true; + ipv4only = simple "ipv4only" false false; + simple-socketActivated = simple "simple-socketActivated" true true; + ipv4only-socketActivated = simple "ipv4only-socketActivated" true false; + deprecated = makeTest { + name = "rspamd-deprecated"; machine = { services.rspamd = { enable = true; @@ -56,6 +67,72 @@ in $machine->waitForFile("/run/rspamd.sock"); ${checkSocket "/run/rspamd.sock" "root" "root" "600" } ${checkSocket "/run/rspamd-worker.sock" "root" "root" "666" } + $machine->log($machine->succeed("cat /etc/rspamd.conf")); + $machine->fail("systemctl cat rspamd-normal-1.socket"); + $machine->log($machine->succeed("rspamc -h /run/rspamd-worker.sock stat")); + $machine->log($machine->succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping")); + ''; + }; + + bindports = makeTest { + name = "rspamd-bindports"; + machine = { + services.rspamd = { + enable = true; + socketActivation = false; + workers.normal.bindSockets = [{ + socket = "/run/rspamd.sock"; + mode = "0600"; + owner = "root"; + group = "root"; + }]; + workers.controller.bindSockets = [{ + socket = "/run/rspamd-worker.sock"; + mode = "0666"; + owner = "root"; + group = "root"; + }]; + }; + }; + + testScript = '' + ${initMachine} + $machine->waitForFile("/run/rspamd.sock"); + ${checkSocket "/run/rspamd.sock" "root" "root" "600" } + ${checkSocket "/run/rspamd-worker.sock" "root" "root" "666" } + $machine->log($machine->succeed("cat /etc/rspamd.conf")); + $machine->fail("systemctl cat rspamd-normal-1.socket"); + $machine->log($machine->succeed("rspamc -h /run/rspamd-worker.sock stat")); + $machine->log($machine->succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping")); + ''; + }; + socketActivated = makeTest { + name = "rspamd-socketActivated"; + machine = { + services.rspamd = { + enable = true; + workers.normal.bindSockets = [{ + socket = "/run/rspamd.sock"; + mode = "0600"; + owner = "root"; + group = "root"; + }]; + workers.controller.bindSockets = [{ + socket = "/run/rspamd-worker.sock"; + mode = "0666"; + owner = "root"; + group = "root"; + }]; + }; + }; + + testScript = '' + startAll + $machine->waitForFile("/run/rspamd.sock"); + ${checkSocket "/run/rspamd.sock" "root" "root" "600" } + ${checkSocket "/run/rspamd-worker.sock" "root" "root" "666" } + $machine->log($machine->succeed("cat /etc/rspamd.conf")); + $machine->log($machine->succeed("systemctl cat rspamd-normal-1.socket")); $machine->log($machine->succeed("rspamc -h /run/rspamd-worker.sock stat")); $machine->log($machine->succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping")); ''; |