diff --git a/pkgs/applications/networking/cluster/k3s/1_35/chart-versions.nix b/pkgs/applications/networking/cluster/k3s/1_35/chart-versions.nix new file mode 100644 index 000000000000..ae882e7da509 --- /dev/null +++ b/pkgs/applications/networking/cluster/k3s/1_35/chart-versions.nix @@ -0,0 +1,10 @@ +{ + traefik-crd = { + url = "https://k3s.io/k3s-charts/assets/traefik-crd/traefik-crd-37.1.1+up37.1.0.tgz"; + sha256 = "0q568ffjhxmw87fzwafxlxrzx2lgcqlqbwj87pbc2xszh9pyakyd"; + }; + traefik = { + url = "https://k3s.io/k3s-charts/assets/traefik/traefik-37.1.1+up37.1.0.tgz"; + sha256 = "0gpcr6zfbncvp2sjjwzg732k4xfr5ba0pbc5x08lgwvibqpp4r27"; + }; +} diff --git a/pkgs/applications/networking/cluster/k3s/1_34/go_runc_require.patch b/pkgs/applications/networking/cluster/k3s/1_35/go_runc_require.patch similarity index 100% rename from pkgs/applications/networking/cluster/k3s/1_34/go_runc_require.patch rename to pkgs/applications/networking/cluster/k3s/1_35/go_runc_require.patch diff --git a/pkgs/applications/networking/cluster/k3s/1_35/images-versions.json b/pkgs/applications/networking/cluster/k3s/1_35/images-versions.json new file mode 100644 index 000000000000..aa290e65619b --- /dev/null +++ b/pkgs/applications/networking/cluster/k3s/1_35/images-versions.json @@ -0,0 +1,26 @@ +{ + "airgap-images-amd64-tar-gz": { + "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.0%2Bk3s1/k3s-airgap-images-amd64.tar.gz", + "sha256": "af7ce67f0a8c457618a492ba995cc645d8ad13512008b88db97719941c39389a" + }, + "airgap-images-amd64-tar-zst": { + "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.0%2Bk3s1/k3s-airgap-images-amd64.tar.zst", + "sha256": "2e3d6d14bbbeb8c16f1849cca8da48887c5a7ddceb1cc2bf60be63e4fa8c63f3" + }, + "airgap-images-arm-tar-gz": { + "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.0%2Bk3s1/k3s-airgap-images-arm.tar.gz", + "sha256": "82cf1310db1bfac5733c5c16864034c6c7c7affc60c39be610ce7cf169631ef5" + }, + "airgap-images-arm-tar-zst": { + "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.0%2Bk3s1/k3s-airgap-images-arm.tar.zst", + "sha256": "27407fd1553c89b8ccd3b45ad0fbdcd483c1a010e7b28b60b24a8e73b58aa783" + }, + "airgap-images-arm64-tar-gz": { + "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.0%2Bk3s1/k3s-airgap-images-arm64.tar.gz", + "sha256": "cb3d24f44c9f29da3421e99db0801f2a30b3e16c7032c423a9b631c0fc66a5fa" + }, + "airgap-images-arm64-tar-zst": { + "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.0%2Bk3s1/k3s-airgap-images-arm64.tar.zst", + "sha256": "b6cb3c06f19859d3a5fba54b305097e89d2a86b5bce9e8360a46b9d2e67da565" + } +} diff --git a/pkgs/applications/networking/cluster/k3s/1_35/versions.nix b/pkgs/applications/networking/cluster/k3s/1_35/versions.nix new file mode 100644 index 000000000000..54a6fbdde470 --- /dev/null +++ b/pkgs/applications/networking/cluster/k3s/1_35/versions.nix @@ -0,0 +1,21 @@ +{ + k3sVersion = "1.35.0+k3s1"; + k3sCommit = "a6c6cd15c0c42ec9fce21f8ad5f42aa74fddb4f2"; + k3sRepoSha256 = "0033m0vbysy2bcjfmam387580j1cmq6cys8diismgf8m5s64nivb"; + k3sVendorHash = "sha256-S9GkT87C8qbuefH93Y6d0Y95NNuT6paNdDkmSDllFIY="; + chartVersions = import ./chart-versions.nix; + imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json); + k3sRootVersion = "0.15.0"; + k3sRootSha256 = "008n8xx7x36y9y4r24hx39xagf1dxbp3pqq2j53s9zkaiqc62hd0"; + k3sCNIVersion = "1.8.0-k3s1"; + k3sCNISha256 = "04xig5spp81l81781ixmk99ghiz8lk0p16zhcbja5mslfdjmc7vg"; + containerdVersion = "2.1.5-k3s1"; + containerdSha256 = "0n0g58d352i8wz0bqn87vgrd7z54j268cbmbp19fz68wmifm7fl8"; + containerdPackage = "github.com/k3s-io/containerd/v2"; + criCtlVersion = "1.35.0-k3s2"; + flannelVersion = "v0.27.4"; + flannelPluginVersion = "v1.8.0-flannel1"; + kubeRouterVersion = "v2.6.3-k3s1"; + criDockerdVersion = "v0.3.19-k3s3"; + helmJobVersion = "v0.9.12-build20251215"; +} diff --git a/pkgs/applications/networking/cluster/k3s/builder.nix b/pkgs/applications/networking/cluster/k3s/builder.nix index 38835677408a..c6c5f758dfc8 100644 --- a/pkgs/applications/networking/cluster/k3s/builder.nix +++ b/pkgs/applications/networking/cluster/k3s/builder.nix @@ -399,6 +399,13 @@ buildGoModule (finalAttrs: { --replace-fail \ "go list -mod=readonly -m -f '{{if .Replace}}{{.Replace.Version}}{{else}}{{.Version}}{{end}}' \$1" \ "go list -mod=readonly -e -m -f '{{if .Replace}}{{.Replace.Version}}{{else}}{{.Version}}{{end}}' \$1" + + # Can't use curl during the build, we use our own go version anyway. + # Fails quiet as this line is only present starting from 1.35 + substituteInPlace scripts/version.sh \ + --replace-quiet \ + 'VERSION_GOLANG="go"$(curl -sL "https://raw.githubusercontent.com''${PKG_KUBERNETES_K3S/github.com/}/refs/tags/''${VERSION_K8S_K3S}/.go-version")' \ + "" ''; # Important utilities used by the kubelet, see diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix index 7825f8173191..2b9d5dbd54c8 100644 --- a/pkgs/applications/networking/cluster/k3s/default.nix +++ b/pkgs/applications/networking/cluster/k3s/default.nix @@ -43,11 +43,20 @@ in } ) extraArgs).overrideAttrs { - patches = [ - # Adds explicit require of opencontainers/runc to go.mod before version.sh is called and - # removes it afterwards so that later build commands don't complain about inconsistent - # vendoring. - ./1_34/go_runc_require.patch + patches = [ ./go_runc_require.patch ]; + }; + + k3s_1_35 = + (common ( + (import ./1_35/versions.nix) + // { + updateScript = [ + ./update-script.sh + "35" ]; + } + ) extraArgs).overrideAttrs + { + patches = [ ./go_runc_require.patch ]; }; } diff --git a/pkgs/applications/networking/cluster/k3s/go_runc_require.patch b/pkgs/applications/networking/cluster/k3s/go_runc_require.patch new file mode 100644 index 000000000000..8d8d5912afd1 --- /dev/null +++ b/pkgs/applications/networking/cluster/k3s/go_runc_require.patch @@ -0,0 +1,18 @@ +# Adds explicit require of opencontainers/runc to go.mod before version.sh is called and +# removes it afterwards so that later build commands don't complain about inconsistent +# vendoring. +diff --git a/scripts/package-cli b/scripts/package-cli +index a15d754926..bc450dbe4e 100755 +--- a/scripts/package-cli ++++ b/scripts/package-cli +@@ -3,7 +3,10 @@ set -e -x + + cd $(dirname $0)/.. + ++runc_require=$(grep "github.com/opencontainers/runc" go.mod | awk -F '=> ' '{print $2}' | xargs -0 printf 'require %s') ++echo "$runc_require" >> go.mod + . ./scripts/version.sh ++sed -i '$d' go.mod + + GO=${GO-go} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a3e4a621218c..58207a8984a4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11043,6 +11043,7 @@ with pkgs; k3s_1_32 k3s_1_33 k3s_1_34 + k3s_1_35 ; k3s = k3s_1_34;