Skip to content

feat(upgrade): warn when node body install.image differs from resolved target image #218

Open

Description

Problem

Since the upgrade target image resolves from values.yaml::image (#176), the node body's machine.install.image is no longer consulted. When the two diverge — typical in projects initialized with an older preset where values.yaml was never bumped but node files were edited or re-templated — talm upgrade -f nodes/<name>.yaml prints only Using image from values.yaml: <ref> and proceeds. There is no signal that the file's image was ignored, nor that the file will be rewritten by the post-upgrade write-back to match the applied image.

This surprised a real operator: their values.yaml carried an old preset default (talos:v1.10.5) while the node file pointed at a current image; the printed line was the only hint that the wrong knob was about to win.

Proposal

When -f is given and --image is unset, after resolving the target from values.yaml, parse machine.install.image from each -f node body (best-effort, plain YAML read, no templating). If any body's image differs from the resolved target, print a warning naming both refs and stating that the body will be patched to the target after a successful upgrade. A warning, not a blocker — drift here is expected mid-upgrade.

Activity

  1. added
    kind/featureCategorizes issue or PR as related to a new feature
    area/commandsIssues or PRs related to pkg/commands (CLI subcommands, flag parsing, root detection)
    area/upgradeIssues or PRs related to talm upgrade flow (image extraction, post-upgrade verification)
    on Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/commandsIssues or PRs related to pkg/commands (CLI subcommands, flag parsing, root detection)area/upgradeIssues or PRs related to talm upgrade flow (image extraction, post-upgrade verification)kind/featureCategorizes issue or PR as related to a new feature

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions