This is the example of the envoy xds server implementation using grpc streaming api. This example only cover EDS (Endpoint Discovery Service).
In order to understang this example you should have basic understanding of envot concepts like Cluster, Listener, Route, Endpoint, etc. Basic example of envoy.
Usecase of xDS server described by envoy documentation. Envoy discovers its various dynamic resources via the filesystem or by querying one or more management servers. Collectively, these discovery services and their corresponding APIs are referred to as xDS.
Envoy provides a way to dynamically configure proxy. In which xDS server can be used. More details about xDS in on envoy documentation.
It is recommended to use docker-compose
to run the example.
git clone https://github.com/aminmithil/envoy-eds.git
cd envoy-eds
docker-compose up -d
Once all container comes up. you should be able to open a browser to http://localhost:10000. Browser will look something like below.
https://github.com/envoyproxy/go-control-plane/tree/master/internal/example