aboutsummaryrefslogblamecommitdiff
path: root/cluster/prod/cluster.nix
blob: b3a91417cc8c76a26d508307006b6cae1818cf70 (plain) (tree)
1
2
3
4
5
6
7
8
9



                                   
 


                                                                 
 
























                                                                 
























                                                                 
    



                                            


                            
    
 





                                                                                                                                                                                                                                                                                                                                                                                                                   









                                                                                                                                                                                                                                                                                                                                                                                                                          
    





                                                 
 
{ config, pkgs, ... } @ args:

{
  deuxfleurs.cluster_name = "prod";

  # The IP range to use for the Wireguard overlay of this cluster
  deuxfleurs.cluster_prefix = "10.83.0.0";
  deuxfleurs.cluster_prefix_length = 16;

  deuxfleurs.cluster_nodes = [
    {
      hostname = "concombre";
      site_name = "neptune";
      publicKey = "VvXT0fPDfWsHxumZqVShpS33dJQAdpJ1E79ZbCBJP34=";
      IP = "10.83.1.1";
      lan_endpoint = "192.168.1.31:33799";
      endpoint = "77.207.15.215:33731";
    }
    {
      hostname = "courgette";
      site_name = "neptune";
      publicKey = "goTkBJGmzrGDOAjUcdH9G0JekipqSMoaYQdB6IHnzi0=";
      IP = "10.83.1.2";
      lan_endpoint = "192.168.1.32:33799";
      endpoint = "77.207.15.215:33732";
    }
    {
      hostname = "celeri";
      site_name = "neptune";
      publicKey = "oZDAb8LoLW87ktUHyFFec0VaIar97bqq47mGbdVqJ0U=";
      IP = "10.83.1.3";
      lan_endpoint = "192.168.1.33:33799";
      endpoint = "77.207.15.215:33733";
    }
    {
      hostname = "dahlia";
      site_name = "orion";
      publicKey = "EtRoWBYCdjqgXX0L+uWLg8KxNfIK8k9OTh30tL19bXU=";
      IP = "10.83.2.1";
      lan_endpoint = "192.168.1.11:33799";
      endpoint = "82.66.80.201:33731";  
    }
    {
      hostname = "diplotaxis";
      site_name = "orion";
      publicKey = "HbLC938mysadMSOxWgq8+qrv+dBKzPP/43OMJp/3phA=";
      IP = "10.83.2.2";
      lan_endpoint = "192.168.1.12:33799";
      endpoint = "82.66.80.201:33732";  

    }
    {
      hostname = "doradille";
      site_name = "orion";
      publicKey = "e1C8jgTj9eD20ywG08G1FQZ+Js3wMK/msDUE1wO3l1Y=";
      IP = "10.83.2.3";
      lan_endpoint = "192.168.1.13:33799";
      endpoint = "82.66.80.201:33733";  
    }
  ];

  # Bootstrap IPs for Consul cluster,
  # these are IPs on the Wesher overlay
  services.consul.extraConfig.retry_join = [
    "10.83.1.1"  # concombre
    "10.83.1.2"  # courgette
    "10.83.1.3"  # celeri
  ];

  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"
    ];
    quentin = [
      "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDT1+H08FdUSvdPpPKdcafq4+JRHvFVjfvG5Id97LAoROmFRUb/ZOMTLdNuD7FqvW0Da5CPxIMr8ZxfrFLtpGyuG7qdI030iIRZPlKpBh37epZHaV+l9F4ZwJQMIBO9cuyLPXgsyvM/s7tDtrdK1k7JTf2EVvoirrjSzBaMhAnhi7//to8zvujDtgDZzy6aby75bAaDetlYPBq2brWehtrf9yDDG9WAMYJqp//scje/WmhbRR6eSdim1HaUcWk5+4ZPt8sQJcy8iWxQ4jtgjqTvMOe5v8ZPkxJNBine/ZKoJsv7FzKem00xEH7opzktaGukyEqH0VwOwKhmBiqsX2yN quentin@dufour.io"
      "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBu+KUebaWwlugMC5fGbNhHc6IaQDAC6+1vMc4Ww7nVU1rs2nwI7L5qcWxOwNdhFaorZQZy/fJuCWdFbF61RCKGayBWPLZHGPsfqDuggYNEi1Qil1kpeCECfDQNjyMTK058ZBBhOWNMHBjlLWXUlRJDkRBBECY0vo4jRv22SvSaPUCAnkdJ9rbAp/kqb497PTIb2r1l1/ew8YdhINAlpYQFQezZVfkZdTKxt22n0QCjhupqjfh3gfNnbBX0z/iO+RvAOWRIZsjPFLC+jXl+n7cnu2cq1nvST5eHiYfXXeIgIwmeENLKqp+2Twr7PIdv22PnJkh6iR5kx7eTRxkNZdN quentin@deuxfleurs.fr"
    ];
    adrien = [
      "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBfVX+iQSHl3V0el3/y2Rtl9Q/nrmLoTE3oXnR+16yX7g8HvzU871q89jbE/UWvNRvO4hirTcKF8yojuq8ZRCoUcQO+6/YlPrY/2G8kFhPTlUGDQ+mLT+ancZsom4mkg3I9oQjKZ9qxMD1GuU8Ydz4eXjhJ8OGFZhBpEgnrLmdA53Y5d2fCbaZN5EYD4sWEFYN7xBLxTGNwv0gygiPs967Z4/ZfHngTvqVoS9wnQThSCIoXPTWFAJCkN8dC5tPZwnbOT1bGcYUF0VTrcaD6cU6Q1ZRrtyqXxnnyxpQCAoe2hgdIm+LnDsBx9trfPauqi0dXi36X8pLmudW1f1RmKWT adrien@bacigalupi"
    ];
    maximilien = [
      "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHMMR6zNzz8NQU80wFquhUCeiXJuGphjP+zNouKbn228GyESu8sfNBwnuZq86vblR11Lz8l2rtCM73GfAKg29qmUWUHRKWvRIYWv2vaUJcCdy0bAxIzcvCvjZX0SpnIKxe9y3Rp0LGO5WLYfw0ZFaavwFZP0Z8w1Kj9/zBmL2X2avbhkaYHi/C1yXhbvESYQysmqLa48EX/TS616MBrgR9zbI9AoTQ9NOHnR14Tve/AP/khcZoBJdm4hTttMbNkEc0wonzdylTDew263SPRs/uoqnQIpUtErdPHqU10Yup8HjXjEyFJsSwcZcM5sZOw5JKckKJwmcd0yjO/x/4/Mk5"
    ];
  };

  # For Garage external communication
  networking.firewall.allowedTCPPorts = [ 3901 ];

  # Enable netdata monitoring
  services.netdata.enable = true;
}