https://github.com/hermanbanken/envoy-xds
https://github.com/hermanbanken/envoy-xds
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/hermanbanken/envoy-xds
- Owner: hermanbanken
- Created: 2020-08-24T07:45:48.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-25T07:03:45.000Z (about 5 years ago)
- Last Synced: 2025-03-23T19:02:12.909Z (7 months ago)
- Language: Go
- Homepage:
- Size: 12.7 KB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Envoy xDS demo
xDS is the control plane protocol of Envoy. An Envoy instance can be configured
to contact an xDS endpoint for additional config (see [envoy-data/bootstrap-xdsv3.yaml](./envoy-data/bootstrap-xdsv3.yml)).Via xDS these 5 root level configuration types can be configured:
1. endpoints (implement only this for just an Endpoint Discovery Service (EDS))
2. clusters
3. routes
4. listeners
5. runtimesThis repository shows:
- how to run a custom xDS control-plane; uses [go-control-plane example](https://github.com/envoyproxy/go-control-plane/tree/master/internal/example/).
- how to run a EDS discovery service; uses [go-control-plane dyplomat example](https://github.com/envoyproxy/go-control-plane/tree/master/examples/dyplomat/).
- how to add metadata via web assembly.
- how to add metadata via a gRPC call.
- how to dynamically select cluster endpoints based on some kind of metadata.# References
1. https://github.com/envoyproxy/go-control-plane/tree/master/internal/example/
2. https://github.com/envoyproxy/go-control-plane/tree/master/examples/dyplomat/
3. https://docs.solo.io/gloo/latest/guides/dev/writing-upstream-plugins/
4. [WebAssembly Gloo](https://docs.solo.io/gloo/latest/guides/dev/writing-upstream-plugins/)
5. https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/subsets