Skip to content

upgrade to K8s 1.35 (K8s Go client 0.35) #25767

@reggie-k

Description

@reggie-k

Summary

One breaking change I have identified is:

  • Kubernetes API Go types were not suitable for use with the google.golang.org/protobuf library, and no longer implement ProtoMessage() by default to avoid accidental incompatible use.

https://github.com/kubernetes/kubernetes/blob/5151f58ef08d9fb26931019d6d844292aeb57637/CHANGELOG/CHANGELOG-1.35.md?plain=1#L259

In my understanding, we are supposed to have a wrapper of K8s APIs (for ListEvents, ListResourceEvents) and return that from Argo CD API cause we can no longer return K8s API types directly (they are not protobuf message type compatible anymore).

For 1.35, this is a deprecation notice, the support will be removed in 1.36.

Looks like we can use go build -tags kubernetes_protomessage_one_more_release and then delay the wrapper creation till the upgrade to K8s 1.36, but not sure what upgrade path is better.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesttriage/pendingThis issue needs further triage to be correctly classifiedtype:tech-debtEnhancement such as refactor invisible for the end user

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions