#7238·kubevela

[Enhancement] Upgrade Kubernetes dependency version across the KubeVela ecosystem (target: v1.35.x)

Author: anishbista60Created Jul 15, 2026Updated Sep 11, 2026
Labelstype/featuredependenciesgo

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

Wave 2

Wave 3

Wave 4

Wave 5

Wave 6

Wave 7

Wave 8

Wave 9

  • catalog (contributor-maintained) — depends on cluster-gateway, terraform-controller, pkg, workflow

Wave 10

  • kubevela/velaux — depends on nearly everything above, including kubevela core itself

Proposed approach

  1. Identify the correct dependency order (which repos block which). Done — see wave breakdown above and dependency matrix in comments.
  2. Upgrade leaf dependencies first (Wave 1), then proceed wave-by-wave, releasing each before starting the next.
  3. Track regressions/testing per-repo as a checklist here (check off each box as its upgrade is merged and released).
  4. Once all dependent repos are upgraded and released, bump go.mod in kubevela/kubevela and update the kind cluster version used in e2e CI.