{"action":"created","issue":{"url":"https://api.github.com/repos/docker/swarm/issues/756","labels_url":"https://api.github.com/repos/docker/swarm/issues/756/labels{/name}","comments_url":"https://api.github.com/repos/docker/swarm/issues/756/comments","events_url":"https://api.github.com/repos/docker/swarm/issues/756/events","html_url":"https://github.com/docker/swarm/pull/756","id":74532697,"number":756,"title":"Change existing discovery backends to 'kv' using metatada storage backends in a new 'store' package","user":{"login":"abronan","id":1655859,"avatar_url":"https://avatars.githubusercontent.com/u/1655859?v=3","gravatar_id":"","url":"https://api.github.com/users/abronan","html_url":"https://github.com/abronan","followers_url":"https://api.github.com/users/abronan/followers","following_url":"https://api.github.com/users/abronan/following{/other_user}","gists_url":"https://api.github.com/users/abronan/gists{/gist_id}","starred_url":"https://api.github.com/users/abronan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abronan/subscriptions","organizations_url":"https://api.github.com/users/abronan/orgs","repos_url":"https://api.github.com/users/abronan/repos","events_url":"https://api.github.com/users/abronan/events{/privacy}","received_events_url":"https://api.github.com/users/abronan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/swarm/labels/status/0-needs-triage","name":"status/0-needs-triage","color":"EEEEEE"},{"url":"https://api.github.com/repos/docker/swarm/labels/store","name":"store","color":"bfdadc"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":20,"created_at":"2015-05-08T23:43:04Z","updated_at":"2015-05-12T22:15:48Z","closed_at":"2015-05-12T22:15:38Z","pull_request":{"url":"https://api.github.com/repos/docker/swarm/pulls/756","html_url":"https://github.com/docker/swarm/pull/756","diff_url":"https://github.com/docker/swarm/pull/756.diff","patch_url":"https://github.com/docker/swarm/pull/756.patch"},"body":"This PR creates a new `store` package that contains metadata storage backends for *Consul*, *Etcd* and *Zookeeper*. These are unified behind a common `Store` interface.\r\n\r\nWe can now use these storage backends to store metadata about the cluster and finally have some sort of state replication (if we use a *Consul*, *Etcd* or *Zookeeper* cluster behind a Swarm setup).\r\n\r\nThis allows to add any kind of metadata storage that can mostly implement this interface (like Riak, Scalaris, or any other distributed KV store).\r\n\r\nThis is a huge PR, this needs proper testing and review first. There are also a few minor *TODOs* left.\r\n\r\nSigned-off-by: Alexandre Beslic <abronan@docker.com>"},"comment":{"url":"https://api.github.com/repos/docker/swarm/issues/comments/101438843","html_url":"https://github.com/docker/swarm/pull/756#issuecomment-101438843","issue_url":"https://api.github.com/repos/docker/swarm/issues/756","id":101438843,"user":{"login":"vieux","id":1032519,"avatar_url":"https://avatars.githubusercontent.com/u/1032519?v=3","gravatar_id":"","url":"https://api.github.com/users/vieux","html_url":"https://github.com/vieux","followers_url":"https://api.github.com/users/vieux/followers","following_url":"https://api.github.com/users/vieux/following{/other_user}","gists_url":"https://api.github.com/users/vieux/gists{/gist_id}","starred_url":"https://api.github.com/users/vieux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vieux/subscriptions","organizations_url":"https://api.github.com/users/vieux/orgs","repos_url":"https://api.github.com/users/vieux/repos","events_url":"https://api.github.com/users/vieux/events{/privacy}","received_events_url":"https://api.github.com/users/vieux/received_events","type":"User","site_admin":false},"created_at":"2015-05-12T22:15:48Z","updated_at":"2015-05-12T22:15:48Z","body":":fireworks:  :fireworks:  :fireworks: "}}