Files
nix-config/lib/genK3sAgentModule.nix
Ryan Yin 77ed0378d1 feat: IPv6 (#192)
* feat: custom ipv6 routes for all hosts
* fix: ipv6 - k3s+cilium
2025-06-08 19:12:55 +08:00

37 lines
765 B
Nix

{
pkgs,
masterHost,
tokenFile,
nodeLabels ? [],
...
}: let
package = pkgs.k3s;
in {
environment.systemPackages = [package];
# Kernel modules required by cilium
boot.kernelModules = ["ip6_tables" "ip6table_mangle" "ip6table_raw" "ip6table_filter"];
networking.enableIPv6 = true;
networking.nat = {
enable = true;
enableIPv6 = true;
};
services.k3s = {
enable = true;
inherit package tokenFile;
role = "agent";
serverAddr = "https://${masterHost}:6443";
# https://docs.k3s.io/cli/agent
extraFlags = let
flagList =
[
"--data-dir /var/lib/rancher/k3s"
]
++ (map (label: "--node-label=${label}") nodeLabels);
in
pkgs.lib.concatStringsSep " " flagList;
};
}