An example of generating gRPC, GraphQL, and OpenAPI via proto ecosystem.
https://editor.swagger.io/?url=https://raw.githubusercontent.com/michilu/proto-api/master/apidocs.swagger.json
- Buf: A new way of working with Protocol Buffers.
$ brew install bufbuild/buf/buf
- protocolbuffers/protobuf-go: Go support for Google's protocol buffers
$ go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
- envoyproxy/protoc-gen-validate: protoc plugin to generate polyglot message validators
$ go install github.com/envoyproxy/protoc-gen-validate@latest
- gRPC – Protocol Buffer Compiler Installation
$ brew install protobuf
- danielvladco/go-proto-gql: Protoc plugins for generating graphql schema and quickly create servers
$ go install github.com/danielvladco/go-proto-gql/protoc-gen-gogqlgen@v0.7.3
$ go install github.com/danielvladco/go-proto-gql/protoc-gen-gql@v0.7.3
$ go install github.com/danielvladco/go-proto-gql/protoc-gen-gqlgencfg@v0.7.3
- grpc-ecosystem/grpc-gateway/protoc-gen-openapiv2
- openapitools/openapi-generator-cli Tags - Docker Hub
- jqlang/jq: Command-line JSON processor
$ brew install jq
- mikefarah/yq: yq is a portable command-line YAML processor
Add upstream:
$ git remote add googleapis https://github.com/googleapis/googleapis
$ git fetch --depth=1 --no-tags googleapis
$ git checkout googleapis/master
$ git subtree split --prefix=google -b google
Add subtree:
$ git checkout dev
$ git subtree add --prefix=vendor/github.com/googleapis/googleapis/google google
Sync to upstream:
$ git fetch --no-tags googleapis
(TBD)
$ git subtree pull --prefix=vendor/github.com/googleapis/googleapis/google origin google