Skip to content

feat: improve talos upgrade command#12751

Draft
pranav767 wants to merge 3 commits into
siderolabs:mainfrom
pranav767:feat/improve-talos-upgrade-command
Draft

feat: improve talos upgrade command#12751
pranav767 wants to merge 3 commits into
siderolabs:mainfrom
pranav767:feat/improve-talos-upgrade-command

Conversation

@pranav767

Copy link
Copy Markdown
Contributor

Pull Request

Resolves #12152

What? (description)

  • Remove default --image parameter, keep as legacy
  • Add other parameters like --factory, --platform,--secureBoot,--schematic

Why? (reasoning)

  • Prevents node-bricking by replacing dangerous default --image with component-based flags that create image url from machine state / specified requirements and validate secure-boot/platform transitions.

Acceptance

Please use the following checklist:

  • you linked an issue (if applicable)
  • you included tests (if applicable)
  • you ran conformance (make conformance)
  • you formatted your code (make fmt)
  • you linted your code (make lint)
  • you generated documentation (make docs)
  • you ran unit-tests (make unit-tests)

See make help for a description of the available targets.

Trying this out on a test node:

jinx@jinx:~/siderolabs/talos$ _out/talosctl-linux-amd64 get extensions --nodes 10.5.0.3
WARNING: 10.5.0.3: server version 1.12.0 is older than client version 1.13.0-alpha.0-29-g8e9718be0-dirty
NODE   NAMESPACE   TYPE   ID   VERSION   NAME   VERSION
$ _out/talosctl-linux-amd64 upgrade --nodes 10.5.0.3 \
  --version v1.12.1 \
  --schematic 08ec3d667c94cc858ff2542dc0ae11055004cc6d8338a3d682ea208e7e736be7 

Upgrade Warnings:
  Adding schematic: 08ec3d667c94cc858ff2542dc0ae11055004cc6d8338a3d682ea208e7e736be7


Upgrade Plan:
Version:    v1.12.0 → v1.12.1
Schematic:  08ec3d667c94cc858ff2542dc0ae11055004cc6d8338a3d682ea208e7e736be7 (CHANGED)
SecureBoot: false (unchanged)
Platform:   metal (unchanged)
Factory:    factory.talos.dev
Image:      factory.talos.dev/metal-installer/08ec3d667c94cc858ff2542dc0ae11055004cc6d8338a3d682ea208e7e736be7:v1.12.1

WARNING: 10.5.0.3: server version 1.12.0 is older than client version 1.13.0-alpha.0-29-g8e9718be0-dirty
watching nodes: [10.5.0.3]
    * 10.5.0.3: post check passed

Post upgrade check extensions & upgraded version

$ _out/talosctl-linux-amd64 get extensions --nodes 10.5.0.3
WARNING: 10.5.0.3: server version 1.12.1 is older than client version 1.13.0-alpha.0-29-g8e9718be0-dirty
NODE       NAMESPACE   TYPE              ID            VERSION   NAME              VERSION
10.5.0.3   runtime     ExtensionStatus   0             1         amazon-ena        2.16.0-v1.12.1
10.5.0.3   runtime     ExtensionStatus   1             1         binfmt-misc       v1.12.1
10.5.0.3   runtime     ExtensionStatus   2             1         bnx2-bnx2x        20251125
10.5.0.3   runtime     ExtensionStatus   3             1         chelsio-drivers   v1.12.1
10.5.0.3   runtime     ExtensionStatus   4             1         schematic         08ec3d667c94cc858ff2542dc0ae11055004cc6d8338a3d682ea208e7e736be7
10.5.0.3   runtime     ExtensionStatus   modules.dep   1         modules.dep       6.18.2-talos
jinx@jinx:~/siderolabs/talos$ _out/talosctl-linux-amd64 --nodes 10.5.0.3 version
Client:
	Tag:         v1.13.0-alpha.0-29-g8e9718be0-dirty
	SHA:         8e9718be-dirty
	Built:       
	Go version:  go1.25.5
	OS/Arch:     linux/amd64
Server:
	NODE:        10.5.0.3
	Tag:         v1.12.1
	SHA:         7ea2ef7c
	Built:       
	Go version:  go1.25.5
	OS/Arch:     linux/amd64
	Enabled:     RBAC

@github-project-automation github-project-automation Bot moved this to To Do in Planning Feb 8, 2026
@talos-bot talos-bot moved this from To Do to In Review in Planning Feb 8, 2026
@smira smira self-assigned this Feb 9, 2026
@smira smira moved this from In Review to On Hold in Planning Feb 9, 2026
@github-actions

Copy link
Copy Markdown

This PR is stale because it has been open 45 days with no activity.

@github-actions github-actions Bot added the Stale label Mar 27, 2026
@pranav767
pranav767 marked this pull request as draft June 11, 2026 09:05
@github-actions github-actions Bot removed the Stale label Jun 12, 2026
@pranav767
pranav767 force-pushed the feat/improve-talos-upgrade-command branch from 778fda8 to 8940a40 Compare June 12, 2026 04:42
@pranav767 pranav767 changed the title Feat/improve talos upgrade command feat: improve talos upgrade command Jun 12, 2026
Replace default --image with --factory/--schematic/--version/--secure-boot/--platform flags. Auto-resolve from machine state. Validate dangerous transitions to prevent secure-boot and platform issues.

Signed-off-by: Pranav Patil <pranavppatil767@gmail.com>
@pranav767
pranav767 force-pushed the feat/improve-talos-upgrade-command branch from 8940a40 to a2f6b9d Compare June 15, 2026 15:09
…per-node image resolution for building upgrade url

Signed-off-by: Pranav Patil <pranavppatil767@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: On Hold

Development

Successfully merging this pull request may close these issues.

Improve talos upgrade command

3 participants