Public | Automated Build

Last pushed: 2 years ago
Short Description
A consul backed layer 7 HTTP Proxy
Full Description


The dynamically reconfigurable Consul reverse HTTP proxy.


Conductor creates a layer 7 reverse HTTP proxy that will map arbitrary mount
points to underlying Consul services. It relies on Consul for Health checks and
configuration information.

What it does not do

  • It will not proxy non-HTTP services
  • Check for down endpoints (use consul health checks for this)
  • It does not detect new services added to the KV prefix without a restart
  • Your laundry


  • This is still beta! Test it extensively before putting into production!
  • Everything initially planned currently works.

How it works

On boot Conductor does this:

  • Connects to consul and pulls all keys underneath the KV Prefix (defaults to
  • These key names are assumed to be Consul service names that you want proxied
  • The values for these keys need to be mount points (URL prefixes if you prefer)
  • Conductor fires up background processes that watch the consul the healthy nodes
    for each service
  • If new services are added to the KV Prefix it will notice this and send new
    traffic to those services (not yet)
  • If nodes become unhealthy or new nodes are added, Conductor reconfigures itself

Load Testing

The load testing script will fire up a group of servers, register them in consul
and then run siege against conductor.

boot2docker start
brew install siege
docker built -t conductor .
Docker Pull Command
Source Repository