From db55b34788b5113c5afd2e54fdc209c9b49720c1 Mon Sep 17 00:00:00 2001 From: sinanmohd Date: Sat, 27 Dec 2025 20:33:52 +0530 Subject: feat(os/kay/k3s): init --- os/kay/modules/internal/k3s/default.nix | 31 ++++++++++++++++++++++ os/kay/modules/internal/k3s/traefik-daemonset.yaml | 17 ++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 os/kay/modules/internal/k3s/default.nix create mode 100644 os/kay/modules/internal/k3s/traefik-daemonset.yaml (limited to 'os/kay/modules/internal') diff --git a/os/kay/modules/internal/k3s/default.nix b/os/kay/modules/internal/k3s/default.nix new file mode 100644 index 0000000..b719f7c --- /dev/null +++ b/os/kay/modules/internal/k3s/default.nix @@ -0,0 +1,31 @@ +{ pkgs, ... }: +{ + systemd.services.k3s.path = [ pkgs.criu ]; + + environment = { + variables.KUBECONFIG = "/etc/rancher/k3s/k3s.yaml"; + systemPackages = with pkgs; [ + kubernetes-helm + k9s + ]; + }; + + services.k3s = { + enable = true; + gracefulNodeShutdown.enable = true; + clusterInit = true; + role = "server"; + extraFlags = [ + "--write-kubeconfig-group users" + "--write-kubeconfig-mode 0640" + "--cluster-cidr=10.42.0.0/16,fd12:b0d8:b00b::/56" + "--service-cidr=10.43.0.0/16,fd12:b0d8:babe::/112" + "--flannel-ipv6-masq" + ]; + manifests.traefik-daemonset = { + enable = true; + source = ./traefik-daemonset.yaml; + target = "traefik-daemonset.yaml"; + }; + }; +} diff --git a/os/kay/modules/internal/k3s/traefik-daemonset.yaml b/os/kay/modules/internal/k3s/traefik-daemonset.yaml new file mode 100644 index 0000000..006cf52 --- /dev/null +++ b/os/kay/modules/internal/k3s/traefik-daemonset.yaml @@ -0,0 +1,17 @@ +apiVersion: helm.cattle.io/v1 +kind: HelmChartConfig +metadata: + name: traefik + namespace: kube-system +spec: + valuesContent: |- + deployment: + kind: DaemonSet + service: + spec: + externalTrafficPolicy: Local + ports: + web: + hostPort: 8080 + websecure: + hostPort: 8443 -- cgit v1.2.3