Sha256: aa289117b6cb9599ec545b0d9ab32b94ca5cab9625218689d3bd7af7ecbeb822
Contents?: true
Size: 1.2 KB
Versions: 3
Compression:
Stored size: 1.2 KB
Contents
$:.unshift(File.join(File.dirname(__FILE__))) require "poolparty" require "poolpartycl" module PoolParty module Capistrano $cap_clouds = {} def set_poolparty_file(file) load_pool file end def set_cloud(name) cld = PoolParty::Cloud.cloud(name) if cld && !cloud_retrieved_already? $cap_clouds[name] = cld @cloud = cld instance_eval <<-EOE ssh_options[:keys] = [ '#{cld.full_keypair_path}' ] set :user, '#{cld.user}' set :username, "#{cld.user}" ssh_options[:forward_agent] = true EOE end cld end def cloud_retrieved_already? $cap_clouds.key?(name) end def get_cloud(name) set_cloud(name) end # Get the master ip for the cloud to set in the deploy.rb file def cloud_master(name) get_cloud(name).ip end def set_role_for_all_instances(role, name) ips = get_cloud(name).nodes(:status => "running").map {|ri| ri.ip } ips.each {|ip| send :role, role.to_sym, "#{ip}"} end end end module Capistrano class Configuration include ::PoolParty::Capistrano # Dir["#{::File.dirname(__FILE__)}/capistrano/*.rb"].each {|f| pload f } end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
auser-poolparty-1.1.6 | lib/poolparty/capistrano.rb |
auser-poolparty-1.1.7 | lib/poolparty/capistrano.rb |
fairchild-poolparty-1.1.5 | lib/poolparty/capistrano.rb |