forked from Deuxfleurs/nixcfg
Nomad config
This commit is contained in:
parent
777896a434
commit
cdd4e2211a
12 changed files with 50 additions and 47 deletions
|
@ -6,6 +6,7 @@
|
|||
|
||||
# Configuration local for this cluster node (hostname, IP, etc)
|
||||
let node_config = import ./node.nix args;
|
||||
site_config = import ./site.nix args;
|
||||
in
|
||||
{
|
||||
imports =
|
||||
|
@ -13,6 +14,8 @@ in
|
|||
./hardware-configuration.nix
|
||||
# Configuration local for this cluster node (hostname, IP, etc)
|
||||
./node.nix
|
||||
# Configuration local for this Deuxfleurs site (set of nodes)
|
||||
./site.nix
|
||||
];
|
||||
|
||||
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
|
||||
|
@ -210,11 +213,9 @@ in
|
|||
# Enable Hashicorp Consul & Nomad
|
||||
services.consul.enable = true;
|
||||
services.consul.extraConfig =
|
||||
let public_ip = (builtins.head node_config.networking.wireguard.interfaces.wg0.ips);
|
||||
let public_ip = (builtins.head (builtins.split "/" (builtins.head node_config.networking.wireguard.interfaces.wg0.ips)));
|
||||
in
|
||||
{
|
||||
datacenter = "neptune";
|
||||
bootstrap_expect = 3;
|
||||
server = true;
|
||||
ui = true;
|
||||
bind_addr = public_ip;
|
||||
|
@ -224,13 +225,12 @@ in
|
|||
|
||||
services.nomad.enable = true;
|
||||
services.nomad.settings =
|
||||
let public_ip = (builtins.head node_config.networking.wireguard.interfaces.wg0.ips);
|
||||
let public_ip = (builtins.head (builtins.split "/" (builtins.head node_config.networking.wireguard.interfaces.wg0.ips)));
|
||||
in
|
||||
{
|
||||
datacenter = "neptune";
|
||||
region = site_config.services.nomad.settings.datacenter;
|
||||
server = {
|
||||
enabled = true;
|
||||
bootstrap_expect = 3;
|
||||
};
|
||||
advertise = {
|
||||
rpc = public_ip;
|
||||
|
@ -240,7 +240,7 @@ in
|
|||
consul.address = "127.0.0.1:8500";
|
||||
client = {
|
||||
enabled = true;
|
||||
network_interface = "eno1";
|
||||
network_interface = "wg0";
|
||||
};
|
||||
plugin = [
|
||||
{
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
cd $(dirname $0)
|
||||
|
||||
if [ -z "$@" ]; then
|
||||
NIXHOSTLIST=$(ls node)
|
||||
NIXHOSTLIST=$(ls node | grep -v '\.site\.')
|
||||
else
|
||||
NIXHOSTLIST="$@"
|
||||
fi
|
||||
|
@ -21,5 +21,6 @@ for NIXHOST in $NIXHOSTLIST; do
|
|||
|
||||
cat configuration.nix | ssh -F ssh_config $SSH_DEST sudo tee /etc/nixos/configuration.nix > /dev/null
|
||||
cat node/$NIXHOST.nix | ssh -F ssh_config $SSH_DEST sudo tee /etc/nixos/node.nix > /dev/null
|
||||
cat node/$NIXHOST.site.nix | ssh -F ssh_config $SSH_DEST sudo tee /etc/nixos/site.nix > /dev/null
|
||||
ssh -F ssh_config $SSH_DEST sudo nixos-rebuild switch
|
||||
done
|
||||
|
|
|
@ -17,10 +17,6 @@
|
|||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
networking.defaultGateway = {
|
||||
address = "192.168.1.254";
|
||||
interface = "eno1";
|
||||
};
|
||||
|
||||
networking.wireguard.interfaces.wg0 = {
|
||||
ips = [ "10.42.0.22/16" ];
|
||||
|
@ -29,15 +25,4 @@
|
|||
|
||||
# Enable netdata monitoring
|
||||
services.netdata.enable = true;
|
||||
|
||||
# ----
|
||||
|
||||
nix = {
|
||||
binaryCaches = [
|
||||
"http://binarycache.home.adnab.me"
|
||||
];
|
||||
binaryCachePublicKeys = [
|
||||
"binarycache.home.adnab.me:ErR6pMnewf9oVyZJd5uC2nI4EZF49c7Mh86eDZWYZaw="
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
1
node/carcajou.site.nix
Symbolic link
1
node/carcajou.site.nix
Symbolic link
|
@ -0,0 +1 @@
|
|||
../site/neptune.nix
|
|
@ -17,10 +17,6 @@
|
|||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
networking.defaultGateway = {
|
||||
address = "192.168.1.254";
|
||||
interface = "eno1";
|
||||
};
|
||||
|
||||
networking.wireguard.interfaces.wg0 = {
|
||||
ips = [ "10.42.0.21/16" ];
|
||||
|
@ -29,15 +25,4 @@
|
|||
|
||||
# Enable netdata monitoring
|
||||
services.netdata.enable = true;
|
||||
|
||||
# ----
|
||||
|
||||
nix = {
|
||||
binaryCaches = [
|
||||
"http://binarycache.home.adnab.me"
|
||||
];
|
||||
binaryCachePublicKeys = [
|
||||
"binarycache.home.adnab.me:ErR6pMnewf9oVyZJd5uC2nI4EZF49c7Mh86eDZWYZaw="
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
1
node/cariacou.site.nix
Symbolic link
1
node/cariacou.site.nix
Symbolic link
|
@ -0,0 +1 @@
|
|||
../site/neptune.nix
|
|
@ -17,10 +17,6 @@
|
|||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
networking.defaultGateway = {
|
||||
address = "192.168.1.254";
|
||||
interface = "eno1";
|
||||
};
|
||||
|
||||
networking.wireguard.interfaces.wg0 = {
|
||||
ips = [ "10.42.0.23/16" ];
|
||||
|
@ -30,7 +26,6 @@
|
|||
# OR use USB modem plugged in here
|
||||
#networking.interfaces.enp0s20u1.useDHCP = true;
|
||||
|
||||
|
||||
# Enable netdata monitoring
|
||||
services.netdata.enable = true;
|
||||
|
||||
|
|
1
node/caribou.site.nix
Symbolic link
1
node/caribou.site.nix
Symbolic link
|
@ -0,0 +1 @@
|
|||
../site/neptune.nix
|
|
@ -19,10 +19,6 @@
|
|||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
networking.defaultGateway = {
|
||||
address = "192.168.0.1";
|
||||
interface = "enp0s25";
|
||||
};
|
||||
|
||||
networking.wireguard.interfaces.wg0 = {
|
||||
ips = [ "10.42.0.2/16" ];
|
||||
|
|
1
node/spoutnik.site.nix
Symbolic link
1
node/spoutnik.site.nix
Symbolic link
|
@ -0,0 +1 @@
|
|||
../site/pluton.nix
|
24
site/neptune.nix
Normal file
24
site/neptune.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
networking.defaultGateway = {
|
||||
address = "192.168.1.254";
|
||||
interface = "eno1";
|
||||
};
|
||||
|
||||
services.consul.extraConfig.datacenter = "neptune";
|
||||
services.nomad.settings.datacenter = "neptune";
|
||||
services.consul.extraConfig.bootstrap_expect = 3;
|
||||
services.nomad.settings.server.bootstrap_expect = 3;
|
||||
|
||||
# ----
|
||||
|
||||
nix = {
|
||||
binaryCaches = [
|
||||
"http://binarycache.home.adnab.me"
|
||||
];
|
||||
binaryCachePublicKeys = [
|
||||
"binarycache.home.adnab.me:ErR6pMnewf9oVyZJd5uC2nI4EZF49c7Mh86eDZWYZaw="
|
||||
];
|
||||
};
|
||||
}
|
13
site/pluton.nix
Normal file
13
site/pluton.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
networking.defaultGateway = {
|
||||
address = "192.168.0.1";
|
||||
interface = "enp0s25";
|
||||
};
|
||||
|
||||
services.consul.extraConfig.datacenter = "pluton";
|
||||
services.nomad.settings.datacenter = "pluton";
|
||||
services.consul.extraConfig.bootstrap_expect = 1;
|
||||
services.nomad.settings.server.bootstrap_expect = 1;
|
||||
}
|
Loading…
Reference in a new issue