bufbuild/modules

Add managed module: `buf.build/google/gnostic`

bufdev opened this issue · 3 comments

Mandatory

Where is the source code for the Managed Module?

https://github.com/google/gnostic

Specifically the openapiv3 directory, but also maybe the openapiv2 directory.

Do the proto files declare a package?

Yes, but not a great one: openapi.v3. Doesn't line up great with https://github.com/grpc-ecosystem/grpc-gateway/blob/main/protoc-gen-openapiv2/options/openapiv2.proto

Optional

Does this module have other module dependencies/imports?

No.

Based on the repository's release process, do you prefer syncing by SemVer releases or by git commit SHA?

SemVer releases.

Additionally, is there a sensible initial reference to sync from?

0.4.1 - it's the first one where the subdirectory is named openapiv3.

Do you think this module is widely used by the community, and is not already provided on the BSR by the owners?

Likely yes.

Other notes

  • Just a proposal.
  • Not sure how this fits in with other managed modules that potentially push OpenAPI API definitions.
  • Note that gnostic also has an openapi.v2 package in openapiv2 - should probably be pushing this up as well, but note grpc-gateway has definitions as well.

Not sure how involved Tim is with the project, but he did publish the definitions to the BSR:

https://buf.build/gnostic/gnostic/docs/main:gnostic.openapi.v3

Another alternative (not sure if a good one) is to open an issue on google/gnostic to suggest automating pushes to the BSR?

Oh, nice! Didn't know that

Sent a PR with instructions to sync both packages openapi.v2 and openapi.v3: #549

I'm not very familiar with the conflicts that the v2 pkg can have with the grpc-gateway definitions, but don't seem they're exactly 1:1 replicas.

Once that PR is merged and synced, I will test it in a staging cluster.