Skip to content
Snippets Groups Projects
Commit 5a714b71 authored by Tom Prince's avatar Tom Prince
Browse files

Simplify domain configuration.

parent 4de9d2f3
Branches
No related tags found
3 merge requests!180merge develop into production,!177merge develop into staging,!161Move configuration of domain and targetHost to generic locations.
......@@ -14,6 +14,7 @@ let
../../../nixos/modules/ssh.nix
];
services.private-storage.sshUsers = import ./public-keys/users.nix;
networking.domain = grid-config.domain;
# Convert relative paths to absolute so library code can resolve names
# correctly.
grid = {
......@@ -68,7 +69,7 @@ let
(gridlib.hardware-virtual ({ publicIPv4 = "192.168.67.24"; }))
(gridlib.customize-monitoring {
inherit hostsMap vpnClientIPs nodeExporterTargets paymentExporterTargets;
inherit (grid-config) domain letsEncryptAdminEmail;
inherit (grid-config) letsEncryptAdminEmail;
googleOAuthClientID = grid-config.monitoringGoogleOAuthClientID;
monitoringvpnIPv4 = "172.23.23.1";
stateVersion = "19.09";
......
......@@ -15,6 +15,7 @@ let
../../../nixos/modules/ssh.nix
];
services.private-storage.sshUsers = import ./public-keys/users.nix;
networking.domain = grid-config.domain;
# Convert relative paths to absolute so library code can resolve names
# correctly.
grid = {
......@@ -45,7 +46,7 @@ let
gridlib.hardware-aws
(gridlib.customize-monitoring {
inherit hostsMap vpnClientIPs nodeExporterTargets paymentExporterTargets;
inherit (grid-config) domain letsEncryptAdminEmail;
inherit (grid-config) letsEncryptAdminEmail;
googleOAuthClientID = grid-config.monitoringGoogleOAuthClientID;
monitoringvpnIPv4 = "172.23.23.1";
stateVersion = "19.09";
......
......@@ -15,6 +15,7 @@ let
../../../nixos/modules/ssh.nix
];
services.private-storage.sshUsers = import ./public-keys/users.nix;
networking.domain = grid-config.domain;
# Convert relative paths to absolute so library code can resolve names
# correctly.
grid = {
......@@ -58,7 +59,7 @@ let
gridlib.hardware-aws
(gridlib.customize-monitoring {
inherit hostsMap vpnClientIPs nodeExporterTargets paymentExporterTargets;
inherit (grid-config) domain letsEncryptAdminEmail;
inherit (grid-config) letsEncryptAdminEmail;
googleOAuthClientID = grid-config.monitoringGoogleOAuthClientID;
monitoringvpnIPv4 = "172.23.23.1";
stateVersion = "19.09";
......
......@@ -18,4 +18,14 @@
'';
};
};
config = {
# The morph default deployment target the name of the node in the network
# attrset. We don't always want to give the node its proper public address
# there (because it depends on which domain is associated with the grid
# being configured and using variable names complicates a lot of things).
# Instead, just tell morph how to reach the node here - by using its fully
# qualified domain name.
deployment.targetHost = "${config.networking.hostName}.${config.networking.domain}";
};
}
......@@ -8,14 +8,6 @@
# A string giving the VPN IPv4 address for this system.
, monitoringvpnIPv4
# A string giving the domain name associated with this grid. This is meant
# to be combined with the hostname for this system to produce a
# fully-qualified domain name. For example, an issuer might have "payments"
# as its hostname and belong to a grid with the domain
# "example-grid.invalid". This ``domain`` parameter should have the value
# ``"example-grid.invalid"`` for the system figure out that
# ``payments.example-grid.invalid`` is the name of this system.
, domain
# A string giving an email address to use for Let's Encrypt registration and
# certificate issuance.
, letsEncryptAdminEmail
......@@ -33,14 +25,6 @@
let
inherit (config.grid) publicKeyPath privateKeyPath;
in {
# The morph default deployment target the name of the node in the network
# attrset. We don't always want to give the node its proper public address
# there (because it depends on which domain is associated with the grid
# being configured and using variable names complicates a lot of things).
# Instead, just tell morph how to reach the node here - by using its fully
# qualified domain name.
deployment.targetHost = "${config.networking.hostName}.${config.networking.domain}";
deployment.secrets = {
# ``.../monitoringvpn`` is a path on the deployment system of a directory
# containing a number of VPN-related secrets. This is expected to contain
......@@ -53,8 +37,6 @@ in {
"monitoringvpn-preshared-key".source = "${privateKeyPath}/monitoringvpn/preshared.key";
};
networking.domain = domain;
services.private-storage.monitoring.vpn.client = {
enable = true;
ip = monitoringvpnIPv4;
......
......@@ -10,7 +10,6 @@
# See ``customize-issuer.nix``.
, monitoringvpnIPv4
, domain
, letsEncryptAdminEmail
# A list of VPN IP addresses as strings indicating which clients will be
......@@ -41,9 +40,6 @@
let
inherit (config.grid) publicKeyPath privateKeyPath;
in {
# See customize-issuer.nix for an explanatoin of targetHost value.
deployment.targetHost = "${config.networking.hostName}.${config.networking.domain}";
deployment.secrets = let
# When Grafana SSO is disabled there is not necessarily any client secret
# available. Avoid telling morph that there is one in this case (so it
......@@ -82,7 +78,6 @@ in {
in
grafanaSSO // monitoringvpn;
networking.domain = domain;
networking.hosts = hostsMap;
services.private-storage.monitoring.vpn.server = {
......
......@@ -4,7 +4,6 @@
# See ``customize-issuer.nix``
monitoringvpnEndpoint
, monitoringvpnIPv4
, domain
# An integer giving the value of a single pass in byte×months.
, passValue
......@@ -21,16 +20,11 @@
let
inherit (config.grid) publicKeyPath privateKeyPath;
in {
# See customize-issuer.nix for an explanatoin of targetHost value.
deployment.targetHost = "${config.networking.hostName}.${config.networking.domain}";
deployment.secrets = {
"monitoringvpn-secret-key".source = "${privateKeyPath}/monitoringvpn/${monitoringvpnIPv4}.key";
"monitoringvpn-preshared-key".source = "${privateKeyPath}/monitoringvpn/preshared.key";
};
networking.domain = domain;
services.private-storage = {
inherit passValue publicStoragePort;
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment