consul/website
Frank Schröder 2e42020792 Add fabio - consul-aware HTTP/HTTPS lb/router
Hi hashicorp team,

I work at eBay in Amsterdam and I have written a zero-conf consul aware HTTP(S) load-balancer in Go which can be used instead of consul-template + haproxy/varnish/apache/nginx. It builds its routing table from host/path prefixes the services publish via tags and the service status. Once a change is detected it switches the routing table dynamically without restart. It also supports canary testing by routing N% of traffic to a variable number of instances of a service. 

	https://github.com/eBay/fabio

We're using it to run all of marktplaats.nl (> 5-10k req/sec peak) through it and parts of kijiji.it which are eBay classifieds sites in the Netherlands and Italy. 

The code has been under development for the last 5 months and runs now in production and I was able to open-source it a couple of days ago. 

consul has quickly become our state and coordination backend for our micro services architecture for multiple different platforms in several countries. We're very happy with the quality and ease-of-use of your products and I'm personally looking forward to testing nomad. 

It would be cool if you could list the project on your consul tools page. Please let me know whether it meets your standards and/or expectations for tools to be listed there. Feel free to ask questions.
2015-10-19 19:52:42 +02:00
..
source Add fabio - consul-aware HTTP/HTTPS lb/router 2015-10-19 19:52:42 +02:00
.buildpacks website: bulk copy from serf 2014-02-07 16:41:03 -08:00
Gemfile Use new middleman-hashicorp 2015-05-15 16:06:10 -04:00
Gemfile.lock bundle update middleman-hashicorp 2015-10-12 18:44:58 -04:00
LICENSE.md website: fix name in license 2014-04-17 11:31:12 -04:00
Makefile Add makefile and update readme 2015-10-09 18:29:08 -04:00
Procfile website: bulk copy from serf 2014-02-07 16:41:03 -08:00
README.md Add makefile and update readme 2015-10-09 18:29:08 -04:00
Vagrantfile website/Vagrantfile works again. 2015-08-06 17:39:48 -07:00
config.rb Add github_slug to website/config.rb 2015-10-12 18:43:15 -04:00
config.ru Use Rack::Protection 2015-07-13 12:56:46 -04:00

README.md

Consul Website

This subdirectory contains the entire source for the Consul Website. This is a Middleman project, which builds a static site from these source files.

Contributions Welcome!

If you find a typo or you feel like you can improve the HTML, CSS, or JavaScript, we welcome contributions. Feel free to open issues or pull requests like any normal GitHub project, and we'll merge it in.

Running the Site Locally

Running the site locally is simple. Clone this repo and run make dev.

Then open up localhost:4567. Note that some URLs you may need to append ".html" to make them work (in the navigation and such).

Building Site

Building the static version of the site and running it is simple. Clone this repo and run the following commands:

$ bundle
$ bundle exec middleman build
$ foreman start

Then open up localhost:5000.

Alternately, the site can now be deployed to Heroku or Cloud Foundry.