3170 Commits

Author SHA1 Message Date
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
David Adams
b7bcb2a414 Add HTTP request header X-Consul-Token
Add support for an X-Consul-Token HTTP request header to specify the
token with which this request should be fulfilled. The header would have
precedence over the responding Agent's default token, but would have
lower precedence than a token specified in the query string.
2015-10-19 11:26:01 -05:00
James Phillips
4fb8d1078e Gets rid of non-idomatic "state_store" alias in FSM. 2015-10-16 14:07:48 -07:00
James Phillips
a926e41c44 Merge pull request #1294 from hashicorp/edit-this-page
Add "Edit this page" link everywhere except /
2015-10-15 16:23:33 -07:00
James Phillips
8d444f2eed Ports a couple of new RPC calls to the updated codec mechanism. 2015-10-15 15:09:13 -07:00
Ryan Uber
f6cbb19365 Update CHANGELOG.md 2015-10-15 15:00:41 -07:00
James Phillips
2c36c4f969 Fixes a typo. 2015-10-15 14:59:09 -07:00
James Phillips
655967d0f6 Runs go fmt after latest changes. 2015-10-15 14:59:09 -07:00
James Phillips
ef5233165b Adds unit tests for new structs clone functions. 2015-10-15 14:59:09 -07:00
James Phillips
a1cb9b8e62 Adds benchmarks back in to the state store. 2015-10-15 14:59:09 -07:00
James Phillips
fc541fadcf Removes a todo that's no longer needed. 2015-10-15 14:59:09 -07:00
James Phillips
be9f071488 Adds unit tests for the graveyard. 2015-10-15 14:59:09 -07:00
James Phillips
fab8672543 Does some go fmt after latest round of changes. 2015-10-15 14:59:09 -07:00
James Phillips
57c102a7f1 Adds a delay test. 2015-10-15 14:59:09 -07:00
James Phillips
6f7f163a76 Adds watch unit tests and does some related watch cleanup. 2015-10-15 14:59:09 -07:00
James Phillips
d29673ead7 Adds tests for GC. 2015-10-15 14:59:09 -07:00
James Phillips
d2f4a5fe83 Adds clone for service nodes so we don't twiddle the database's object. 2015-10-15 14:59:09 -07:00
James Phillips
b6f9aee847 Fixes remaining non-KV index calclulations and adds a general getWatchTables thing. 2015-10-15 14:59:09 -07:00
James Phillips
181c216f53 Fixes index management for KVS. 2015-10-15 14:59:09 -07:00
James Phillips
b728c6f279 Fixes up verify_no_uuid checks for new path. 2015-10-15 14:59:09 -07:00
James Phillips
ca3a84edf8 Makes session invalidate loops use a separate slice to protect the iterator. 2015-10-15 14:59:09 -07:00
James Phillips
834c6c1cb4 Makes all delete loops use a separate slice to protect the iterator. 2015-10-15 14:59:09 -07:00
James Phillips
682b0113b8 Cleans up some go vet warnings. 2015-10-15 14:59:09 -07:00
James Phillips
cc6a7a2174 Gets rid of todo that we discussed is ok. 2015-10-15 14:59:09 -07:00
James Phillips
51600fab08 Gets rid of the transitional "New" suffix on state store and RPC. 2015-10-15 14:59:09 -07:00
James Phillips
4ee43e90b7 Deletes the old state store and all its accoutrements. 2015-10-15 14:59:09 -07:00
James Phillips
0c90bdc61a Knocks out the Raft indexes before doing compare. 2015-10-15 14:59:09 -07:00
James Phillips
6ba70be33c Nukes old state store's connection to FSM and RPC. 2015-10-15 14:59:09 -07:00
James Phillips
7729b66099 Integrates session TTL tests with new state store. 2015-10-15 14:59:09 -07:00
James Phillips
c83a9e043a Integrates new state store into internal endpoint. 2015-10-15 14:59:09 -07:00
James Phillips
0959b87548 Abstracts the table names away from the RPC call sites. 2015-10-15 14:59:09 -07:00
James Phillips
b82d49240b Integrates new state store into session endpoint; returns table index always. 2015-10-15 14:59:09 -07:00
James Phillips
5b6502c1ea Integrates new state store into leader and catalog/health endpoints. 2015-10-15 14:59:09 -07:00
James Phillips
41338c9018 Integrates KVS endopint with new state store (changes KVSList to match old behavior). 2015-10-15 14:59:09 -07:00
James Phillips
de00a2f81b Cuts FSM unit tests over to new state store. 2015-10-15 14:59:09 -07:00
James Phillips
c791f2a709 Adds twiddling of the real state store in snapshot tests. 2015-10-15 14:59:09 -07:00
James Phillips
dc05fb728a Updates docs about new "acquire when you already have it" behavior. 2015-10-15 14:59:09 -07:00
James Phillips
91ff5254dd Ports over session invalidation tests (and fixes some bugs). 2015-10-15 14:59:09 -07:00
James Phillips
c3513b1661 Adds a note about updating sessions after they are created. 2015-10-15 14:59:09 -07:00
James Phillips
87bb81ba4c Beefs up node and service watch tests for multi-table triggers. 2015-10-15 14:59:09 -07:00
James Phillips
bde2495a14 Adds session snapshot/restore and basic watch tests (and fixes some bugs). 2015-10-15 14:59:09 -07:00
James Phillips
4afd9a8599 Adds tombstone tests and gets rid of unused logger. 2015-10-15 14:59:09 -07:00
James Phillips
ad246e06a5 Makes sure we don't create a full table watch for tombstones. 2015-10-15 14:59:09 -07:00
James Phillips
930780efd9 Adds snapshot/restore and watch tests for KVS. 2015-10-15 14:59:09 -07:00
James Phillips
18d60f95c5 Allows lock holder to re-lock and set a KV, adds tests for corner cases around sessions. 2015-10-15 14:59:09 -07:00
James Phillips
75f9cd5cc3 Adds kvs lock/unlock tests. 2015-10-15 14:59:09 -07:00
James Phillips
72f15ceac0 Adds snap and watch tests for nodes, services, and checks. 2015-10-15 14:59:09 -07:00
James Phillips
005a7e0ab1 Adds node snap and watch tests as well as a general watch test. 2015-10-15 14:59:09 -07:00
James Phillips
c8d0d09087 De-generalizes graveyard since that ended up as a YAGNI (only useful for KV). 2015-10-15 14:59:09 -07:00
James Phillips
537fd67464 Cleans up unit tests for consistency. 2015-10-15 14:59:09 -07:00