Files
nixos-server/modules/k3s.nix

41 lines
759 B
Nix

{
config,
lib,
meta,
...
}:
with lib; let
cfg = config.k3s;
in {
options.k3s = {
init = mkOption {
type = types.bool;
default = false;
description = "Initialize cluster when set to true";
};
};
config = {
services = {
k3s = {
enable = true;
role = "server";
clusterInit = cfg.init;
serverAddr =
if cfg.init
then ""
else meta.serverAddr;
token =
if cfg.init
then ""
else meta.k3sToken;
disable = ["traefik" "servicelb" "local-storage"];
extraFlags = [
"--kubelet-arg=allowed-unsafe-sysctls=net.ipv4.*"
"--write-kubeconfig-mode \"0644\""
];
};
};
};
}