Publish Protobuf definitions to Buf Schema Registry #863
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed changes
Relates #851
With this change Centrifugo will publish its Protobuf definitions to Buf Schema Registry (BSR) on every release. Publishing:
apiproto
- Protobuf to communicate with server GRPC APIunistream
- Protobuf to consume unidirectional GRPCproxyproto
- Protobuf of Centrifugo GRPC event proxy, in this case Centrifugo itself plays a role of a client.It's important to mention that this all helps only with GRPC communication. Centrifugo APIs are not compatible with Buf connect's HTTP – we have our custom HTTP implementaion which re-uses Protobuf definitions for requests but still differs from Buf's connect framework. The differences may be eliminated probably, though requires a separate research – the hardest part is that for HTTP we use custom
Raw
type which is like ajson.RawMessage
under the hood and allows passing JSON objects without any wrapping.Example for Go