From 63d7f43c8f5f2bcf0ae61bb8f2baa1b612ef07bd Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone <exarkun@twistedmatrix.com> Date: Thu, 24 Jun 2021 07:38:32 -0400 Subject: [PATCH] Convert customize-storage from positional to set arguments --- morph/grid/local/grid.nix | 12 ++++++++++-- morph/grid/production/grid.nix | 5 ++++- morph/grid/testing/grid.nix | 6 +++++- morph/lib/customize-storage.nix | 21 ++++++++++++++------- 4 files changed, 33 insertions(+), 11 deletions(-) diff --git a/morph/grid/local/grid.nix b/morph/grid/local/grid.nix index 41c4d0c8..88c19818 100644 --- a/morph/grid/local/grid.nix +++ b/morph/grid/local/grid.nix @@ -24,7 +24,11 @@ let imports = [ gridlib.storage (import ./virtual-hardware.nix ({ inherit publicIPv4; })) - (gridlib.customize-storage config config.sshUsers publicIPv4 config.monitoringvpnKeyDir "172.23.23.12" "19.09") + (gridlib.customize-storage (config // { + inherit publicIPv4; + monitoringvpnIPv4 = "172.23.23.12"; + stateVersion = "19.09"; + })) ]; }; @@ -32,7 +36,11 @@ let imports = [ gridlib.storage (import ./virtual-hardware.nix ({ inherit publicIPv4; })) - (gridlib.customize-storage config config.sshUsers publicIPv4 config.monitoringvpnKeyDir "172.23.23.13" "19.09") + (gridlib.customize-storage (config // { + inherit publicIPv4; + monitoringvpnIPv4 = "172.23.23.13"; + stateVersion = "19.09"; + })) ]; }; diff --git a/morph/grid/production/grid.nix b/morph/grid/production/grid.nix index 3f39f977..b8c56171 100644 --- a/morph/grid/production/grid.nix +++ b/morph/grid/production/grid.nix @@ -48,7 +48,10 @@ let gridlib.storage # Then customize the storage system a little bit based on this node's particulars. - (gridlib.customize-storage config config.sshUsers nodecfg.publicIPv4 config.monitoringvpnKeyDir vpnIP stateVersion) + (gridlib.customize-storage (config // nodecfg // { + monitoringvpnIPv4 = vpnIP; + inherit stateVersion; + })) ]; # And supply configuration for those hardware / network / bootloader diff --git a/morph/grid/testing/grid.nix b/morph/grid/testing/grid.nix index c4ef5008..8e68558a 100644 --- a/morph/grid/testing/grid.nix +++ b/morph/grid/testing/grid.nix @@ -25,7 +25,11 @@ let imports = [ gridlib.storage ./testing001-hardware.nix - (gridlib.customize-storage config config.sshUsers publicIPv4 config.monitoringvpnKeyDir "172.23.23.12" "19.03") + (gridlib.customize-storage (config // { + inherit publicIPv4; + monitoringvpnIPv4 = "172.23.23.12"; + stateVersion = "19.03"; + })) ]; }; diff --git a/morph/lib/customize-storage.nix b/morph/lib/customize-storage.nix index 0f5ae16f..2153d78a 100644 --- a/morph/lib/customize-storage.nix +++ b/morph/lib/customize-storage.nix @@ -1,21 +1,28 @@ -cfg: sshUsers: publicIPv4: monitoringvpnKeyDir: monitoringvpnIPv4: stateVersion: { +{ ristrettoSigningKeyPath +, passValue +, publicStoragePort +, sshUsers +, publicIPv4 +, monitoringvpnKeyDir +, monitoringvpnEndpoint +, monitoringvpnIPv4 +, stateVersion +, ... +}: { deployment.secrets = { - "ristretto-signing-key".source = cfg.ristrettoSigningKeyPath; + "ristretto-signing-key".source = ristrettoSigningKeyPath; "monitoringvpn-secret-key".source = "${monitoringvpnKeyDir}/${monitoringvpnIPv4}.key"; "monitoringvpn-preshared-key".source = "${monitoringvpnKeyDir}/preshared.key"; }; services.private-storage = { - sshUsers = sshUsers; - inherit publicIPv4; - inherit (cfg) passValue; - inherit (cfg) publicStoragePort; + inherit sshUsers publicIPv4 passValue publicStoragePort; }; services.private-storage.monitoring.vpn.client = { enable = true; ip = monitoringvpnIPv4; - endpoint = cfg.monitoringvpnEndpoint; + endpoint = monitoringvpnEndpoint; endpointPublicKeyFile = "${monitoringvpnKeyDir}/server.pub"; }; -- GitLab