kubernetes-client / kubernetes-client/java

[BUG] V1NodeSystemInfo.kubeProxyVersion is incorrectly marked as @Nonnull after removal in K8s v1.33

Open
#4,887 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
4k
Forks
2.1k
Avg merge
2d 9h
Merged PRs (30d)
16

Description

**Describe the bug**
In Kubernetes v1.33, the status.nodeInfo.kubeProxyVersion field was officially removed (KEP-4004) because its value was not consistently accurate. However, in the generated Java client, the kubeProxyVersion field in V1NodeSystemInfo is still annotated with @jakarta.annotation.Nonnull.
This is highly unreasonable and causes issues when interacting with K8s v1.33+ clusters. Since the API no longer returns this field, it will be deserialized as null, which directly violates the @Nonnull contract and leads to potential NullPointerExceptions or validation failures in downstream applications relying on this client.

**Client Version**
25.0.x

**Kubernetes Version**
1.34

**Java Version**
Java 8

**To Reproduce**
Steps to reproduce the behavior:

**Expected behavior**
A clear and concise description of what you expected to happen.

**KubeConfig**
Not applicable. This is a model definition issue related to upstream API changes.

**Server (please complete the following information):**
OS: Linux
Environment: Container / Bare-metal
Cloud: N/A

**Additional context**
This issue stems from the deprecation and removal of status.nodeInfo.kubeProxyVersion in K8s v1.33 (KEP-4004). The code generator needs to be updated to reflect this upstream API change.

Contributor guide

Open the contributing guide

Research direction

Start with the generated V1NodeSystemInfo model and compare its kubeProxyVersion annotation with the Kubernetes v1.33 API change described in KEP-4004. Trace the code-generator input responsible for this field and update the generated client so the removed field is not marked @Nonnull. Done means Kubernetes v1.33+ responses can deserialize without violating the nullability contract.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kubernetes
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.