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. maketo validate the definition and generate the Swagger specification.make viewto 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