Sha256: 2d3a2a68c075fc9d381e12d90e179921f194ffd8e14dfd8881dbc9a3353fec24

Contents?: true

Size: 671 Bytes

Versions: 1

Compression:

Stored size: 671 Bytes

Contents

require 'capistrano/consul/version'
require 'diplomat'

module Capistrano
  module Consul
    def self.setup
      return if @url
      @url = fetch(:consul_url)
      return false unless @url

      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.2.0 lib/capistrano/consul.rb