Skip to content

chore(charts): bump cozystack preset to Talos v1.13 - #233

Open
myasnikovdaniil wants to merge 1 commit into
mainfrom
chore/bump-cozystack-preset-talos-1.13
Open

chore(charts): bump cozystack preset to Talos v1.13#233
myasnikovdaniil wants to merge 1 commit into
mainfrom
chore/bump-cozystack-preset-talos-1.13

Conversation

@myasnikovdaniil

@myasnikovdaniil myasnikovdaniil commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

What

Bumps the cozystack preset from the Talos v1.12 contract to v1.13.

  • templateOptions.talosVersion: v1.12v1.13
  • install image: ghcr.io/cozystack/cozystack/talos:v1.12.6v1.13.6
  • the four multi-doc golden cases retargeted from v1.12 to v1.13

Why

The machinery dependency moved to upstream v1.13.7 in 4e2cb80, but the 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 already 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 TestGoldenRender before 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 empty machine.network: {} in generated full configs — the chart emits patches, so it never surfaces. grubUseUKICmdline (pinned false in 1ff68bd for CVE-2026-53359) still exists in v1.13.7.

The multi-doc gate in _helpers.tpl is >= 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 talosVersion per entry rather than reading Chart.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

  • kubernetesVersion stays v1.34.3. Talos v1.13.7 defaults to k8s 1.36.2 with SupportedKubernetesVersions = 6, so v1.34.3 is still in the supported window and moving it is an independent platform decision.
  • README wording that describes the multi-doc format as "introduced in v1.12" is correct as-is — the schema boundary is still v1.12. The README does not state the shipped default anywhere, so there was nothing stale to update.

Reviewer note

This flips the default skew direction for new projects: a fresh init -p cozystack renders the v1.13 contract, so applying it to a node booted on v1.12 maintenance media hits the unknown keys found during decoding rejection that preflightCheckTalosVersion warns about. The image bump ships in the same commit so a fresh install lands on v1.13.6 anyway, and existing projects carry their own Chart.yaml copy and are unaffected — but anyone pointing a fresh project at older maintenance media needs to lower talosVersion themselves.

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 ./... passes
  • TestGoldenRender verified pre- and post-regeneration as described above
  • golangci-lint not 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

  • Chores
    • Updated system components to use Talos version 1.13.6, upgrading from 1.12.6.

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>
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 64dfefa7-ae0e-493c-9fb1-90d1376748b0

📥 Commits

Reviewing files that changed from the base of the PR and between 7d48e60 and 9c02f1e.

📒 Files selected for processing (7)
  • charts/cozystack/Chart.yaml
  • charts/cozystack/values.yaml
  • pkg/engine/golden_test.go
  • pkg/engine/testdata/golden/cozystack-controlplane-legacy.golden.yaml
  • pkg/engine/testdata/golden/cozystack-controlplane-multidoc.golden.yaml
  • pkg/engine/testdata/golden/cozystack-worker-legacy.golden.yaml
  • pkg/engine/testdata/golden/cozystack-worker-multidoc.golden.yaml

📝 Walkthrough

Walkthrough

Changes

Talos version update

Layer / File(s) Summary
Chart Talos version configuration
charts/cozystack/Chart.yaml, charts/cozystack/values.yaml
The chart updates the Talos template version to v1.13 and the Talos image to v1.13.6.
Golden test version alignment
pkg/engine/golden_test.go, pkg/engine/testdata/golden/cozystack-*.golden.yaml
Multi-document test cases and Cozystack golden fixtures now use the Talos v1.13.6 image. Legacy test versions remain unchanged in the test matrix.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers: lexfrei

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: a version bump of the cozystack preset from Talos v1.12 to v1.13, which is the primary objective across all modified files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/bump-cozystack-preset-talos-1.13

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant