Skip to content

fix(deps): siderolabs talos and machinery pins can skew, breaking the build #6734

Open

Description

@devantler

🤖 Generated by the Agentic Engineer

Evidence

github.com/siderolabs/talos and github.com/siderolabs/talos/pkg/machinery are released together and
share the config API, but ksail pins them independently. On main both sit at v1.14.0-alpha.2.

Any bump that raises machinery alone breaks the build. Observed on #6724, where an omni/client
1.9.1 → 1.10.4 bump transitively raised machinery to v1.14.0-beta.1 and left talos at alpha.2:

pkg/fsutil/configmanager/talos/configs.go:615:54:
  cp.Machine().Kubelet undefined (MachineConfig has no field or method Kubelet)
pkg/fsutil/configmanager/talos/version.go:223:28: machineCfg.Kubelet undefined

.../talos@v1.14.0-alpha.2/pkg/images/list.go:43:49:
  config.Cluster().CoreDNS undefined (ClusterConfig has no field or method CoreDNS)

The last line is pinned Talos alpha.2 source failing against beta.1 machinery — proof the breakage is
the skew itself, not our call sites alone.

Why this recurs rather than being a one-off

machinery is an indirect dependency, so MVS treats it as a floor: any dependent that requires a newer
machinery raises it silently, with no corresponding change to the direct talos pin. Dependabot cannot
perform the coordinated two-module upgrade, so such a bump can arrive red and unmergeable. #6724 was
the historical instance and is now closed. Dependabot grouping shipped in #6803; the coordinated
target-version update is tracked by #6826.

Expected behaviour

The two siderolabs modules move together, and a transitive raise of one cannot silently skew them.

Acceptance criteria

Remaining delivery

The current main branch pins both modules to v1.14.0-alpha.2; that does not prove the target-version
upgrade, adapted call sites, or passing Talos CI legs. Those criteria remain open with #6826 and its
Kubernetes SDK compatibility prerequisites, including #6728 and #7259.

Size: medium. The upgrade itself is small; the API migration and the anti-recurrence guard are the work.

Activity

  1. added theissue type on Aug 28, 2026
  2. moved this to 📥 Backlog in 🌊 Project Boardon Aug 28, 2026
  3. devantler commented on Sep 25, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer (interactive Claude Code session)

    Re-checked against main today:

    Linked as blocked by #7259.


    Generated by Claude Code

  4. devantler commented on Oct 5, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    The SDK skew now has authenticated RED→GREEN evidence on the existing coordinated upgrade PR #6826. Native dependency-contract job 111559455345 rejected the old mismatched root/machinery selections. Signed source repair ff13354 aligns both modules at published upstream revision 5c5fd29e95f71d6a642f306e4326553bec164e39, and signed successor 1943944 applies the exact hosted generator output.

    At that successor, dependency-contract job 111621061685 runs the complete internal/depcontract suite and passes. Hosted tidy job 111621063708 also passes. The lockstep check remains enabled.

    This repairs the independently owned skew failure. It does not complete the coordinated upgrade, migrate the removed accessors in #6776, clear #7259, prove the Talos lifecycle, or establish merge readiness. Those acceptance criteria remain open.

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

    No labels
    No labels

    Type

    Fields

    Priority

    None yet

    Effort

    None yet

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions