Skip to content
Snippets Groups Projects
Commit 2da1bd04 authored by Jean-Paul Calderone's avatar Jean-Paul Calderone
Browse files

Turn morph/lib into a namespace in its own right

Put its contents in it and then use them from there instead of importing them
all over the rest of the code.
parent 67a1e12a
Branches
No related tags found
3 merge requests!140Merge staging into production,!118Merge develop into staging,!109Regularize (somewhat) the definition of grids for Morph
# Load the helper function and call it with arguments tailored for the local
# grid. It will make the morph configuration for us. We share this function
# with the production grid and have one fewer possible point of divergence.
import ../../lib/make-grid.nix {
let lib = import ../../lib;
in lib.make-grid {
# Make a morph configuration for this grid. We share this function
# with the other grids and have one fewer possible point of divergence.
name = "LocalDev";
config = ./config.json;
nodes = cfg:
......@@ -22,7 +22,7 @@ import ../../lib/make-grid.nix {
nodeExporterTargets = [ "monitoring" "payments" "storage1" "storage2" ];
in {
"payments" = import ../../lib/make-issuer.nix (cfg // rec {
"payments" = lib.make-issuer (cfg // rec {
publicIPv4 = "192.168.67.21";
monitoringvpnIPv4 = "172.23.23.11";
hardware = import ./virtual-hardware.nix ({ inherit publicIPv4; });
......@@ -31,7 +31,7 @@ import ../../lib/make-grid.nix {
inherit sshUsers;
});
"storage1" = import ../../lib/make-testing.nix (cfg // rec {
"storage1" = lib.make-testing (cfg // rec {
publicIPv4 = "192.168.67.22";
monitoringvpnIPv4 = "172.23.23.12";
hardware = import ./virtual-hardware.nix ({ inherit publicIPv4; });
......@@ -40,7 +40,7 @@ import ../../lib/make-grid.nix {
inherit sshUsers;
});
"storage2" = import ../../lib/make-testing.nix (cfg // rec {
"storage2" = lib.make-testing (cfg // rec {
publicIPv4 = "192.168.67.23";
monitoringvpnIPv4 = "172.23.23.13";
hardware = import ./virtual-hardware.nix ({ inherit publicIPv4; });
......@@ -49,7 +49,7 @@ import ../../lib/make-grid.nix {
inherit sshUsers;
});
"monitoring" = import ../../lib/make-monitoring.nix (cfg // rec {
"monitoring" = lib.make-monitoring (cfg // rec {
publicIPv4 = "192.168.67.24";
monitoringvpnIPv4 = "172.23.23.1";
inherit vpnClientIPs;
......
# Load the helper function and call it with arguments tailored for the testing
# grid. It will make the morph configuration for us. We share this function
# with the testing grid and have one fewer possible point of divergence.
import ../../lib/make-grid.nix {
# See morph/grid/local/grid.nix for additional commentary.
let lib = import ../../lib;
in lib.make-grid {
name = "Production";
config = ./config.json;
nodes = cfg:
......@@ -52,16 +51,16 @@ import ../../lib/make-grid.nix {
# doesn't specify one.
#
# The names must be unique!
"payments.privatestorage.io" = import ../../lib/make-issuer.nix (cfg // {
"payments.privatestorage.io" = lib.make-issuer (cfg // {
publicIPv4 = "18.184.142.208";
monitoringvpnIPv4 = "172.23.23.11";
inherit monitoringvpnKeyDir;
inherit sshUsers;
hardware = ../../lib/issuer-aws.nix;
hardware = lib.hardware-aws;
stateVersion = "19.03";
});
"storage001" = import ../../lib/make-storage.nix (cfg // {
"storage001" = lib.make-storage (cfg // {
cfg = import ./storage001-config.nix;
inherit sshUsers;
hardware = ./storage001-hardware.nix;
......@@ -69,7 +68,7 @@ import ../../lib/make-grid.nix {
monitoringvpnIPv4 = "172.23.23.21";
inherit monitoringvpnKeyDir;
});
"storage002" = import ../../lib/make-storage.nix (cfg // {
"storage002" = lib.make-storage (cfg // {
cfg = import ./storage002-config.nix;
inherit sshUsers;
hardware = ./storage002-hardware.nix;
......@@ -77,7 +76,7 @@ import ../../lib/make-grid.nix {
monitoringvpnIPv4 = "172.23.23.22";
inherit monitoringvpnKeyDir;
});
"storage003" = import ../../lib/make-storage.nix (cfg // {
"storage003" = lib.make-storage (cfg // {
cfg = import ./storage003-config.nix;
inherit sshUsers;
hardware = ./storage003-hardware.nix;
......@@ -85,7 +84,7 @@ import ../../lib/make-grid.nix {
monitoringvpnIPv4 = "172.23.23.23";
inherit monitoringvpnKeyDir;
});
"storage004" = import ../../lib/make-storage.nix (cfg // {
"storage004" = lib.make-storage (cfg // {
cfg = import ./storage004-config.nix;
inherit sshUsers;
hardware = ./storage004-hardware.nix;
......@@ -93,7 +92,7 @@ import ../../lib/make-grid.nix {
monitoringvpnIPv4 = "172.23.23.24";
inherit monitoringvpnKeyDir;
});
"storage005" = import ../../lib/make-storage.nix (cfg // {
"storage005" = lib.make-storage (cfg // {
cfg = import ./storage005-config.nix;
inherit sshUsers;
hardware = ./storage005-hardware.nix;
......@@ -102,14 +101,14 @@ import ../../lib/make-grid.nix {
inherit monitoringvpnKeyDir;
});
"monitoring" = import ../../lib/make-monitoring.nix (cfg // {
"monitoring" = lib.make-monitoring (cfg // {
publicIPv4 = "monitoring.private.storage";
monitoringvpnIPv4 = "172.23.23.1";
inherit monitoringvpnKeyDir;
inherit vpnClientIPs;
inherit hostsMap;
inherit nodeExporterTargets;
hardware = ../../lib/issuer-aws.nix;
hardware = lib.hardware-aws;
stateVersion = "19.09";
inherit sshUsers;
});
......
# Load the helper function and call it with arguments tailored for the testing
# grid. It will make the morph configuration for us. We share this function
# with the production grid and have one fewer possible point of divergence.
import ../../lib/make-grid.nix {
# See morph/grid/local/grid.nix for additional commentary.
let lib = import ../../lib;
in lib.make-grid {
name = "Testing";
config = ./config.json;
nodes = cfg:
......@@ -21,16 +20,16 @@ import ../../lib/make-grid.nix {
nodeExporterTargets = [ "monitoring" "payments" "storage001" ];
in {
"payments" = import ../../lib/make-issuer.nix (cfg // {
"payments" = lib.make-issuer (cfg // {
publicIPv4 = "18.194.183.13";
monitoringvpnIPv4 = "172.23.23.11";
inherit monitoringvpnKeyDir;
inherit sshUsers;
hardware = ../../lib/issuer-aws.nix;
hardware = lib.hardware-aws;
stateVersion = "19.03";
});
"storage001" = import ../../lib/make-testing.nix (cfg // {
"storage001" = lib.make-testing (cfg // {
publicIPv4 = "3.120.26.190";
monitoringvpnIPv4 = "172.23.23.12";
inherit monitoringvpnKeyDir;
......@@ -39,14 +38,14 @@ import ../../lib/make-grid.nix {
stateVersion = "19.03";
});
"monitoring" = import ../../lib/make-monitoring.nix (cfg // {
"monitoring" = lib.make-monitoring (cfg // {
publicIPv4 = "18.156.171.217";
monitoringvpnIPv4 = "172.23.23.1";
inherit monitoringvpnKeyDir;
inherit vpnClientIPs;
inherit hostsMap;
inherit nodeExporterTargets;
hardware = ../../lib/issuer-aws.nix;
hardware = lib.hardware-aws;
stateVersion = "19.09";
inherit sshUsers;
});
......
rec {
make-grid = import ./make-grid.nix;
make-issuer = import ./make-issuer.nix;
make-testing = import ./make-testing.nix;
make-storage = import ./make-storage.nix;
make-monitoring = import ./make-monitoring.nix;
hardware-aws = import ./issuer-aws.nix;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment