Should we provide guarantees over our Go API? What about events? #8254
Replies: 4 comments 5 replies
-
Based on the discussion on the PR, this question is wider than just Events and is probably "do we provide guarantees for our Go Package API to consumers"......which I'm guessing is part of the reason apidiff was enabled in the first place. But as pointed out, "getting apidiff to fail" isn't the whole story, but it's still part of the story. |
Beta Was this translation helpful? Give feedback.
-
We are already providing guarantees on our GO APIs, as described in the contributor guide; also, with 1.0 we decided to decuple semantic versioning used for our releases from API versioning in order to allow the project to evolve with fewer frictions. WRT to the question is about guarantees on events, which have never been formalized before, in my humble opinion this falls more on the API guarantees bucket than in the golang guarantee bucket, no matter if by the opportunity we are going to use apidiff to enforce both (but frankly speaking I will keep them separated for sake of simplicity in reading the signal) |
Beta Was this translation helpful? Give feedback.
-
Thanks for the replied @fabriziopandini & @sbueringer . Great answers and i think that has clarified categorically what we guarantee with our Go API. I had missed this crucial part in the docs:
|
Beta Was this translation helpful? Give feedback.
-
With events specifically.
I also think this falls more into the API guantee bucket.
I've also been thinking about this. I have a slightly different take. For me i see logs and events as different because the consumers/usage of each is different. But perhaps my thinking is wrong 😉 I'll try to explain. In Kubernetes event reasons are exported constants, so these can be imported by other applications and acted upon. I couldn't imagine that Kubernetes would change the I see stable event reasons as easier for systems to reason & integrate with compared to logs that have been traditionally more free form (obviously structured logging does help here). I'll put together a WIP PR in CAPA to see what it would look like, this may help discussion. |
Beta Was this translation helpful? Give feedback.
-
Started from discussion on #7786.
Currently, CAPI only really considers its CRDs part of its API guarantees. And from the discussion on the pr:
(thanks @sbueringer)
Beta Was this translation helpful? Give feedback.
All reactions