Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Zookeeper support for discovery package #2

Open
sayden opened this issue Dec 20, 2015 · 0 comments
Open

Add Zookeeper support for discovery package #2

sayden opened this issue Dec 20, 2015 · 0 comments
Milestone

Comments

@sayden
Copy link
Collaborator

sayden commented Dec 20, 2015

The app actually uses ETCD as discovery service. Docker Swarm can be configured to use Etcd, Consul and Zookeeper.

It will be great to have support for Zookeeper installations.

Discovery package has an interface for discovery clients in the file client.go. This interface is defined as follows:

type Node struct {
IP string
Containers []map[string]interface{}
Images []map[string]interface{}
}

type InfoService interface {
ListHosts() ([]Node, error)
WatchHosts()
}
ListHosts must return an array of Node connected to the discovery service (Zookeeper) with IP string filled. In Etcd this information is stored under /docker/swarm/nodes
WatchHosts is still wip in Etcd but ideally it must trigger an action in server when a new Node is connected or disconnected to the discovery service. A very direct approach could be to pass to WatchHosts an instance of the websocket connection so that it sends the information to front.

@sayden sayden added this to the Beta milestone Dec 20, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant