Example #1
0
func New(etcdAddr string) (*Manager, error) {
	remote, err := discovery.New("etcd", etcdAddr)
	if err != nil {
		return nil, err
	}

	return &Manager{
		Remote:    remote,
		Quit:      make(chan struct{}, 1),
		osSignals: make(chan os.Signal, 1),
	}, nil
}
Example #2
0
func create(c *cli.Context) {
	var clusterName string
	if !c.Args().Present() {
		log.Fatalln("Error: missing cluster name")
	} else {
		clusterName = c.Args().First()
	}
	// Get etcd address
	etcdAddress := c.String("etcdserver")

	// Initialize etcd client
	discovery.New("etcd", etcdAddress)

	// Generate cluster
	id, err := utils.GenerateUUID()
	if err != nil {
		log.WithField("err", err).Fatalln("Error generating cluster UUID")
	}
	cluster.RegisterCluster(clusterName, id)
	// Print cluster UUID for join
	fmt.Println(clusterName + ":" + id)
}
Example #3
0
func initializeDiscovery(name string, address string) {
	_, err := discovery.New(name, address)
	if err != nil {
		log.WithField("err", err).Fatalln("Error initializing discovery service")
	}
}