-
Notifications
You must be signed in to change notification settings - Fork 64
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
[PROPOSAL] Publish protobuf files. #532
Comments
I think currently one challenge for an automated release pipeline is how we're going to ensure that the generated proto definitions are backwards compatible, e.g. if we add a new field/type in the API spec, the new generated proto should not change any of the field tags, type names, etc. of any of the existing definitions because protobuf doesn't allow that.
|
@philiplhchan I think you're saying we need to generate proto files for a given API version. This can be done by first generating a version specific API ( Regardless, consumers of the spec should not rely on a moving target. Commit the output and update it via PRs so you can catch anything breaking. |
Yes. We would want a linter to fail when something inconsistent is used, also @nhtruong might have an opinion here. |
To me what's important is to organize the source code that is written by humans well. But these are machine generated so I wouldn't, it's less work and easier to grok changes over smaller files than merged ones. |
What/Why
What are you proposing?
Coming from opensearch-project/OpenSearch#15411 and opensearch-project/OpenSearch#15190 I propose we generate and publish protobuf files as part of the build/release workflow.
What users have asked for this feature?
OpenSearch is trying to use the OpenAPI spec to generate .proto files then use those on both client and server sides.
What problems are you trying to solve?
OpenSearch server wants .proto files.
OpenSearch clients that will implement gRPC/protobuf want .proto files.
What is the developer experience going to be?
A release of opensearch-api-specification will contain a .zip with .proto files.
Why should it be built? Any reason not to?
The right place for .proto files is this repo because multiple consumers want .proto files.
The text was updated successfully, but these errors were encountered: