chore(charts): bump cozystack preset to Talos v1.13 - #233
Open
myasnikovdaniil wants to merge 1 commit into
Open
Conversation
The machinery dependency moved to upstream v1.13.7 in 4e2cb80, but the cozystack preset kept targeting the v1.12 contract and installing the v1.12.6 tuned image, so a fresh `talm init -p cozystack` still bootstrapped a v1.12 cluster. cozystack main ships v1.13.6 and the tuned image is published, so nothing was blocking the bump. - templateOptions.talosVersion: v1.12 -> v1.13 - install image: cozystack/talos:v1.12.6 -> v1.13.6 (newest published tuned tag, and what cozystack main targets in packages/core/talos/images/talos/profiles/*.yaml) - retarget the four multi-doc golden cases from v1.12 to v1.13 so the snapshots exercise the contract the chart actually ships; they were hardcoded per-case rather than read from Chart.yaml, which let the suite stay green against a contract the preset no longer used The contract change is inert for chart rendering: retargeting the multi-doc cases produced no golden diff on its own, and the only regenerated lines across all four files are the image tag. The v1.12 -> v1.13 delta in machinery's own stability corpus is likewise a single dropped empty `machine.network: {}` in generated full configs, and `grubUseUKICmdline` (pinned false in 1ff68bd for CVE-2026-53359) still exists in v1.13.7. kubernetesVersion stays at v1.34.3 — Talos v1.13.7 defaults to 1.36.2 with SupportedKubernetesVersions=6, so v1.34.3 remains in the supported window and moving it is an independent platform decision. The multi-doc schema boundary is still v1.12, so README wording that describes it as "introduced in v1.12" is unchanged and remains correct. Refs #213 Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
Contributor
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
📝 WalkthroughWalkthroughChangesTalos version update
Estimated code review effort: 1 (Trivial) | ~2 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What
Bumps the
cozystackpreset from the Talos v1.12 contract to v1.13.templateOptions.talosVersion:v1.12→v1.13ghcr.io/cozystack/cozystack/talos:v1.12.6→v1.13.6v1.12tov1.13Why
The machinery dependency moved to upstream
v1.13.7in 4e2cb80, but the preset kept targeting the v1.12 contract and installing the v1.12.6 tuned image — so a freshtalm init -p cozystackstill bootstrapped a v1.12 cluster. cozystackmainalready ships v1.13.6 (packages/core/talos/images/talos/profiles/*.yaml) and the tuned image is published, so nothing was blocking this; the chart default had simply been bumped by hand each minor and never caught up after the machinery migration.The contract change is inert for rendering
Worth stating explicitly, because it's the main risk this PR needed to rule out.
Running
TestGoldenRenderbefore regenerating any snapshot: the retarget alone produced no diff, and all four failures were the image line. The regenerated diff is 4 files / 4 lines, every one of them the image tag. The v1.12 → v1.13 delta in machinery's own stability corpus is likewise a single dropped emptymachine.network: {}in generated full configs — the chart emits patches, so it never surfaces.grubUseUKICmdline(pinnedfalsein 1ff68bd for CVE-2026-53359) still exists in v1.13.7.The multi-doc gate in
_helpers.tplis>= 1.12.0-0, a floor, so v1.13 already took the multi-doc path — no template change needed.Why the golden test table changed
The cases hardcode
talosVersionper entry rather than readingChart.yaml, so bumping the chart alone would have left the suite green while snapshotting a contract the preset no longer ships. Retargeting keeps the snapshots pointed at what actually gets rendered.Not changed
kubernetesVersionstaysv1.34.3. Talos v1.13.7 defaults to k8s 1.36.2 withSupportedKubernetesVersions = 6, so v1.34.3 is still in the supported window and moving it is an independent platform decision.Reviewer note
This flips the default skew direction for new projects: a fresh
init -p cozystackrenders the v1.13 contract, so applying it to a node booted on v1.12 maintenance media hits theunknown keys found during decodingrejection thatpreflightCheckTalosVersionwarns about. The image bump ships in the same commit so a fresh install lands on v1.13.6 anyway, and existing projects carry their ownChart.yamlcopy and are unaffected — but anyone pointing a fresh project at older maintenance media needs to lowertalosVersionthemselves.Scope
This covers the chart/preset default only. It does not make the v1.13-only documents (
RoutingRuleConfig,VRFConfig,BlackholeRouteConfig,KubeSpanConfig,TCPProbeConfig,ExternalVolumeConfig,EnvironmentConfig,ImageVerificationConfig) reachable from the chart — the templates don't emit them, so they remain hand-written body overlays. The version-skew gate, contract tests for those kinds, and their docs are still open under #213.Testing
go test ./...passesTestGoldenRenderverified pre- and post-regeneration as described abovegolangci-lintnot run locally: the available binary is v2.10.1 built with Go 1.25 and the repo targets Go 1.26.5, so it refuses to load the config. Relying on CI (v2.12.2) for the lint gate.Refs #213
Summary by CodeRabbit