feat(server): migrate EventList to google.protobuf.Struct for K8s 1.3.5 compatibility (#25767)#26322
feat(server): migrate EventList to google.protobuf.Struct for K8s 1.3.5 compatibility (#25767)#26322chansuke wants to merge 8 commits intoargoproj:masterfrom
Conversation
…5 compatibility Signed-off-by: chansuke <moonset20@gmail.com>
🔴 Preview Environment stopped on BunnyshellSee: Environment Details | Pipeline Logs Available commands (reply to this comment):
|
Signed-off-by: chansuke <moonset20@gmail.com>
Signed-off-by: chansuke <moonset20@gmail.com>
Signed-off-by: chansuke <moonset20@gmail.com>
Signed-off-by: chansuke <moonset20@gmail.com>
There was a problem hiding this comment.
I have a few questions/comments before I dive into more details
- Why the implementation is not following the suggestion with the wrapped struct here
- from a design point of view having GRPC and Rest returning different structs for the same call is not ideal
- Following question 1 the code now is moving away from a strongly-typed
EventListto an unstructuredgoogle.protobuf.Struct. This removes compile-time type safety and additionally the grpc clients now need to parse the returned struct, know/assume the expected structure... - I'm also skeptical about performance especially if the event list is quite big because the code now is taking several steps to transform it.
|
Thank you for your comment.
|
|
@reggie-k
|
…nterface{}` step
Signed-off-by: chansuke <moonset20@gmail.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #26322 +/- ##
==========================================
+ Coverage 62.65% 62.85% +0.20%
==========================================
Files 412 413 +1
Lines 55562 55651 +89
==========================================
+ Hits 34814 34982 +168
+ Misses 17426 17336 -90
- Partials 3322 3333 +11 ☔ View full report in Codecov by Sentry. |
This is not entirely true. There will be a breaking change when we upgrade the client to 1.35. |
Closes #25767
Change the return type of
ListResourceEventsandListEventsgRPC APIs fromk8s.io.api.core.v1.EventListtogoogle.protobuf.Structto avoid protobuf compatibility issues with Kubernetes 1.35+.Affected endpoints
Breaking Changes
google.protobuf.Structinstead ofEventList.Checklist: