From b7310a03b8e38cb9f8bb1b3a3ffc870d2b90bb34 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Mon, 29 Dec 2025 21:19:50 -0500 Subject: [PATCH] Switch to generating the coredns manifests via nix. --- .../keys/package/bootstrap-script/package.nix | 2 +- .../keys/package/coredns-manifest/package.nix | 45 +++++++++++++++++++ nix/kubernetes/keys/scope.nix | 1 + 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 nix/kubernetes/keys/package/coredns-manifest/package.nix diff --git a/nix/kubernetes/keys/package/bootstrap-script/package.nix b/nix/kubernetes/keys/package/bootstrap-script/package.nix index 9190b7af..eacc1fcc 100644 --- a/nix/kubernetes/keys/package/bootstrap-script/package.nix +++ b/nix/kubernetes/keys/package/bootstrap-script/package.nix @@ -29,7 +29,7 @@ let [ ./files/manifests/initial_clusterrole.yaml "${k8s.cilium-manifest}/cilium.yaml" - ./files/manifests/coredns.yaml + "${k8s.coredns-manifest}/coredns.yaml" ./files/manifests/flux_namespace.yaml ./files/manifests/flux.yaml ./files/manifests/flux_instance.yaml diff --git a/nix/kubernetes/keys/package/coredns-manifest/package.nix b/nix/kubernetes/keys/package/coredns-manifest/package.nix new file mode 100644 index 00000000..ef904072 --- /dev/null +++ b/nix/kubernetes/keys/package/coredns-manifest/package.nix @@ -0,0 +1,45 @@ +# unpackPhase +# patchPhase +# configurePhase +# buildPhase +# checkPhase +# installPhase +# fixupPhase +# installCheckPhase +# distPhase +{ + stdenv, + fetchFromGitHub, + kubernetes-helm, + ... +}: +stdenv.mkDerivation ( + finalAttrs: + let + version = "1.45.0"; + in + { + name = "coredns-manifest"; + nativeBuildInputs = [ + kubernetes-helm + ]; + buildInputs = [ ]; + + src = fetchFromGitHub { + owner = "coredns"; + repo = "helm"; + tag = "coredns-${version}"; + hash = "sha256-9YHd/jB33JXvySzx/p9DaP+/2p5ucyLjues4DNtOkmU="; + }; + + buildPhase = '' + helm template --dry-run=client coredns $src/charts/coredns --namespace kube-system \ + | tee $NIX_BUILD_TOP/coredns.yaml + ''; + + installPhase = '' + mkdir -p "$out" + cp $NIX_BUILD_TOP/coredns.yaml $out/ + ''; + } +) diff --git a/nix/kubernetes/keys/scope.nix b/nix/kubernetes/keys/scope.nix index 784b20cb..60650acc 100644 --- a/nix/kubernetes/keys/scope.nix +++ b/nix/kubernetes/keys/scope.nix @@ -208,6 +208,7 @@ makeScope newScope ( ); encryption_config = (callPackage ./package/k8s-encryption-key/package.nix additional_vars); cilium-manifest = (callPackage ./package/cilium-manifest/package.nix additional_vars); + coredns-manifest = (callPackage ./package/coredns-manifest/package.nix additional_vars); all_keys = (callPackage ./package/k8s-keys/package.nix additional_vars); deploy_script = (callPackage ./package/deploy-script/package.nix additional_vars); bootstrap_script = (callPackage ./package/bootstrap-script/package.nix additional_vars);