From 80e2a9b90905e5b45345601e063cbc9c3fd90b2b Mon Sep 17 00:00:00 2001 From: Kiara Grouwstra Date: Wed, 27 Aug 2025 21:02:53 +0200 Subject: [PATCH] factor out data model --- .../options.nix => common/data-model-options.nix} | 0 .../deployment.nix => common/data-model.nix} | 12 ++++++------ deployment/check/data-model/flake-under-test.nix | 7 +++++-- deployment/check/data-model/nixosTest.nix | 13 +++++++------ 4 files changed, 18 insertions(+), 14 deletions(-) rename deployment/check/{data-model/options.nix => common/data-model-options.nix} (100%) rename deployment/check/{data-model/deployment.nix => common/data-model.nix} (95%) diff --git a/deployment/check/data-model/options.nix b/deployment/check/common/data-model-options.nix similarity index 100% rename from deployment/check/data-model/options.nix rename to deployment/check/common/data-model-options.nix diff --git a/deployment/check/data-model/deployment.nix b/deployment/check/common/data-model.nix similarity index 95% rename from deployment/check/data-model/deployment.nix rename to deployment/check/common/data-model.nix index 769fea74..c4922f72 100644 --- a/deployment/check/data-model/deployment.nix +++ b/deployment/check/common/data-model.nix @@ -11,8 +11,8 @@ let pkgs = import nixpkgs { inherit system; }; inherit (pkgs) lib; deployment-config = config; + inherit (deployment-config) nodeName; inherit (lib) mkOption types; - inherit (import ./constants.nix) targetMachines pathToRoot pathFromRoot; eval = module: (lib.evalModules { @@ -106,7 +106,7 @@ let { ... }: { imports = [ - ./options.nix + ./data-model-options.nix ../common/sharedOptions.nix ../common/targetNode.nix "${nixpkgs}/nixos/modules/profiles/qemu-guest.nix" @@ -130,7 +130,7 @@ let nixos-configuration = mkNixosConfiguration environment requests; ssh = { username = "root"; - inherit (deployment-config) host; + host = nodeName; key-file = null; }; }; @@ -146,7 +146,7 @@ let providers = { inherit (inputs.nixops4.modules.nixops4Provider) local; }; - resources = lib.genAttrs targetMachines (nodeName: { + resources.${nodeName} = { type = providers.local.exec; imports = [ inputs.nixops4-nixos.modules.nixops4Resource.nixos @@ -154,8 +154,8 @@ let ]; nixos.module = mkNixosConfiguration environment requests; _module.args = { inherit inputs sources; }; - inherit nodeName pathToRoot pathFromRoot; - }); + inherit (deployment-config) nodeName pathToRoot pathFromRoot; + }; }; }; }; diff --git a/deployment/check/data-model/flake-under-test.nix b/deployment/check/data-model/flake-under-test.nix index d6f4482d..60b0ee38 100644 --- a/deployment/check/data-model/flake-under-test.nix +++ b/deployment/check/data-model/flake-under-test.nix @@ -17,9 +17,12 @@ ]; nixops4Deployments.check-deployment-model = - (import ./deployment/check/data-model/deployment.nix { + (import ./deployment/check/common/data-model.nix { inherit system inputs; - config.host = "nixops4"; + config = { + inherit (import ./deployment/check/data-model/constants.nix) pathToRoot pathFromRoot; + nodeName = "nixops4"; + }; })."nixops4-deployment".nixops4; } ); diff --git a/deployment/check/data-model/nixosTest.nix b/deployment/check/data-model/nixosTest.nix index 019203c8..a10c32e6 100644 --- a/deployment/check/data-model/nixosTest.nix +++ b/deployment/check/data-model/nixosTest.nix @@ -9,12 +9,13 @@ let inherit (import ./constants.nix) pathToRoot; escapedJson = v: lib.replaceStrings [ "\"" ] [ "\\\\\"" ] (lib.strings.toJSON v); deployment-config = { + inherit (import ./constants.nix) pathToRoot pathFromRoot; inherit (config) enableAcme; acmeNodeIP = if config.enableAcme then config.nodes.acme.networking.primaryIPAddress else null; - host = "ssh"; + nodeName = "ssh"; }; inherit - ((import ./deployment.nix { + ((import ../common/data-model.nix { inherit (pkgs) system; inherit inputs; config = deployment-config; @@ -28,16 +29,16 @@ in { _class = "nixosTest"; imports = [ - ./options.nix + ../common/data-model-options.nix ]; name = "deployment-model"; sourceFileset = lib.fileset.unions [ ../../data-model.nix ../../function.nix + ../common/data-model.nix + ../common/data-model-options.nix ./constants.nix - ./deployment.nix - ./options.nix (config.pathToCwd + "/flake-under-test.nix") ]; @@ -85,7 +86,7 @@ in import ${pathToRoot}/deployment/nixos.nix { inherit system; configuration = ( - import ${pathToRoot}/deployment/check/data-model/deployment.nix { + import ${pathToRoot}/deployment/check/common/data-model.nix { inherit system; config = builtins.fromJSON "${escapedJson deployment-config}"; }