From 8ccfe44df9b63adfee5a751f04a44e6dc05da29b Mon Sep 17 00:00:00 2001 From: ibizaman Date: Sun, 17 Mar 2024 11:01:27 -0700 Subject: [PATCH] reduce test vm footprint --- modules/services/nextcloud-server.nix | 2 +- test/vm/arr.nix | 4 ++++ test/vm/audiobookshelf.nix | 11 +++++++++++ test/vm/authelia.nix | 5 +++++ test/vm/grocy.nix | 8 ++++++++ test/vm/jellyfin.nix | 14 ++++++++++++++ test/vm/ldap.nix | 6 ++++++ test/vm/lib.nix | 5 +++++ test/vm/monitoring.nix | 6 ++++++ test/vm/nextcloud.nix | 7 +++++++ test/vm/postgresql.nix | 15 +++++++++++++++ test/vm/ssl.nix | 6 ++++++ 12 files changed, 88 insertions(+), 1 deletion(-) diff --git a/modules/services/nextcloud-server.nix b/modules/services/nextcloud-server.nix index 197f251..eaba074 100644 --- a/modules/services/nextcloud-server.nix +++ b/modules/services/nextcloud-server.nix @@ -608,7 +608,7 @@ in environment.systemPackages = [ # Needed for a few apps. Would be nice to avoid having to put that in the environment and instead override https://github.com/NixOS/nixpkgs/blob/261abe8a44a7e8392598d038d2e01f7b33cf26d0/nixos/modules/services/web-apps/nextcloud.nix#L1035 - pkgs.ffmpeg + pkgs.ffmpeg-headless # Needed for the recognize app. pkgs.nodejs diff --git a/test/vm/arr.nix b/test/vm/arr.nix index d1c4678..c490d02 100644 --- a/test/vm/arr.nix +++ b/test/vm/arr.nix @@ -1,5 +1,6 @@ { pkgs, lib, ... }: let + pkgs' = pkgs; # TODO: Test login commonTestScript = appname: { nodes, ... }: let @@ -58,6 +59,9 @@ let ../../modules/blocks/postgresql.nix ../../modules/blocks/nginx.nix ../../modules/services/arr.nix + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") ]; shb.arr.${appname} = { diff --git a/test/vm/audiobookshelf.nix b/test/vm/audiobookshelf.nix index 7d035fc..6a8a4bc 100644 --- a/test/vm/audiobookshelf.nix +++ b/test/vm/audiobookshelf.nix @@ -1,5 +1,7 @@ { pkgs, lib, ... }: let + pkgs' = pkgs; + # TODO: Test login commonTestScript = { nodes, ... }: let @@ -43,6 +45,9 @@ in nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.backup = lib.mkOption { type = lib.types.anything; }; @@ -71,6 +76,9 @@ in nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.backup = lib.mkOption { type = lib.types.anything; }; @@ -120,6 +128,9 @@ in nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.backup = lib.mkOption { type = lib.types.anything; }; diff --git a/test/vm/authelia.nix b/test/vm/authelia.nix index 45d3cc6..6e06497 100644 --- a/test/vm/authelia.nix +++ b/test/vm/authelia.nix @@ -1,5 +1,7 @@ { pkgs, lib, ... }: let + pkgs' = pkgs; + ldapAdminPassword = "ldapAdminPassword"; in { @@ -8,6 +10,9 @@ in nodes.machine = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.backup = lib.mkOption { type = lib.types.anything; }; diff --git a/test/vm/grocy.nix b/test/vm/grocy.nix index 5e33eb9..e0245db 100644 --- a/test/vm/grocy.nix +++ b/test/vm/grocy.nix @@ -1,5 +1,7 @@ { pkgs, lib, ... }: let + pkgs' = pkgs; + # TODO: Test login commonTestScript = { nodes, ... }: let @@ -43,6 +45,9 @@ in nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.backup = lib.mkOption { type = lib.types.anything; }; @@ -70,6 +75,9 @@ in nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.backup = lib.mkOption { type = lib.types.anything; }; diff --git a/test/vm/jellyfin.nix b/test/vm/jellyfin.nix index bfc6454..23696fd 100644 --- a/test/vm/jellyfin.nix +++ b/test/vm/jellyfin.nix @@ -1,5 +1,7 @@ { pkgs, lib, ... }: let + pkgs' = pkgs; + # TODO: Test login commonTestScript = { nodes, ... }: let @@ -43,6 +45,9 @@ in nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.backup = lib.mkOption { type = lib.types.anything; }; @@ -71,6 +76,9 @@ in nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.backup = lib.mkOption { type = lib.types.anything; }; @@ -119,6 +127,9 @@ in nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.backup = lib.mkOption { type = lib.types.anything; }; @@ -169,6 +180,9 @@ in nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.backup = lib.mkOption { type = lib.types.anything; }; diff --git a/test/vm/ldap.nix b/test/vm/ldap.nix index 967757a..6c8cf00 100644 --- a/test/vm/ldap.nix +++ b/test/vm/ldap.nix @@ -1,10 +1,16 @@ { pkgs, lib, ... }: +let + pkgs' = pkgs; +in { auth = pkgs.nixosTest { name = "ldap-auth"; nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.ssl.enable = lib.mkEnableOption "ssl"; diff --git a/test/vm/lib.nix b/test/vm/lib.nix index 5a79c0a..7c18f9a 100644 --- a/test/vm/lib.nix +++ b/test/vm/lib.nix @@ -1,5 +1,7 @@ { pkgs, lib, ... }: let + pkgs' = pkgs; + shblib = pkgs.callPackage ../../lib {}; in { @@ -45,6 +47,9 @@ in nodes.machine = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { libtest.config = lib.mkOption { diff --git a/test/vm/monitoring.nix b/test/vm/monitoring.nix index e9ee204..f2ebbb0 100644 --- a/test/vm/monitoring.nix +++ b/test/vm/monitoring.nix @@ -1,4 +1,7 @@ { pkgs, lib, ... }: +let + pkgs' = pkgs; +in { # This test, although simple, makes sure all provisioning went fine. auth = pkgs.nixosTest { @@ -6,6 +9,9 @@ nodes.machine = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.ssl.enable = lib.mkEnableOption "ssl"; diff --git a/test/vm/nextcloud.nix b/test/vm/nextcloud.nix index 58ef84e..1c722fc 100644 --- a/test/vm/nextcloud.nix +++ b/test/vm/nextcloud.nix @@ -1,5 +1,6 @@ { pkgs, lib, ... }: let + pkgs' = pkgs; adminUser = "root"; adminPass = "rootpw"; @@ -129,6 +130,9 @@ in nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.backup = lib.mkOption { type = lib.types.anything; }; @@ -169,6 +173,9 @@ in nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") { options = { shb.backup = lib.mkOption { type = lib.types.anything; }; diff --git a/test/vm/postgresql.nix b/test/vm/postgresql.nix index 28db06c..edf8fa0 100644 --- a/test/vm/postgresql.nix +++ b/test/vm/postgresql.nix @@ -1,10 +1,16 @@ { pkgs, lib, ... }: +let + pkgs' = pkgs; +in { peerWithoutUser = pkgs.nixosTest { name = "postgresql-peerWithoutUser"; nodes.machine = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") ../../modules/blocks/postgresql.nix ]; @@ -40,6 +46,9 @@ nodes.machine = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") ../../modules/blocks/postgresql.nix ]; @@ -88,6 +97,9 @@ nodes.machine = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") ../../modules/blocks/postgresql.nix ]; @@ -124,6 +136,9 @@ nodes.machine = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") ../../modules/blocks/postgresql.nix ]; diff --git a/test/vm/ssl.nix b/test/vm/ssl.nix index e66104a..d4f4dab 100644 --- a/test/vm/ssl.nix +++ b/test/vm/ssl.nix @@ -1,10 +1,16 @@ { pkgs, lib, ... }: +let + pkgs' = pkgs; +in { test = pkgs.nixosTest { name = "ssl-test"; nodes.server = { config, pkgs, ... }: { imports = [ + (pkgs'.path + "/nixos/modules/profiles/minimal.nix") + (pkgs'.path + "/nixos/modules/profiles/headless.nix") + (pkgs'.path + "/nixos/modules/profiles/qemu-guest.nix") ../../modules/blocks/ssl.nix ];