iconara/etcd-rb — pull request #4 by mindreframer (2013-09-30 17:53:13+00:00)
Title: proper cluster implementation with  very robust failover and leader selection code

kinda went overboard with my changes, needed a bigger refactoring to simplify the failover logic. New classes:
- cluster
- node
- http for http handling
- works with latest Etcd daemons
- is very resilient, is getting back online as soon the new cluster gets back
- has visibility into the cluster status from the console (client.cluster.nodes)
- accepts multiple seed URIs to configure from any of those, that are online (!!!)
- will re-try them all in case of failure until any of them gets back online
- will try to reconnect on each request, while being off-line

and some convenience stuff, like

$ sh/c # for development console

AND

NodeKiller (!!!) in dev mode to kill the leader of the cluster conveniently from your ruby shell

> NodeKiller.kill_node(client.cluster.leader.name)

see, if you like it. :)