[Enhancement] Upgrade Kubernetes dependency version across the KubeVela ecosystem (target: v1.35.x)
Background
Our CI e2e tests currently run against a kind cluster defaulting to Kubernetes v1.31.9, which is approaching/at EOL upstream. This was originally pinned intentionally to stay aligned with the k8s client-go version KubeVela depends on (see #7232 for the original discussion).
Given upstream Kubernetes v1.37 is scheduled for an August release, the plan discussed in the community Slack is to target v1.35.x as the next version to bump to, giving us more runway before the next required bump.
Scope
Bumping the k8s API/client library version is not a single-repo change — it requires coordinated upgrades across multiple upstream dependencies before go.mod in the main kubevela/kubevela repo can be updated.
Based on the dependency matrix compiled during initial triage (see comment below), the correct upgrade order is as follows. Repos within the same wave have no dependency on each other and can be upgraded in parallel; each wave must wait for the previous wave to be released (not just merged) before starting.
Wave 1 — no dependencies, upgrade in parallel
- oam-dev/terraform-config-inspect - https://github.com/oam-dev/terraform-config-inspect/pull/3
- oam-dev/cluster-register - https://github.com/oam-dev/cluster-register/pull/9
- kubevela/terraform-controller — https://github.com/kubevela/terraform-controller/pull/401
- oam-dev/stern - https://github.com/oam-dev/stern/pull/4
Wave 2
Wave 3
- kubevela/pkg — depends on
cluster-gateway: https://github.com/kubevela/pkg/pull/134
Wave 4
- kubevela/prism — depends on
cluster-gateway,pkg: https://github.com/kubevela/prism/pull/68
Wave 5
- kubevela/kube-trigger — depends on
cluster-gateway,pkg,prism: https://github.com/kubevela/kube-trigger/pull/58
Wave 6
- kubevela/workflow — depends on
stern,cluster-gateway,pkg,prism,kube-trigger: https://github.com/kubevela/workflow/pull/241
Wave 7
- kubevela-core-api — depends on
cluster-gateway,terraform-controller,pkg,workflow: https://github.com/kubevela/kubevela-core-api/pull/19
Wave 8
-
kubevela/kubevela(core) — depends on nearly all of the above: https://github.com/kubevela/kubevela/pull/7252
Wave 9
- catalog (contributor-maintained) — depends on
cluster-gateway,terraform-controller,pkg,workflow
Wave 10
- kubevela/velaux — depends on nearly everything above, including
kubevelacore itself
Proposed approach
Identify the correct dependency order (which repos block which).Done — see wave breakdown above and dependency matrix in comments.- Upgrade leaf dependencies first (Wave 1), then proceed wave-by-wave, releasing each before starting the next.
- Track regressions/testing per-repo as a checklist here (check off each box as its upgrade is merged and released).
- Once all dependent repos are upgraded and released, bump
go.modinkubevela/kubevelaand update the kind cluster version used in e2e CI.
Source: kubevela/kubevela