Skip to content

Upgrade kctrl CLI dependencies to target Kubernetes v0.36.0#1831

Merged
joaopapereira merged 1 commit into
carvel-dev:developfrom
sameerforge:bump/dep/cli/kctrl-v0.36-bump
May 20, 2026
Merged

Upgrade kctrl CLI dependencies to target Kubernetes v0.36.0#1831
joaopapereira merged 1 commit into
carvel-dev:developfrom
sameerforge:bump/dep/cli/kctrl-v0.36-bump

Conversation

@sameerforge

@sameerforge sameerforge commented May 19, 2026

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Following the recent root module dependency upgrade #1829, this PR brings the cli/ sub-module context (kctrl) into complete alignment by upgrading its core Kubernetes client libraries to v0.36.0.

Because client-go introduced breaking structural interface changes in this release window (purging long-deprecated alpha/beta groups and introducing new groups), the internal mock client layout has been refactored to remain compliant with the upstream kubernetes.Interface contract.

Dependency Updates

Dependency Previous Version New Version
carvel.dev/kapp-controller v0.59.8 develop@679ae0d
k8s.io/api v0.30.1 v0.36.0
k8s.io/apiextensions-apiserver v0.30.1 v0.36.0
k8s.io/apimachinery v0.30.1 v0.36.0
k8s.io/client-go v0.30.1 v0.36.0
sigs.k8s.io/controller-runtime v0.18.5 v0.24.1
sigs.k8s.io/yaml v1.4.0 v1.6.0
github.com/google/gnostic-models v0.6.8 v0.7.0

Key Changes

Toolchain Optimization: Upgraded the Go runtime block from 1.25.7 to 1.26.3 inside cli/go.mod to match the core controller requirements.

Stale API Purge: Removed references and structural tracking for 6 dropped packages inside cli/pkg/kctrl/local/min_core_client.go that were removed in the v0.36.0 lifecycle (e.g., autoscalingv2beta1, resourcev1alpha2).
Contract Compliance: Implemented missing mock methods on MinCoreClient to fulfill the updated client-go interface dependencies added CoordinationV1alpha2(), ResourceV1(), ResourceV1alpha3(), ResourceV1beta1(), and ResourceV1beta2()

Verification Run

All local validation hooks executed successfully within the cli/ directory workspace:

  • go mod tidy resolved the dependency tree cleanly without path conflicts.
  • go mod vendor successfully synchronized the external modules.
  • go build -o /tmp/kctrl ./cmd/kctrl/... completed with a clean exit code and zero compilation warnings.

Validation & Compatibility Matrix

To verify backward compatibility and structural stability following the v0.36.0 library upgrades, the complete testing pipeline—including unit tests, validation checks, and E2E integration suites—was executed successfully across our supported environment window:

Test Job Target Platform Resolved K8s Version Status
test-gh / Run all tests link Minikube (Docker) v1.32.13 ✅ Passed
test-gh / Run all tests link Minikube (Docker) v1.33.12 ✅ Passed
test-gh / Run all tests link Minikube (Docker) v1.34.8 ✅ Passed
test-gh / Run all tests link Minikube (Docker) v1.35.5 ✅ Passed
test-gh / Run all tests link Minikube (Docker) v1.36.1 ✅ Passed
Kind Cluster E2E tests link Kind (kinder) v1.36.x ✅ Passed

The successful completion of the dedicated test-kctrl-gh matrix confirms that the kctrl binary compiles cleanly, handles configuration generation flawlessly, and suffers zero regressions against legacy or cutting-edge Kubernetes control planes.

@aroradaman aroradaman force-pushed the bump/dep/cli/kctrl-v0.36-bump branch 2 times, most recently from 14da49e to 22786b3 Compare May 19, 2026 17:41
@aroradaman aroradaman self-requested a review May 19, 2026 17:41
Signed-off-by: Sameer <sameer.khan@broadcom.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@aroradaman aroradaman force-pushed the bump/dep/cli/kctrl-v0.36-bump branch from 22786b3 to 80ab33f Compare May 19, 2026 18:25
@sameerforge sameerforge requested a review from praveenrewar May 20, 2026 06:11
@sameerforge

sameerforge commented May 20, 2026

Copy link
Copy Markdown
Contributor Author

🚀 CI Update: Full Test Matrix & CLI Validation Passed!

The entire validation pipeline for the cli/ sub-module dependency bump has finished successfully. The kctrl codebase has been rigorously verified against our target Kubernetes version compatibility window:

🧪 Test Suite Run Matrix

All unit checks, file hygiene requirements, and cross-version cluster integrations passed with zero failures. The changes are fully verified and ready for maintainer review. 🚢

@sameerforge

Copy link
Copy Markdown
Contributor Author

@joaopapereira Please review.

@joaopapereira joaopapereira left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@joaopapereira joaopapereira merged commit 55f0817 into carvel-dev:develop May 20, 2026
8 checks passed
@github-project-automation github-project-automation Bot moved this to Closed in Carvel May 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

5 participants