The Management Plane API (MPA) Working Group will allow the Envoy community to collaborate on the development of higher-level features, which can be defined as additional functionality not pertaining to normal control and data plane operations.
Join Envoy Slack per the instructions in the Envoy repo, and join channel #management-plane-api
.
A summary is available on the Wiki of past and current meetings and work items.
MPA definitions will be in proto3
format. Since the APIs may be accessed from clients without native support for gRPC (e.g. browsers), we will use grpc-ecosystem/grpc-gateway to generate JSON endpoints that can be used in addition to gRPC. protoc-gen-swagger from the grpc-gateway project will also be used to generate Swagger files, which provide code-gen and documentation for clients that wish to use JSON endpoints.
For an example of all of the functionality that grpc-gateway
offers in combination with protoc-gen-swagger
OpenAPI annotations, see a_bit_of_everything.proto and the resulting Swagger a_bit_of_everything.swagger.json
- Define protos in the
api/
folder. make
to validate the definition and generate the Swagger specification.make view
to see documentation in the browser for the Swagger.
This project requires the following dependencies.
- realpath
- go
To install the required dependencies, run:
brew install coreutils
brew install go