Newer
Older
# See morph/grid/local/grid.nix for additional commentary.
let lib = import ../../lib;
in lib.make-grid {
name = "Testing";
config = ./config.json;
nodes = cfg:
let
sshUsers = import ./secrets/users.nix;

Florian Sesser
committed
# Get absolute vpn key directory path, as a string:
monitoringvpnKeyDir = toString ./. + "/${cfg.monitoringvpnKeyDir}";
# TBD: derive these automatically:
hostsMap = {
"172.23.23.1" = [ "monitoring" "monitoring.monitoringvpn" ];

Florian Sesser
committed
"172.23.23.11" = [ "payments" "payments.monitoringvpn" ];
"172.23.23.12" = [ "storage001" "storage001.monitoringvpn" ];
};
vpnClientIPs = [ "172.23.23.11" "172.23.23.12" ];
nodeExporterTargets = [ "monitoring" "payments" "storage001" ];
in {
"payments" = lib.make-issuer (cfg // {
publicIPv4 = "18.194.183.13";
monitoringvpnIPv4 = "172.23.23.11";

Florian Sesser
committed
inherit monitoringvpnKeyDir;
inherit sshUsers;
hardware = lib.hardware-aws;
stateVersion = "19.03";

Florian Sesser
committed
});
"storage001" = lib.make-testing (cfg // {
publicIPv4 = "3.120.26.190";

Florian Sesser
committed
inherit monitoringvpnKeyDir;
inherit sshUsers;
hardware = ./testing001-hardware.nix;
"monitoring" = lib.make-monitoring (cfg // {
publicIPv4 = "18.156.171.217";
monitoringvpnIPv4 = "172.23.23.1";

Florian Sesser
committed
inherit monitoringvpnKeyDir;
inherit vpnClientIPs;
inherit hostsMap;
inherit nodeExporterTargets;
hardware = lib.hardware-aws;

Florian Sesser
committed
});