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.
Community
Slack
Join Envoy Slack per the instructions in the Envoy repo, and join channel #management-plane-api.
Meetings
A summary is available on the Wiki of past and current meetings and work items.
API Definitions
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.
Management Plane API
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.
Community
Slack
Join Envoy Slack per the instructions in the Envoy repo, and join channel
#management-plane-api.Meetings
A summary is available on the Wiki of past and current meetings and work items.
API Definitions
MPA definitions will be in
proto3format. 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-gatewayoffers in combination withprotoc-gen-swaggerOpenAPI annotations, see a_bit_of_everything.proto and the resulting Swagger a_bit_of_everything.swagger.jsonUsage
api/folder.maketo validate the definition and generate the Swagger specification.make viewto see documentation in the browser for the Swagger.Dependencies
This project requires the following dependencies.
MacOS
To install the required dependencies, run:
brew install coreutilsbrew install go