Skip to content

chore(talos): bump to v1.14.1 and migrate machine config to multi-document format - #5720

Merged
kashalls merged 1 commit into
mainfrom
talos-1.14.1-machineconfig
Sep 19, 2026
Merged

kashalls merged 1 commit into
mainfrom
talos-1.14.1-machineconfig

Conversation

@kashalls

Copy link
Copy Markdown
Member

Summary

  • Bumps TALOS_VERSION from v1.13.10 to v1.14.1 in talos/talos.env, and updates the yaml-language-server schema comments in talos/machineconfig.yaml.j2 from release-1.12 to release-1.14.
  • Migrates deprecated v1alpha1 fields to their dedicated Talos 1.14 multi-document config kinds:
    • machine.sysctlsSysctlConfig
    • machine.files (CRI containerd snippet, /etc/nfsmount.conf) → CRICustomizationConfig + EtcFileConfig
    • cluster.apiServerKubeAPIServerConfig + KubeAuditPolicyConfig (audit policy is now a separate document kind; certSANs renamed to certExtraSANs)
    • cluster.controllerManagerKubeControllerManagerConfig
    • cluster.schedulerKubeSchedulerConfig
    • cluster.proxy.disabledKubeProxyConfig.enabled: false
    • cluster.coreDNS.disabledKubeCoreDNSConfig.enabled: false
  • cluster.secret/cluster.id and cluster.discovery are intentionally left on the deprecated fields. Their replacements (DiscoveryIdentityConfig/DiscoveryServiceConfig) touch cluster identity and discovery-service registration on our only (single-node) production node, so migrating those deserves its own change and a more careful rollout rather than being bundled here. All old fields remain fully supported in 1.14, so nothing here is left in a broken state.
  • talos/nodes/10.0.10.40.yaml and talos/schematic.yaml.j2 needed no changes — none of their fields are part of the deprecations in this release.

Test plan

  • Rendered the template with minijinja-cli --env using talos/talos.env + MACHINE_TYPE=controlplane.
  • Validated the rendered config with talosctl validate -m metal --strict (talosctl client v1.14.1) — passes clean with zero warnings (op:// secret refs swapped for placeholder base64 values for offline validation only, since real values come from 1Password at apply time via task talos:apply-node).
  • Apply to the live node with task talos:apply-node NODE=10.0.10.40 and confirm the cluster comes back healthy (not run from here — leaving this for you to run against the real node).

Bump TALOS_VERSION to v1.14.1 and update the schema reference to
release-1.14. Move deprecated v1alpha1 fields (machine.sysctls,
machine.files, cluster.apiServer, cluster.controllerManager,
cluster.scheduler, cluster.proxy, cluster.coreDNS) to their dedicated
multi-document config kinds (SysctlConfig, CRICustomizationConfig,
EtcFileConfig, KubeAPIServerConfig, KubeAuditPolicyConfig,
KubeControllerManagerConfig, KubeSchedulerConfig, KubeProxyConfig,
KubeCoreDNSConfig) as recommended for Talos 1.14.

cluster.secret/cluster.id and cluster.discovery are intentionally left
on the deprecated fields for now, since their multi-document
replacements (DiscoveryIdentityConfig/DiscoveryServiceConfig) change
cluster identity/discovery semantics and warrant a separate, more
careful migration on the live single-node cluster.

Verified with `talosctl validate --strict` against the rendered
config (Talos v1.14.1 client).

Signed-off-by: Jordan Jones <git@svcs.ok8.sh>
@waifuz-bot

waifuz-bot Bot commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Note

No rendered changes.

konflate 0.6.4 · rendered bcc5829 · full diff →

@kashalls
kashalls merged commit 22f004d into main Sep 19, 2026
6 checks passed
@kashalls
kashalls deleted the talos-1.14.1-machineconfig branch September 19, 2026 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant