Sha256: a06295a9f022f0cbca4148ac12a782ad9b24f61741bcb7230fc8b53a05b1635f
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 KB
Contents
require 'capistrano/consul/version' require 'diplomat' require 'net/ssh/gateway' module Capistrano module Consul def self.setup return if @url @url = fetch(:consul_url) return false unless @url @ssh_gateway = fetch(:consul_ssh_gateway) if @ssh_gateway @gateway = Net::SSH::Gateway.new(@ssh_gateway[:host], @ssh_gateway[:username], @ssh_gateway[:options]) @gateway.open('127.0.0.1', @ssh_gateway[:port], @ssh_gateway[:port]) end if @use_ssh_proxy @ssh_options = fetch(:ssh_options) return false unless @ssh_options[:proxy] end Diplomat.configure do |config| config.url = @url end end end module DSL def consul_all_nodes(properties = {}) Consul.setup Diplomat::Node.get_all.each do |node| server(node['Address'], properties) end end def consul_service(service_name, properties = {}) Consul.setup Diplomat::Service.get(service_name, :all).each do |node| server(node['Address'], properties) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
capistrano3-consul-0.3.0 | lib/capistrano/consul.rb |