diff --git a/hosts/isaiah/default.nix b/hosts/isaiah/default.nix index 640c98b..b4c862d 100644 --- a/hosts/isaiah/default.nix +++ b/hosts/isaiah/default.nix @@ -37,6 +37,7 @@ kubernetes = { enable = true; vipInterface = "enp38s0"; + vip = "10.42.1.6"; priority = 255; }; tailscale = { @@ -59,27 +60,13 @@ }; networking = { - defaultGateway = { - address = " 10.42.1.1"; - interface = "enp38s0"; - }; firewall = { enable = true; allowedTCPPorts = [ 80 ]; checkReversePath = lib.mkForce false; }; hostName = "isaiah"; - interfaces = { - enp38s0 = { - ipv4.addresses = [ - { - address = "10.42.1.6"; - prefixLength = 16; - } - ]; - }; - }; - nameservers = [ "10.42.1.5" ]; + interfaces.enp38s0.useDHCP = true; useDHCP = false; }; diff --git a/hosts/jeremiah/default.nix b/hosts/jeremiah/default.nix index b488621..e77e175 100644 --- a/hosts/jeremiah/default.nix +++ b/hosts/jeremiah/default.nix @@ -22,8 +22,9 @@ initrd.kernelModules = [ "amdgpu" ]; - kernelParams = [ - ]; + kernelParams = + [ + ]; loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; @@ -73,6 +74,7 @@ kubernetes = { enable = true; vipInterface = "br0"; + vip = "10.42.1.8"; priority = 254; }; tailscale = { @@ -103,17 +105,7 @@ interface = "br0"; }; firewall.allowedTCPPorts = [ 3389 ]; - interfaces = { - br0 = { - ipv4.addresses = [ - { - address = "10.42.1.8"; - prefixLength = 16; - } - ]; - }; - }; - nameservers = [ "10.42.1.5" ]; + interfaces.br0.useDHCP = true; }; programs.steam = { diff --git a/hosts/zeke/default.nix b/hosts/zeke/default.nix index 3f791a7..03f5037 100644 --- a/hosts/zeke/default.nix +++ b/hosts/zeke/default.nix @@ -53,37 +53,16 @@ networkmanager.enable = lib.mkForce true; enableIPv6 = false; useDHCP = false; - interfaces = { - # This seems to be direct mother board interface - enp12s0.useDHCP = true; - enp12s0.ipv4.addresses = [ - { - address = "10.42.1.13"; - prefixLength = 16; - } - ]; - }; - defaultGateway = { - address = "10.42.1.1"; - interface = "enp12s0"; - }; - nameservers = [ - "10.42.1.5" - "10.42.1.1" - ]; + interfaces.enp12s0.useDHCP = true; }; # Let's do a sound thing services = { k3s = { - extraFlags = - let - ip = (builtins.head config.networking.interfaces.enp12s0.ipv4.addresses).address; - in - [ - "--tls-san ${ip}" - #"--bind-address ${ip}" - ]; + extraFlags = [ + "--tls-san 10.42.1.13" + #"--bind-address ${ip}" + ]; }; xserver.videoDrivers = [ "nvidia" ]; }; diff --git a/modules/nixos/kubernetes.nix b/modules/nixos/kubernetes.nix index 017cede..5d35f31 100644 --- a/modules/nixos/kubernetes.nix +++ b/modules/nixos/kubernetes.nix @@ -29,6 +29,11 @@ in default = 1; description = "VIP priority"; }; + vip = lib.mkOption { + type = lib.types.str; + default = null; + description = "The IP address of this host"; + }; vipInterface = lib.mkOption { type = lib.types.str; default = null; @@ -56,22 +61,22 @@ in ]; networking.firewall = { - allowedTCPPorts = [ - 80 - 443 - 5432 - 6443 - 10250 - ] - ++ ( - if cfg.agentOnly then - [ ] - else - [ - 2379 - 2380 - ] - ); + allowedTCPPorts = + [ + 80 + 443 + 5432 + 6443 + ] + ++ ( + if cfg.agentOnly then + [ ] + else + [ + 2379 + 2380 + ] + ); allowedUDPPorts = [ 8472 ]; }; @@ -137,35 +142,25 @@ in serverAddr = lib.mkIf (config.networking.hostName != "isaiah") "https://isaiah.home:6443"; tokenFile = config.age.secrets.kubernetesToken.path; }; - keepalived = - let - ip = (builtins.head config.networking.interfaces."${cfg.vipInterface}".ipv4.addresses).address; - in - { - enable = true; - openFirewall = true; - vrrpInstances.kubernetes = { - interface = cfg.vipInterface; - priority = cfg.priority; - state = if (config.networking.hostName == "isaiah") then "MASTER" else "BACKUP"; - virtualIps = [ - { - addr = "10.42.5.1/16"; - dev = cfg.vipInterface; - } - ]; - virtualRouterId = 77; - unicastPeers = lib.filter (v: v != ip) [ - "10.42.1.6" - "10.42.1.8" - "10.42.1.13" - ]; - unicastSrcIp = ip; - extraConfig = '' - advert_int 1 - ''; - }; + keepalived = { + enable = true; + openFirewall = true; + vrrpInstances.kubernetes = { + interface = cfg.vipInterface; + priority = cfg.priority; + state = if (config.networking.hostName == "isaiah") then "MASTER" else "BACKUP"; + virtualIps = [ + { + addr = "10.42.5.1/16"; + dev = cfg.vipInterface; + } + ]; + virtualRouterId = 77; + extraConfig = '' + advert_int 1 + ''; }; + }; openiscsi = { enable = true; name = "${config.networking.hostName}-initiatorhost";