diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-06-07 14:20:03 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-06-07 14:20:03 +0200 |
commit | 4214e54d6e0a64909b45b2191af5e233100d73fa (patch) | |
tree | be182ccc6f299a42702cb5edcded2934afa88199 /tests/common | |
parent | pkgs/sharkey: Remove nixpkgs unstable wrapper (diff) | |
download | nixos-server-4214e54d6e0a64909b45b2191af5e233100d73fa.zip |
tests/{atuin-sync,email-{dns,http},sharkey,taskchampion-sync}: Share acme setup
In the wake of `network-online.target`'s removal from `multi-user.target`, I noticed, that this acme ca setup code is effectively duplicated. This commit now deduplicates it.
Diffstat (limited to 'tests/common')
-rw-r--r-- | tests/common/acme/default.nix | 24 | ||||
-rw-r--r-- | tests/common/acme/scripts.nix | 2 |
2 files changed, 25 insertions, 1 deletions
diff --git a/tests/common/acme/default.nix b/tests/common/acme/default.nix new file mode 100644 index 0000000..794a939 --- /dev/null +++ b/tests/common/acme/default.nix @@ -0,0 +1,24 @@ +{pkgs}: let + acme_scripts = import ./scripts.nix {inherit pkgs;}; +in { + prepare = clients: extra: + # The parens are needed for the syntax highlighting to work. + ( # python + '' + # Start dependencies for the other services + acme.start() + acme.wait_for_unit("pebble.service") + name_server.start() + name_server.wait_for_unit("nsd.service") + + # Start actual test + start_all() + + with subtest("Add pebble ca key to all services"): + for node in [name_server, ${builtins.concatStringsSep "," clients}]: + node.wait_until_succeeds("curl https://acme.test:15000/roots/0") + node.succeed("${acme_scripts.add_pebble_ca_certs}") + '' + ) + + extra; +} diff --git a/tests/common/acme/scripts.nix b/tests/common/acme/scripts.nix index 2228823..4161ab8 100644 --- a/tests/common/acme/scripts.nix +++ b/tests/common/acme/scripts.nix @@ -3,7 +3,7 @@ * Extra functions useful for the test script. */ { - add_pebble_acme_ca = pkgs.writeShellScript "fetch-and-set-ca" '' + add_pebble_ca_certs = pkgs.writeShellScript "fetch-and-set-ca" '' set -xe # Fetch the randomly generated ca certificate |