-
-
Notifications
You must be signed in to change notification settings - Fork 18.2k
rke2: switch to minor release versions #379844
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
b939629
rke2: fix old version in update script
rorosen 7682f02
rke2: use minor releas versions instead of channels in update script
rorosen ccf0046
rke2: fix used package in version test
rorosen bfee061
rke2_testing: remove
rorosen 100f55f
rke2_1_29: init at 1.29.13+rke2r1
rorosen cdd2999
rke2_1_30: init at 1.30.9+rke2r1
rorosen 8c2720a
rke2_1_31: init at 1.31.5+rke2r1
rorosen 36cb383
rke2_1_32: init at 1.32.1+rke2r1
rorosen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
11 changes: 11 additions & 0 deletions
11
pkgs/applications/networking/cluster/rke2/1_29/versions.nix
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| { | ||
| rke2Version = "1.29.13+rke2r1"; | ||
| rke2Commit = "00803ef95072be9d13b6e52a56fa9b6d9e7b0a51"; | ||
| rke2TarballHash = "sha256-1OphaTrEU2MvV0kdEyxomRGgbl/YSVikcYtLuL3QnBI="; | ||
| rke2VendorHash = "sha256-6XczvyQMqYqHHu+cSsmXsi7zMG128ZwiAHr482qQqpI="; | ||
| k8sImageTag = "v1.29.13-rke2r1-build20250117"; | ||
| etcdVersion = "v3.5.16-k3s1-build20241106"; | ||
| pauseVersion = "3.6"; | ||
| ccmVersion = "v1.29.10-0.20241016053521-9510ac25fefb-build20241016"; | ||
| dockerizedVersion = "v1.29.13-rke2r1"; | ||
| } |
11 changes: 11 additions & 0 deletions
11
pkgs/applications/networking/cluster/rke2/1_30/versions.nix
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| { | ||
| rke2Version = "1.30.9+rke2r1"; | ||
| rke2Commit = "bfd23524f32a4d9fa6f19ab58a2d47572e56f813"; | ||
| rke2TarballHash = "sha256-/WVKmK9ZackY9ULST0zFi/RRwA4ZR3u1DXULWTc6G3o="; | ||
| rke2VendorHash = "sha256-kghiYswm3s7bILGp8t452jx84MY73EF9OTaWdncFr34="; | ||
| k8sImageTag = "v1.30.9-rke2r1-build20250116"; | ||
| etcdVersion = "v3.5.16-k3s1-build20241106"; | ||
| pauseVersion = "3.6"; | ||
| ccmVersion = "v1.30.6-0.20241016053533-5ec454f50e7a-build20241016"; | ||
| dockerizedVersion = "v1.30.9-rke2r1"; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,34 +1,42 @@ | ||
| # RKE2 Version | ||
|
|
||
| RKE2, Kubernetes, and other clustered software has the property of not being able to update atomically. | ||
| Most software in nixpkgs, like for example bash, can be updated as part of a `nixos-rebuild switch` | ||
| without having to worry about the old and the new bash interacting in some way. | ||
| RKE2, Kubernetes, and other clustered software has the property of not being able to update | ||
| atomically. Most software in nixpkgs, like for example bash, can be updated as part of a | ||
| `nixos-rebuild switch` without having to worry about the old and the new bash interacting in some | ||
| way. RKE2/Kubernetes, on the other hand, is typically run across several machines, and each machine | ||
| is updated independently. As such, different versions of the package and NixOS module must maintain | ||
| compatibility with each other through temporary version skew during updates. The upstream Kubernetes | ||
| project documents this in their | ||
| [version-skew policy](https://kubernetes.io/releases/version-skew-policy/#supported-component-upgrade-order). | ||
|
|
||
| Within nixpkgs, we strive to maintain a valid "upgrade path" that does not run afoul of the upstream | ||
| version skew policy. | ||
|
|
||
| > [!NOTE] | ||
| > Upgrade the server nodes first, one at a time. Once all servers have been upgraded, you may then upgrade agent nodes. | ||
| > Upgrade the server nodes first, one at a time. Once all servers have been upgraded, you may then | ||
| > upgrade agent nodes. | ||
|
|
||
| ## Release Channels | ||
|
|
||
| RKE2 has three main release channels, which are: `stable`, `latest` and `testing`. | ||
| RKE2 has two named release channels, i.e. `stable` and `latest`. Additionally, there exists a | ||
| release channel tied to each Kubernetes minor version, e.g. `v1.32`. | ||
|
|
||
| The `stable` channel is the default channel and is recommended for production use. | ||
| The `latest` channel is the latest release. | ||
| The `testing` channel is the latest release, including pre-releases. | ||
| Nixpkgs follows active minor version release channels (typically 4 at a time) and sets aliases for | ||
| `rke2_stable` and `rke2_latest` accordingly. | ||
|
|
||
| | Channel | Description | | ||
| | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ||
| | `stable` | **(Default)** Stable is recommended for production environments. These releases have been through a period of community hardening, and are compatible with the most recent release of Rancher. | | ||
| | `latest` | Latest is recommended for trying out the latest features. These releases have not yet been through a period of community hardening, and may not be compatible with Rancher. | | ||
| | `testing` | The most recent release, including pre-releases. | | ||
| Patch releases should be backported to to the latest stable release branch, however, new minor | ||
| versions are not backported. | ||
|
|
||
| Learn more about the [RKE2 release channels](https://docs.rke2.io/upgrade/manual_upgrade). | ||
| For further information visit the | ||
| [RKE2 release channels documentation](https://docs.rke2.io/upgrades/manual_upgrade?_highlight=manua#release-channels). | ||
|
|
||
| For an exhaustive and up-to-date list of channels, you can visit the | ||
| [rke2 channel service API](https://update.rke2.io/v1-release/channels). | ||
| For more technical details on how channels work, you can see the [channelserver project](https://github.com/rancher/channelserver). | ||
| ## EOL Versions | ||
|
|
||
| > [!TIP] | ||
| > When attempting to upgrade to a new version of RKE2, | ||
| > the [Kubernetes version skew policy](https://kubernetes.io/docs/setup/release/version-skew-policy) applies. | ||
| > Ensure that your plan **does not skip intermediate minor versions** when upgrading. Nothing in the upgrade process will | ||
| > protect you against unsupported changes to the Kubernetes version. | ||
| Approximately every 4 months a minor RKE2 version reaches EOL. EOL versions should be removed from | ||
| `nixpkgs-unstable`, preferably by throwing with an explanatory message in | ||
| `pkgs/top-level/aliases.nix`. With stable releases, however, it isn't expected that packages will be | ||
| removed. Instead we set `meta.knownVulnerabilities` for stable EOL packages, like it is also done | ||
| for EOL JDKs, browser engines, Node.js versions, etc. | ||
|
|
||
| For further information on the RKE2 lifecycle, see the | ||
| [SUSE Product Support Lifecycle page](https://www.suse.com/lifecycle#rke2). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess buildGoModule doesn't support the
(final: { ... })style argument? This could avoid theletandrecbindings.This is more of a styling issue, so not a blocker.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great idea but I think this isn't supported, at least I can't get it to work