diff options
Diffstat (limited to 'os/host_TOREWORK/cluster/prod')
-rw-r--r-- | os/host_TOREWORK/cluster/prod/cluster.nix | 70 | ||||
-rw-r--r-- | os/host_TOREWORK/cluster/prod/node/celeri.nix | 29 | ||||
l--------- | os/host_TOREWORK/cluster/prod/node/celeri.site.nix | 1 | ||||
-rw-r--r-- | os/host_TOREWORK/cluster/prod/node/concombre.nix | 29 | ||||
l--------- | os/host_TOREWORK/cluster/prod/node/concombre.site.nix | 1 | ||||
-rw-r--r-- | os/host_TOREWORK/cluster/prod/node/courgette.nix | 29 | ||||
l--------- | os/host_TOREWORK/cluster/prod/node/courgette.site.nix | 1 | ||||
-rw-r--r-- | os/host_TOREWORK/cluster/prod/site/neptune.nix | 9 | ||||
-rw-r--r-- | os/host_TOREWORK/cluster/prod/ssh_config | 10 |
9 files changed, 179 insertions, 0 deletions
diff --git a/os/host_TOREWORK/cluster/prod/cluster.nix b/os/host_TOREWORK/cluster/prod/cluster.nix new file mode 100644 index 0000000..d131db7 --- /dev/null +++ b/os/host_TOREWORK/cluster/prod/cluster.nix @@ -0,0 +1,70 @@ +{ config, pkgs, ... } @ args: + +{ + deuxfleurs.cluster_name = "prod"; + deuxfleurs.cluster_nodes = [ + { + hostname = "concombre"; + site_name = "neptune"; + publicKey = "VvXT0fPDfWsHxumZqVShpS33dJQAdpJ1E79ZbCBJP34="; + IP = "10.42.1.31"; + endpoint = "82.66.112.151:33731"; + lan_endpoint = "192.168.1.31:33731"; + } + { + hostname = "courgette"; + site_name = "neptune"; + publicKey = "goTkBJGmzrGDOAjUcdH9G0JekipqSMoaYQdB6IHnzi0="; + IP = "10.42.1.32"; + endpoint = "82.66.112.151:33732"; + lan_endpoint = "192.168.1.32:33732"; + } + { + hostname = "celeri"; + site_name = "neptune"; + publicKey = "oZDAb8LoLW87ktUHyFFec0VaIar97bqq47mGbdVqJ0U="; + IP = "10.42.1.33"; + endpoint = "82.66.112.151:33733"; + lan_endpoint = "192.168.1.33: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" + ]; + }; + + # For Garage external communication + networking.firewall.allowedTCPPorts = [ 3901 ]; + + # Enable netdata monitoring + services.netdata.enable = true; +} diff --git a/os/host_TOREWORK/cluster/prod/node/celeri.nix b/os/host_TOREWORK/cluster/prod/node/celeri.nix new file mode 100644 index 0000000..02a33c9 --- /dev/null +++ b/os/host_TOREWORK/cluster/prod/node/celeri.nix @@ -0,0 +1,29 @@ +# 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"; + + deuxfleurs.network_interface = "eno1"; + deuxfleurs.lan_ip = "192.168.1.33"; + + 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/os/host_TOREWORK/cluster/prod/node/celeri.site.nix b/os/host_TOREWORK/cluster/prod/node/celeri.site.nix new file mode 120000 index 0000000..04ee36c --- /dev/null +++ b/os/host_TOREWORK/cluster/prod/node/celeri.site.nix @@ -0,0 +1 @@ +../site/neptune.nix
\ No newline at end of file diff --git a/os/host_TOREWORK/cluster/prod/node/concombre.nix b/os/host_TOREWORK/cluster/prod/node/concombre.nix new file mode 100644 index 0000000..517dcf8 --- /dev/null +++ b/os/host_TOREWORK/cluster/prod/node/concombre.nix @@ -0,0 +1,29 @@ +# 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"; + + deuxfleurs.network_interface = "eno1"; + deuxfleurs.lan_ip = "192.168.1.31"; + + 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/os/host_TOREWORK/cluster/prod/node/concombre.site.nix b/os/host_TOREWORK/cluster/prod/node/concombre.site.nix new file mode 120000 index 0000000..04ee36c --- /dev/null +++ b/os/host_TOREWORK/cluster/prod/node/concombre.site.nix @@ -0,0 +1 @@ +../site/neptune.nix
\ No newline at end of file diff --git a/os/host_TOREWORK/cluster/prod/node/courgette.nix b/os/host_TOREWORK/cluster/prod/node/courgette.nix new file mode 100644 index 0000000..d34e7a5 --- /dev/null +++ b/os/host_TOREWORK/cluster/prod/node/courgette.nix @@ -0,0 +1,29 @@ +# 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"; + + deuxfleurs.network_interface = "eno1"; + deuxfleurs.lan_ip = "192.168.1.32"; + + 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/os/host_TOREWORK/cluster/prod/node/courgette.site.nix b/os/host_TOREWORK/cluster/prod/node/courgette.site.nix new file mode 120000 index 0000000..04ee36c --- /dev/null +++ b/os/host_TOREWORK/cluster/prod/node/courgette.site.nix @@ -0,0 +1 @@ +../site/neptune.nix
\ No newline at end of file diff --git a/os/host_TOREWORK/cluster/prod/site/neptune.nix b/os/host_TOREWORK/cluster/prod/site/neptune.nix new file mode 100644 index 0000000..900ddf0 --- /dev/null +++ b/os/host_TOREWORK/cluster/prod/site/neptune.nix @@ -0,0 +1,9 @@ +{ config, pkgs, ... }: + +{ + deuxfleurs.site_name = "neptune"; + deuxfleurs.lan_default_gateway = "192.168.1.254"; + deuxfleurs.lan_ip_prefix_length = 24; + + networking.nameservers = [ "192.168.1.254" ]; +} diff --git a/os/host_TOREWORK/cluster/prod/ssh_config b/os/host_TOREWORK/cluster/prod/ssh_config new file mode 100644 index 0000000..cb4841f --- /dev/null +++ b/os/host_TOREWORK/cluster/prod/ssh_config @@ -0,0 +1,10 @@ +UserKnownHostsFile ./ssh_known_hosts + +Host concombre + HostName 2a01:e0a:c:a720::31 + +Host courgette + HostName 2a01:e0a:c:a720::32 + +Host celeri + HostName 2a01:e0a:c:a720::33 |