From 1ee07edb31b222ff19a998b5f727f6138cbc1697 Mon Sep 17 00:00:00 2001 From: NyxErinys Date: Tue, 19 May 2026 00:52:33 -0500 Subject: [PATCH] add activation script to clear k3s --- modules/k3s/default.nix | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/modules/k3s/default.nix b/modules/k3s/default.nix index b5d62d9..dd8a7b9 100644 --- a/modules/k3s/default.nix +++ b/modules/k3s/default.nix @@ -40,5 +40,27 @@ in "ubuntu" ]; }; + + system.activationScripts.cleanK3sManifests = { + text = '' + MANIFESTS_DIR="/var/lib/rancher/k3s/server/manifests" + NIX_MANIFESTS="${builtins.concatStringsSep " " (builtins.attrNames config.services.k3s.manifests)}" + DEFAULT_MANIFESTS="ccm coredns local-storage rolebindings runtimes traefik" + + echo "Cleaning up K3s manifests" + + for file in $MANIFESTS_DIR/*.yaml; do + [ -f "$file" ] || echo "not a file"; continue + name=$(basename "$file" .yaml) + if ! (echo "$NIX_MANIFESTS $DEFAULT_MANIFESTS" | grep -qw $name); then + echo "Stale manifest found, deleting $name.yaml" + k3s kubectl delete -f "$file" --ignore-not-found=true 2>/dev/null || true + rm -f "$file" + fi + done + + echo "Done" + ''; + }; }; } \ No newline at end of file