From c17552212195bd4a668292ddabc32fd8f0ae6181 Mon Sep 17 00:00:00 2001 From: Florian Sesser <florian@privatestorage.io> Date: Tue, 1 Jun 2021 20:11:49 +0000 Subject: [PATCH] Instantiate key path in grid.nix --- morph/grid/local/config.json | 2 +- morph/grid/local/grid.nix | 6 ++++++ morph/lib/make-issuer.nix | 1 + morph/lib/make-monitoring.nix | 1 + morph/lib/make-testing.nix | 1 + nixos/modules/monitoring/vpn/client.nix | 1 - nixos/modules/monitoring/vpn/server.nix | 1 - 7 files changed, 10 insertions(+), 3 deletions(-) diff --git a/morph/grid/local/config.json b/morph/grid/local/config.json index 93779117..457343ae 100644 --- a/morph/grid/local/config.json +++ b/morph/grid/local/config.json @@ -1,7 +1,7 @@ { "publicStoragePort": 8898 , "ristrettoSigningKeyPath": "./secrets/ristretto.signing-key" , "stripeSecretKeyPath": "./secrets/stripe.secret" -, "monitoringvpnKeyDir": "./secrets/monitoringvpn" +, "monitoringvpnKeyFolder": "./secrets/monitoringvpn" , "monitoringvpnEndpoint": "192.168.67.24:51820" , "passValue": 1000000 , "issuerDomain": "payments.localdev" diff --git a/morph/grid/local/grid.nix b/morph/grid/local/grid.nix index ee4a2c15..da606417 100644 --- a/morph/grid/local/grid.nix +++ b/morph/grid/local/grid.nix @@ -8,10 +8,13 @@ import ../../lib/make-grid.nix { let sshUsers = import ./users.nix; vpnClientIPs = [ "172.23.23.11" "172.23.23.12" "172.23.23.13" ]; # TBD: derive automatically + # Get vpn key folder relative to current dir, as a string: + monitoringvpnKeyDir = toString ./. + "/${cfg.monitoringvpnKeyFolder}"; in { "payments1" = import ../../lib/make-issuer.nix (rec { publicIPv4 = "192.168.67.21"; monitoringvpnIPv4 = "172.23.23.11"; + inherit monitoringvpnKeyDir; inherit sshUsers; hardware = import ./virtual-hardware.nix ({ inherit publicIPv4; }); stateVersion = "19.03"; @@ -20,6 +23,7 @@ import ../../lib/make-grid.nix { "storage1" = import ../../lib/make-testing.nix (rec { publicIPv4 = "192.168.67.22"; monitoringvpnIPv4 = "172.23.23.12"; + inherit monitoringvpnKeyDir; inherit sshUsers; hardware = import ./virtual-hardware.nix ({ inherit publicIPv4; }); stateVersion = "19.09"; @@ -28,6 +32,7 @@ import ../../lib/make-grid.nix { "storage2" = import ../../lib/make-testing.nix (rec { publicIPv4 = "192.168.67.23"; monitoringvpnIPv4 = "172.23.23.13"; + inherit monitoringvpnKeyDir; inherit sshUsers; hardware = import ./virtual-hardware.nix ({ inherit publicIPv4; }); stateVersion = "19.09"; @@ -38,6 +43,7 @@ import ../../lib/make-grid.nix { monitoringvpnIPv4 = "172.23.23.1"; inherit vpnClientIPs; inherit sshUsers; + inherit monitoringvpnKeyDir; hardware = import ./virtual-hardware.nix ({ inherit publicIPv4; }); stateVersion = "19.09"; } // cfg); diff --git a/morph/lib/make-issuer.nix b/morph/lib/make-issuer.nix index 6570b631..4302b406 100644 --- a/morph/lib/make-issuer.nix +++ b/morph/lib/make-issuer.nix @@ -86,5 +86,6 @@ in rec { enable = true; ip = monitoringvpnIPv4; endpoint = monitoringvpnEndpoint; + endpointPublicKeyFile = monitoringvpnKeyDir + "/server.pub"; }; } diff --git a/morph/lib/make-monitoring.nix b/morph/lib/make-monitoring.nix index b65f7249..ebc98625 100644 --- a/morph/lib/make-monitoring.nix +++ b/morph/lib/make-monitoring.nix @@ -49,6 +49,7 @@ in rec { enable = true; ip = monitoringvpnIPv4; inherit vpnClientIPs; + pubKeysPath = monitoringvpnKeyDir; }; system.stateVersion = stateVersion; diff --git a/morph/lib/make-testing.nix b/morph/lib/make-testing.nix index 158e7ea1..050ffd1e 100644 --- a/morph/lib/make-testing.nix +++ b/morph/lib/make-testing.nix @@ -75,5 +75,6 @@ in rec { enable = true; ip = monitoringvpnIPv4; endpoint = monitoringvpnEndpoint; + endpointPublicKeyFile = monitoringvpnKeyDir + "/server.pub"; }; } diff --git a/nixos/modules/monitoring/vpn/client.nix b/nixos/modules/monitoring/vpn/client.nix index 4c651f61..dbd50b82 100644 --- a/nixos/modules/monitoring/vpn/client.nix +++ b/nixos/modules/monitoring/vpn/client.nix @@ -49,7 +49,6 @@ in { endpointPublicKeyFile = lib.mkOption { type = lib.types.path; example = lib.literalExample ../PrivateStorageSecrets/monitoringvpn/server.pub; - default = ../../../../../PrivateStorageSecrets/monitoringvpn/server.pub; description = '' File with base64 public key generated by <command>cat private.key | wg pubkey > pubkey.pub</command>. ''; diff --git a/nixos/modules/monitoring/vpn/server.nix b/nixos/modules/monitoring/vpn/server.nix index b7f8c00c..2374ddc8 100644 --- a/nixos/modules/monitoring/vpn/server.nix +++ b/nixos/modules/monitoring/vpn/server.nix @@ -52,7 +52,6 @@ in { pubKeysPath = lib.mkOption { type = lib.types.path; example = lib.literalExample ../PrivateStorageSecrets/monitoringvpn; - default = ../../../../../PrivateStorageSecrets/monitoringvpn; description = '' The path to the directory that holds the public keys. ''; -- GitLab