initial commit

This commit is contained in:
2025-12-03 09:17:48 -05:00
commit 39733853c8
14 changed files with 410 additions and 0 deletions

49
modules/k3s.nix Normal file
View File

@@ -0,0 +1,49 @@
{
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;
extraFlags =
[
"--kubelet-arg=allowed-unsafe-sysctls=net.ipv4.*"
]
++ (
if cfg.init
then [
"--disable servicelb"
"--disable traefik"
"--disable local-storage"
"--write-kubeconfig-mode \"0644\""
]
else []
);
};
};
};
}