Skip to content

Migrate Talos configmanager to alpha.2 multi-document config API (KubeNetworkConfig / KubeAPIServerConfig)Β #5771

Description

@devantler

πŸ€– Generated by the Daily AI Assistant

Problem

Dependabot PRs #5765 (siderolabs/talos/pkg/machinery) and #5766 (siderolabs/talos) bump Talos 1.14.0-alpha.1 β†’ 1.14.0-alpha.2, and the build fails: alpha.2 removed Network() and APIServer() from the config.ClusterConfig interface.

pkg/fsutil/configmanager/talos/configs.go:539,543,608,612: cp.Cluster().Network undefined (ClusterConfig has no field or method Network)
pkg/fsutil/configmanager/talos/version.go:132:              cluster.APIServer undefined  (ClusterConfig has no field or method APIServer)

Per the Talos v1.14.0-alpha.2 changelog, this is a deliberate move to the multi-document config model:

  • .cluster.network deprecated β†’ KubeNetworkConfig document (Flannel via KubeFlannelCNIConfig)
  • .cluster.apiServer deprecated β†’ KubeAPIServerConfig (+ KubeAdmissionControlConfig, KubeAuditPolicyConfig, …) documents

The old monolithic-config accessors are gone from the interface, so the two configmanager reads (CNI name, PodCIDRs, APIServer presence) must be re-sourced from the new documents.

Affected reads

Site Current call Needs
configs.go:543 cp.Cluster().Network().CNI() CNI name from KubeNetworkConfig
configs.go:612 cp.Cluster().Network().PodCIDRs() Pod CIDRs from KubeNetworkConfig
version.go:132 cluster.APIServer() apiserver settings from KubeAPIServerConfig

Proposed direction

Migrate the Talos configmanager to read CNI/PodCIDRs via the KubeNetworkConfig document and apiserver settings via KubeAPIServerConfig, obtained through the provider's document API. Keep a compatibility path if we still generate v1alpha1-style config anywhere. Update configs_test.go/version_test.go fixtures to the multi-document shape.

Notes / rough size

  • M β€” localized to pkg/fsutil/configmanager/talos + its tests, but the config-shape change ripples through the fixtures.
  • alpha.2 is a moving pre-release; these documents may still change before stable v1.14.0. Consider whether to migrate now or hold the pin at alpha.1 until 1.14.0 stabilises (product call). Filing this so the two Dependabot PRs are tracked rather than sitting silently red.

Blocks: #5765, #5766

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    πŸ‘€ In Review

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions