Module: EtcdTools::Etcd

Included in:
Cli::Etcd2Yaml, Cli::EtcdERB, Cli::Yaml2Etcd, Erb
Defined in:
lib/etcd-tools/etcd.rb

Instance Method Summary collapse

Instance Method Details

#etcd_connect(url, timeout = 2) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/etcd-tools/etcd.rb', line 7

def etcd_connect(url, timeout = 2)
  url.split(',').each do |u|
    (host, port) = u.gsub(/^https?:\/\//, '').gsub(/\/$/, '').split(':')
    etcd = ::Etcd.client(host: host, port: port, read_timeout: timeout)
    next unless etcd.healthy?
    return etcd
  end
  raise ::Etcd::ClusterConnectError
end