aboutsummaryrefslogtreecommitdiff
path: root/cluster/prod
diff options
context:
space:
mode:
Diffstat (limited to 'cluster/prod')
-rw-r--r--cluster/prod/cluster.nix58
-rw-r--r--cluster/prod/node/celeri.nix33
l---------cluster/prod/node/celeri.site.nix1
-rw-r--r--cluster/prod/node/concombre.nix33
l---------cluster/prod/node/concombre.site.nix1
-rw-r--r--cluster/prod/node/courgette.nix33
l---------cluster/prod/node/courgette.site.nix1
-rw-r--r--cluster/prod/site/neptune.nix10
-rw-r--r--cluster/prod/ssh_config10
9 files changed, 180 insertions, 0 deletions
diff --git a/cluster/prod/cluster.nix b/cluster/prod/cluster.nix
new file mode 100644
index 0000000..ab70c77
--- /dev/null
+++ b/cluster/prod/cluster.nix
@@ -0,0 +1,58 @@
+{ config, pkgs, ... } @ args:
+
+{
+ deuxfleurs.cluster_name = "prod";
+ deuxfleurs.cluster_nodes = [
+ {
+ hostname = "concombre";
+ publicKey = "VvXT0fPDfWsHxumZqVShpS33dJQAdpJ1E79ZbCBJP34=";
+ IP = "10.42.1.31";
+ endpoint = "82.66.112.151:33731";
+ }
+ {
+ hostname = "courgette";
+ publicKey = "goTkBJGmzrGDOAjUcdH9G0JekipqSMoaYQdB6IHnzi0=";
+ IP = "10.42.1.32";
+ endpoint = "82.66.112.151:33732";
+ }
+ {
+ hostname = "celeri";
+ publicKey = "oZDAb8LoLW87ktUHyFFec0VaIar97bqq47mGbdVqJ0U=";
+ IP = "10.42.1.33";
+ endpoint = "82.66.112.151:33733";
+ }
+ ];
+ deuxfleurs.admin_nodes = [
+ {
+ hostname = "hammerhead";
+ publicKey = "b5hF+GSTgg3oM6wnjL7jRbfyf1jtsWdVptPPbAh3Qic=";
+ IP = "10.42.0.1";
+ endpoint = "5.135.179.11:51349";
+ }
+ {
+ hostname = "robinson";
+ publicKey = "ETaZFil3mFXlJ0LaJZyWqJVLV2IZUF5PB/8M7WbQSTg=";
+ IP = "10.42.0.42";
+ endpoint = "77.141.67.109:33742";
+ }
+ {
+ hostname = "shiki";
+ publicKey = "QUiUNMk70TEQ75Ut7Uqikr5uGVSXmx8EGNkGM6tANlg=";
+ IP = "10.42.0.206";
+ endpoint = "37.187.118.206:51820";
+ }
+ {
+ hostname = "lindy";
+ publicKey = "wen9GnZy2iLT6RyHfn7ydS/wvdvow1XPmhZxIkrDbks=";
+ IP = "10.42.0.66";
+ endpoint = "82.66.112.151:33766";
+ }
+ ];
+ deuxfleurs.admin_accounts = {
+ lx = [
+ # Keys for accessing nodes from outside
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJpaBZdYxHqMxhv2RExAOa7nkKhPBOHupMP3mYaZ73w9 lx@lindy"
+ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIDdVbA9fEdqSr5UJ77NnoIqDTVp8ca5kHExhZYI4ecBExFJfonJllXMBN9KdC4ukxtY8Ug47PcMOfMaTBZQc+e+KpvDWpkBt15Xpem3RCxmMBES79sLL7LgtAdBXc5mNaCX8EOEVixWKdarjvxRyf6py6the51G5muaiMpoj5fae4ZpRGjhGTPefzc7y7zRWBUUZ8pYHW774BIaK6XT9gn3hyHV+Occjl/UODXvodktk55YtnuPi8adXTYEsHrVVz8AkFhx+cr0U/U8vtQnsTrZG+JmgQLqpXVs0RDw5bE1RefEbMuYNKxutYKUe3L+ZJtDe0M0MqOFI8a4F5TxP5 katchup@konata"
+ ];
+ };
+}
diff --git a/cluster/prod/node/celeri.nix b/cluster/prod/node/celeri.nix
new file mode 100644
index 0000000..09de302
--- /dev/null
+++ b/cluster/prod/node/celeri.nix
@@ -0,0 +1,33 @@
+# Configuration file local to this node
+
+{ config, pkgs, ... }:
+
+{
+ # Use the systemd-boot EFI boot loader.
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.timeout = 20;
+ boot.loader.efi.canTouchEfiVariables = true;
+
+ networking.hostName = "celeri";
+
+ networking.interfaces.eno1.useDHCP = false;
+ networking.interfaces.eno1.ipv4.addresses = [
+ {
+ address = "192.168.1.33";
+ prefixLength = 24;
+ }
+ ];
+ networking.interfaces.eno1.ipv6.addresses = [
+ {
+ address = "2a01:e0a:c:a720::33";
+ prefixLength = 64;
+ }
+ ];
+
+ deuxfleurs.vpn_ip = "10.42.1.33";
+ deuxfleurs.vpn_listen_port = 33733;
+ deuxfleurs.is_raft_server = true;
+
+ # Enable netdata monitoring
+ services.netdata.enable = true;
+}
diff --git a/cluster/prod/node/celeri.site.nix b/cluster/prod/node/celeri.site.nix
new file mode 120000
index 0000000..04ee36c
--- /dev/null
+++ b/cluster/prod/node/celeri.site.nix
@@ -0,0 +1 @@
+../site/neptune.nix \ No newline at end of file
diff --git a/cluster/prod/node/concombre.nix b/cluster/prod/node/concombre.nix
new file mode 100644
index 0000000..f06e387
--- /dev/null
+++ b/cluster/prod/node/concombre.nix
@@ -0,0 +1,33 @@
+# Configuration file local to this node
+
+{ config, pkgs, ... }:
+
+{
+ # Use the systemd-boot EFI boot loader.
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.timeout = 20;
+ boot.loader.efi.canTouchEfiVariables = true;
+
+ networking.hostName = "concombre";
+
+ networking.interfaces.eno1.useDHCP = false;
+ networking.interfaces.eno1.ipv4.addresses = [
+ {
+ address = "192.168.1.31";
+ prefixLength = 24;
+ }
+ ];
+ networking.interfaces.eno1.ipv6.addresses = [
+ {
+ address = "2a01:e0a:c:a720::31";
+ prefixLength = 64;
+ }
+ ];
+
+ deuxfleurs.vpn_ip = "10.42.1.31";
+ deuxfleurs.vpn_listen_port = 33731;
+ deuxfleurs.is_raft_server = true;
+
+ # Enable netdata monitoring
+ services.netdata.enable = true;
+}
diff --git a/cluster/prod/node/concombre.site.nix b/cluster/prod/node/concombre.site.nix
new file mode 120000
index 0000000..04ee36c
--- /dev/null
+++ b/cluster/prod/node/concombre.site.nix
@@ -0,0 +1 @@
+../site/neptune.nix \ No newline at end of file
diff --git a/cluster/prod/node/courgette.nix b/cluster/prod/node/courgette.nix
new file mode 100644
index 0000000..e540de1
--- /dev/null
+++ b/cluster/prod/node/courgette.nix
@@ -0,0 +1,33 @@
+# Configuration file local to this node
+
+{ config, pkgs, ... }:
+
+{
+ # Use the systemd-boot EFI boot loader.
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.timeout = 20;
+ boot.loader.efi.canTouchEfiVariables = true;
+
+ networking.hostName = "courgette";
+
+ networking.interfaces.eno1.useDHCP = false;
+ networking.interfaces.eno1.ipv4.addresses = [
+ {
+ address = "192.168.1.32";
+ prefixLength = 24;
+ }
+ ];
+ networking.interfaces.eno1.ipv6.addresses = [
+ {
+ address = "2a01:e0a:c:a720::32";
+ prefixLength = 64;
+ }
+ ];
+
+ deuxfleurs.vpn_ip = "10.42.1.32";
+ deuxfleurs.vpn_listen_port = 33732;
+ deuxfleurs.is_raft_server = true;
+
+ # Enable netdata monitoring
+ services.netdata.enable = true;
+}
diff --git a/cluster/prod/node/courgette.site.nix b/cluster/prod/node/courgette.site.nix
new file mode 120000
index 0000000..04ee36c
--- /dev/null
+++ b/cluster/prod/node/courgette.site.nix
@@ -0,0 +1 @@
+../site/neptune.nix \ No newline at end of file
diff --git a/cluster/prod/site/neptune.nix b/cluster/prod/site/neptune.nix
new file mode 100644
index 0000000..6987f31
--- /dev/null
+++ b/cluster/prod/site/neptune.nix
@@ -0,0 +1,10 @@
+{ config, pkgs, ... }:
+
+{
+ networking.defaultGateway = {
+ address = "192.168.1.254";
+ interface = "eno1";
+ };
+
+ deuxfleurs.site_name = "neptune";
+}
diff --git a/cluster/prod/ssh_config b/cluster/prod/ssh_config
new file mode 100644
index 0000000..266d77f
--- /dev/null
+++ b/cluster/prod/ssh_config
@@ -0,0 +1,10 @@
+UserKnownHostsFile ./ssh_known_hosts
+
+Host concombre
+ HostName 10.42.1.31
+
+Host courgette
+ HostName 10.42.1.32
+
+Host celeri
+ HostName 10.42.1.33