-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Default to protobuf? #76
Comments
The reason that we didn't change the default initially was that protobufs were supported for the first time in 1.3 (and this is the time when we added those However, now when we have already 3 stables releases of protobufs being supported and used by our components, I think we should just change the default. @lavalamp @caesarxuchao - for thoughts |
Per a comment on a design doc, @smarterclayton noted that
Is there some place tracking the concerns around committing to the current serialization format? Maybe this package can handle any breaking changes transparently down the line? |
I'd probably prefer to continue to treat protobuf as an internal format, with the less strict guarantees we give around perfect compatibility (like we do for JSON). Use at your own risk, we reserve the right to change it in the event we severely messed up, and JSON should be good enough for anyone. I don't want it to be the default today. |
https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#serialization-format is still in place. It was in the docs somewhere, but can't find it now. |
Issues go stale after 90d of inactivity. Prevent issues from auto-closing with an If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Given that we use proto for our storage format, I don't think we can break it. Therefore I don't see an issue with setting it to be the default. |
If we want to default to protobuf, we probably need a tag for the client-go generator to switch to protobuf for those types that support it and leave it at json for CRDs (and other groups without proto support). Also note that we had native API groups for some time without proto support (those in staging like apiextensions.k8s.io). |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@fejta-bot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Any possibility we review this? |
I was reviewing some code that sets
cfg.ContentType = "application/vnd.kubernetes.protobuf"
to opt-in to protobuf, but then I was wondering why that is needed (contextkubernetes/ingress-nginx#143 (comment))
Can client-go just default to protobuf? As a user of client-go, I don't feel like I'm in a better position to make that decision than client-go is :-)
The text was updated successfully, but these errors were encountered: