Sha256: eed4841541b0785b24b3564f9a365ac6d293c9b550047c8ec03e49ee2cd5008b
Contents?: true
Size: 1.34 KB
Versions: 2
Compression:
Stored size: 1.34 KB
Contents
require "sprinkle" module PoolParty class Provider def self.install_poolparty(ips) $:.unshift( File.dirname(__FILE__) ) load_str = [] Dir["#{File.expand_path(File.dirname(__FILE__))}/packages/*"].each {|f| load_str << open(f).read} script=<<-EOS #{load_str.join("\n")} policy :poolparty, :roles => :app do requires :git requires :ruby requires :monit requires :s3fs requires :rsync requires :heartbeat requires :poolparty end deployment do delivery :vlad do set :ssh_cmd, '#{RemoteInstance.ssh_string}' #{string_roles_from_ips(ips)} end source do prefix '/usr/local' archives '/root/sources' builds '/root/builds' end end EOS PoolParty.message "Installing required poolparty paraphernalia" install_from_sprinkle_string script end def self.install_from_sprinkle_string(str) Sprinkle::Script.sprinkle str end def self.string_roles_from_ips(ips) ips.collect do |ip| "role :app, '#{ip}'" end.join("\n") end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
auser-poolparty-0.0.8 | lib/poolparty/provider/provider.rb |
dreadpiratepj-poolparty-0.0.8 | lib/poolparty/provider/provider.rb |