Provides an Envoy that frontends the API management servers. It also contains a small application to act as an xDS control plane for Envoy to handle the service discovery and serve a web application that consumes the management API
Basic Design
Proxy
The proxy provides two basic functions:
Frontends the Bobycaygeon API management servers. There can be one or more management servers and the proxy will round robin between all of them. This frontend app will know about the API management servers by being a participant of the memberlist cluster and providing the management server addresses to the proxy dynamically by acting as a control plane for Envoy xDS APIs
Translation for the web app to be able to use grpc-web
Application
The application itself will be responsible for:
Serving the static content that makes up the web app
Providing dynamic routing configuration to the envoy instance