diff --git a/lib/default.nix b/lib/default.nix index b0b4b63..430a6a3 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -4,6 +4,7 @@ rad-dev = rec { systems = import ./systems.nix { inherit lib; }; microvm = import ./microvms.nix { inherit lib; }; + # any(), but checks if any value in the list is true # # args: diff --git a/modules/opt/k3s-agent.nix b/modules/opt/k3s-agent.nix index c915eb0..2b635df 100644 --- a/modules/opt/k3s-agent.nix +++ b/modules/opt/k3s-agent.nix @@ -1 +1,5 @@ -{ ... }: { } +{ ... }: +{ + imports = [ ./k3s-common.nix ]; + services.k3s.role = "agent"; +} diff --git a/modules/opt/k3s-common.nix b/modules/opt/k3s-common.nix new file mode 100644 index 0000000..0cb17d1 --- /dev/null +++ b/modules/opt/k3s-common.nix @@ -0,0 +1,15 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + services.k3s = { + enable = true; + extraFlags = "--cluster-cidr 192.168.69.0/24"; + # tokenFile = #TODO: set this up after building the first node lol + # serverAddr = + }; +} diff --git a/modules/opt/k3s-server.nix b/modules/opt/k3s-server.nix index c915eb0..3278c1b 100644 --- a/modules/opt/k3s-server.nix +++ b/modules/opt/k3s-server.nix @@ -1 +1,6 @@ -{ ... }: { } +{ ... }: +{ + imports = [ ./k3s-common.nix ]; + + services.k3s.role = "server"; +} diff --git a/systems/palatine-hill/microvms.nix b/systems/palatine-hill/microvms.nix index fdcb139..256a598 100644 --- a/systems/palatine-hill/microvms.nix +++ b/systems/palatine-hill/microvms.nix @@ -6,22 +6,22 @@ ... }: let - inherit (lib.rad-dev.microvm) genFromList; + inherit (lib.rad-dev.microvm) genK3SFromList; in { # rad-dev.microvm-host.enable = true; - rad-dev.microvm-host.vms = ( - genFromList (src + "/modules/opt/k3s-server.nix") (src + "/modules/opt/k3s-agent.nix") [ - { - host = "ph-server-1"; - ipv4 = "192.168.69.10"; - server = true; - } - { - host = "ph-agent-1"; - ipv4 = "192.168.69.30"; - } - ] - ); + rad-dev.microvm-host.vms = + genK3SFromList (src + "/modules/opt/k3s-server.nix") (src + "/modules/opt/k3s-agent.nix") + [ + { + host = "ph-server-1"; + ipv4 = "192.168.69.10"; + server = true; + } + { + host = "ph-agent-1"; + ipv4 = "192.168.69.30"; + } + ]; }