kubernetes-client / kubernetes-client/java
[BUG] V1NodeSystemInfo.kubeProxyVersion is incorrectly marked as @Nonnull after removal in K8s v1.33
- 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
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