Home

Awesome

envoy-simple

This project is no longer maintained by Turbine Labs, which has shut down.

Apache 2.0

Envoy-simple is a Docker image of Envoy proxy that makes it easy to configure Envoy from a dynamic control plane. Instead of an Envoy configuration file, envoy-simple pulls all its configuration over Envoy's xDS APIs. Configuring the container is as easy as setting a few environment variables:

$ docker run -d \
  -e 'ENVOY_XDS_HOST=127.0.0.1' \
  -e 'ENVOY_XDS_PORT=50000' \
  -p 9999:9999 \
  -p 80:80 \
  turbinelabs/envoy-simple:0.19.0

If you're looking for an an Envoy configuration server, Rotor is a fast, lightweight bridge between your service discovery and Envoy. Envoy-simple can point directly to Rotor.

Configuration

By default, envoy-simple opens up an admin port on 0.0.0.0:9999, and looks for an xDS server on 127.0.0.1:50000.

It supports the following environment variables:

Envoy logs are emitted on STDERR, and by default admin server request logging is sent to STDOUT.

Tracing

You can configure one or more tracers in Envoy by setting appropriate environment variables. Tracers need a destination to send spans, which requires a static cluster. Envoy-simple will create both the static cluster and tracing configuration elements for you.

To generate spans you'll need to add tracing information to your HTTP connection manager

For Zipkin, all you need to specify is the collector host if you're running a default zipkin build, although you can override the cluster name, port, and endpoint if you like.

$ docker run -d \
  -e 'ENVOY_XDS_HOST=127.0.0.1' \
  -e 'ENVOY_XDS_PORT=50000' \
  -e 'ENVOY_ZIPKIN_COLLECTOR_HOST=zipkin.example.com'
  -p 9999:9999 \
  -p 80:80 \
  turbinelabs/envoy-simple:0.19.0

For LightStep, all you need to specify is the location of the access token file. Note that you will also need to make this file available in the docker container, using

$ docker run -d \
  -e 'ENVOY_XDS_HOST=127.0.0.1' \
  -e 'ENVOY_XDS_PORT=50000' \
  -e 'ENVOY_LIGHTSTEP_ACCESS_TOKEN=<your lightstep access token>
  -p 9999:9999 \
  -p 80:80 \
  turbinelabs/envoy-simple:0.19.0

Versioning

Please see Versioning of Turbine Labs Open Source Projects.

Pull Requests

Patches accepted! Please see Contributing to Turbine Labs Open Source Projects.

Code of Conduct

All Turbine Labs open-sourced projects are released with a Contributor Code of Conduct. By participating in our projects you agree to abide by its terms, which will be carefully enforced.