https://github.com/segmentio/envoy-consul-sds
Envoy Consul Service Discovery Service
https://github.com/segmentio/envoy-consul-sds
paused
Last synced: 5 months ago
JSON representation
Envoy Consul Service Discovery Service
- Host: GitHub
- URL: https://github.com/segmentio/envoy-consul-sds
- Owner: segmentio
- License: apache-2.0
- Fork: true (anubhavmishra/envoy-consul-sds)
- Created: 2019-11-12T22:42:30.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-11-16T14:56:18.000Z (over 2 years ago)
- Last Synced: 2025-03-25T05:35:21.274Z (over 1 year ago)
- Topics: paused
- Language: Go
- Homepage:
- Size: 4 MB
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# envoy-consul-sds - Envoy Consul Service Discovery Service
> [!NOTE]
> Segment has paused maintenance on this project, but may return it to an active status in the future. Issues and pull requests from external contributors are not being considered, although internal contributions may appear from time to time. The project remains available under its open source license for anyone to use.
This tutorial is based on [Kelsey Hightower](https://github.com/kelseyhightower)'s [kubernetes-envoy-sds](https://github.com/kelseyhightower/kubernetes-envoy-sds) tutorial but using [Consul](https://consul.io) and [Nomad](https://www.nomadproject.io/).
`envoy-consul-sds` service implements the [Envoy SDS API](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/service_discovery.html#service-discovery-service-sds) on top of [Consul Health Endpoint API](https://www.consul.io/api/health.html). `envoy-consul-sds` service returns a list of healthy endpoints for Envoy to use as upstream backends for a cluster. Each Consul service can be referenced in the Envoy config file by its DNS name.
**NOTE: This project uses [Envoy API v1](https://www.envoyproxy.io/docs/envoy/latest/api-v1/api#). It doesn't use Envoy xDS for configuration. Please read [Envoy API v2](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api) for more information.**
## Goal
In this tutorial we will run Nginx on [Nomad](https://www.nomadproject.io/) and register it in [Consul](https://www.consul.io/). Then we will use Envoy to access Nginx using Consul DNS interface.
The idea is to explore ways [Envoy](https://lyft.github.io/envoy/) can integrate with applications running on Nomad using Consul.
## Tutorial
* [Bootstrap the Nomad Infrastructure on Google Compute Engine](./docs/bootstrap-nomad-google-compute-engine.md)
* [Deploy Envoy Consul Service Discovery Service](./docs/deploy-envoy-consul-sds.md)
* [Deploy Envoy System Job](./docs/deploy-envoy-system-job.md)
* [Deploy Nginx Service](./docs/deploy-nginx-service.md)
* [Clean up](./docs/clean-up.md)