auser-poolparty 0.1.2 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. data/History.txt +22 -0
  2. data/License.txt +20 -0
  3. data/README.txt +52 -0
  4. data/Rakefile +4 -109
  5. data/bin/cloud +31 -0
  6. data/bin/cloud-add-keypair +23 -0
  7. data/bin/cloud-configure +35 -0
  8. data/bin/cloud-contract +27 -0
  9. data/bin/cloud-expand +27 -0
  10. data/bin/cloud-list +32 -0
  11. data/bin/cloud-maintain +36 -0
  12. data/bin/cloud-provision +30 -0
  13. data/bin/cloud-reconfigure +24 -0
  14. data/bin/cloud-ssh +18 -0
  15. data/bin/cloud-start +29 -0
  16. data/bin/pool +23 -75
  17. data/bin/pool-console +12 -0
  18. data/bin/pool-describe +9 -0
  19. data/bin/pool-list +28 -0
  20. data/bin/pool-provision +34 -0
  21. data/bin/pool-spec +17 -0
  22. data/bin/pool-start +32 -0
  23. data/examples/basic.rb +20 -0
  24. data/examples/plugin_without_plugin_directory.rb +13 -0
  25. data/examples/poolparty.rb +12 -0
  26. data/examples/with_apache_plugin.rb +22 -0
  27. data/generators/poolspec/USAGE +5 -0
  28. data/generators/poolspec/poolspec_generator.rb +65 -0
  29. data/generators/poolspec/templates/pool_spec_template.erb +9 -0
  30. data/lib/erlang/eb_server.erl +27 -0
  31. data/lib/poolparty.rb +40 -116
  32. data/lib/poolparty/base_packages/haproxy.rb +41 -0
  33. data/lib/poolparty/base_packages/heartbeat.rb +43 -0
  34. data/lib/poolparty/base_packages/poolparty.rb +18 -0
  35. data/lib/poolparty/base_packages/ruby.rb +27 -0
  36. data/lib/poolparty/core/array.rb +24 -0
  37. data/lib/{core → poolparty/core}/exception.rb +0 -0
  38. data/lib/{core → poolparty/core}/float.rb +0 -0
  39. data/lib/poolparty/core/hash.rb +29 -0
  40. data/lib/poolparty/core/kernel.rb +34 -0
  41. data/lib/{core → poolparty/core}/module.rb +18 -0
  42. data/lib/poolparty/core/my_open_struct.rb +18 -0
  43. data/lib/poolparty/core/object.rb +54 -0
  44. data/lib/poolparty/core/proc.rb +2 -0
  45. data/lib/poolparty/core/string.rb +72 -0
  46. data/lib/poolparty/core/symbol.rb +8 -0
  47. data/lib/{core → poolparty/core}/time.rb +15 -0
  48. data/lib/poolparty/exceptions/RemoteException.rb +12 -0
  49. data/lib/poolparty/exceptions/ResourceException.rb +7 -0
  50. data/lib/poolparty/exceptions/RuntimeException.rb +7 -0
  51. data/lib/poolparty/exceptions/SpecException.rb +7 -0
  52. data/lib/poolparty/exceptions/TemplateNotFound.rb +7 -0
  53. data/lib/poolparty/helpers/binary.rb +30 -0
  54. data/lib/poolparty/helpers/console.rb +30 -0
  55. data/lib/poolparty/helpers/display.rb +25 -0
  56. data/lib/poolparty/helpers/optioner.rb +61 -0
  57. data/lib/poolparty/helpers/provisioner_base.rb +226 -0
  58. data/lib/poolparty/helpers/provisioners/master.rb +120 -0
  59. data/lib/poolparty/helpers/provisioners/slave.rb +52 -0
  60. data/lib/poolparty/modules/cloud_resourcer.rb +72 -0
  61. data/lib/poolparty/modules/configurable.rb +34 -0
  62. data/lib/poolparty/modules/definable_resource.rb +59 -0
  63. data/lib/poolparty/modules/file_writer.rb +55 -0
  64. data/lib/poolparty/modules/method_missing_sugar.rb +17 -0
  65. data/lib/poolparty/modules/output.rb +13 -0
  66. data/lib/poolparty/modules/pretty_printer.rb +38 -0
  67. data/lib/{core/string.rb → poolparty/modules/s3_string.rb} +5 -29
  68. data/lib/{modules → poolparty/modules}/safe_instance.rb +0 -0
  69. data/lib/poolparty/monitors/base_monitor.rb +16 -0
  70. data/lib/poolparty/net/remote.rb +35 -0
  71. data/lib/poolparty/net/remote_bases/ec2.rb +145 -0
  72. data/lib/poolparty/net/remote_instance.rb +68 -0
  73. data/lib/poolparty/net/remoter.rb +209 -0
  74. data/lib/poolparty/net/remoter_base.rb +117 -0
  75. data/lib/poolparty/plugins/gem_package.rb +39 -0
  76. data/lib/poolparty/plugins/line.rb +76 -0
  77. data/lib/poolparty/plugins/svn.rb +48 -0
  78. data/lib/poolparty/pool/base.rb +74 -0
  79. data/lib/poolparty/pool/cloud.rb +132 -0
  80. data/lib/poolparty/pool/custom_resource.rb +61 -0
  81. data/lib/poolparty/pool/loggable.rb +29 -0
  82. data/lib/poolparty/pool/plugin.rb +42 -0
  83. data/lib/poolparty/pool/plugin_model.rb +48 -0
  84. data/lib/poolparty/pool/pool.rb +55 -0
  85. data/lib/poolparty/pool/resource.rb +235 -0
  86. data/lib/poolparty/pool/resources/class_package.rb +60 -0
  87. data/lib/poolparty/pool/resources/cron.rb +14 -0
  88. data/lib/poolparty/pool/resources/directory.rb +23 -0
  89. data/lib/poolparty/pool/resources/exec.rb +26 -0
  90. data/lib/poolparty/pool/resources/file.rb +23 -0
  91. data/lib/poolparty/pool/resources/gem.rb +14 -0
  92. data/lib/poolparty/pool/resources/host.rb +14 -0
  93. data/lib/poolparty/pool/resources/package.rb +14 -0
  94. data/lib/poolparty/pool/resources/remote_file.rb +20 -0
  95. data/lib/poolparty/pool/resources/service.rb +21 -0
  96. data/lib/poolparty/pool/resources/sshkey.rb +19 -0
  97. data/lib/poolparty/pool/resources/variable.rb +27 -0
  98. data/lib/poolparty/pool/script.rb +21 -0
  99. data/{config/heartbeat_authkeys.conf → lib/poolparty/templates/authkeys} +0 -0
  100. data/lib/poolparty/templates/cib.xml +1 -0
  101. data/lib/poolparty/templates/fileserver.conf +4 -0
  102. data/{config/heartbeat.conf → lib/poolparty/templates/ha.cf} +3 -1
  103. data/{config → lib/poolparty/templates}/haproxy.conf +13 -6
  104. data/lib/poolparty/templates/namespaceauth.conf +19 -0
  105. data/lib/poolparty/templates/puppet.conf +13 -0
  106. data/lib/poolparty/version.rb +9 -0
  107. data/lib/poolpartycl.rb +3 -0
  108. data/script/destroy +14 -0
  109. data/script/generate +14 -0
  110. data/script/txt2html +82 -0
  111. data/{lib/poolparty/tasks → tasks}/cloud.rake +1 -1
  112. data/tasks/deployment.rake +34 -0
  113. data/tasks/development.rake +78 -0
  114. data/{lib/poolparty/tasks → tasks}/ec2.rake +1 -1
  115. data/tasks/environment.rake +7 -0
  116. data/{lib/poolparty/tasks → tasks}/instance.rake +0 -0
  117. data/{lib/poolparty/tasks → tasks}/server.rake +0 -0
  118. data/tasks/spec.rake +17 -0
  119. data/tasks/website.rake +17 -0
  120. metadata +154 -249
  121. data/CHANGELOG +0 -23
  122. data/LICENSE +0 -22
  123. data/README +0 -139
  124. data/assets/clouds.png +0 -0
  125. data/bin/instance +0 -68
  126. data/bin/poolnotify +0 -34
  127. data/config/cloud_master_takeover +0 -17
  128. data/config/create_proxy_ami.sh +0 -582
  129. data/config/installers/ubuntu_install.sh +0 -77
  130. data/config/monit.conf +0 -9
  131. data/config/monit/haproxy.monit.conf +0 -8
  132. data/config/monit/nginx.monit.conf +0 -0
  133. data/config/nginx.conf +0 -24
  134. data/config/reconfigure_instances_script.sh +0 -37
  135. data/config/sample-config.yml +0 -23
  136. data/config/scp_instances_script.sh +0 -12
  137. data/lib/core/array.rb +0 -16
  138. data/lib/core/hash.rb +0 -11
  139. data/lib/core/kernel.rb +0 -12
  140. data/lib/core/object.rb +0 -21
  141. data/lib/core/proc.rb +0 -15
  142. data/lib/helpers/plugin_spec_helper.rb +0 -58
  143. data/lib/modules/callback.rb +0 -133
  144. data/lib/modules/ec2_wrapper.rb +0 -108
  145. data/lib/modules/file_writer.rb +0 -38
  146. data/lib/modules/sprinkle_overrides.rb +0 -27
  147. data/lib/modules/vlad_override.rb +0 -83
  148. data/lib/poolparty/application.rb +0 -199
  149. data/lib/poolparty/init.rb +0 -6
  150. data/lib/poolparty/master.rb +0 -492
  151. data/lib/poolparty/monitors.rb +0 -11
  152. data/lib/poolparty/monitors/cpu.rb +0 -23
  153. data/lib/poolparty/monitors/memory.rb +0 -33
  154. data/lib/poolparty/monitors/web.rb +0 -29
  155. data/lib/poolparty/optioner.rb +0 -20
  156. data/lib/poolparty/plugin.rb +0 -78
  157. data/lib/poolparty/provider.rb +0 -104
  158. data/lib/poolparty/provider/essential.rb +0 -6
  159. data/lib/poolparty/provider/git.rb +0 -8
  160. data/lib/poolparty/provider/haproxy.rb +0 -9
  161. data/lib/poolparty/provider/heartbeat.rb +0 -6
  162. data/lib/poolparty/provider/rsync.rb +0 -8
  163. data/lib/poolparty/provider/ruby.rb +0 -65
  164. data/lib/poolparty/provider/s3fuse.rb +0 -22
  165. data/lib/poolparty/remote_instance.rb +0 -250
  166. data/lib/poolparty/remoter.rb +0 -171
  167. data/lib/poolparty/remoting.rb +0 -137
  168. data/lib/poolparty/scheduler.rb +0 -93
  169. data/lib/poolparty/tasks.rb +0 -47
  170. data/lib/poolparty/tasks/development.rake +0 -78
  171. data/lib/poolparty/tasks/plugins.rake +0 -30
  172. data/lib/poolparty/thread_pool.rb +0 -94
  173. data/lib/s3/s3_object_store_folders.rb +0 -44
  174. data/poolparty.gemspec +0 -71
  175. data/spec/files/describe_response +0 -37
  176. data/spec/files/multi_describe_response +0 -69
  177. data/spec/files/remote_desc_response +0 -37
  178. data/spec/helpers/ec2_mock.rb +0 -57
  179. data/spec/lib/core/core_spec.rb +0 -26
  180. data/spec/lib/core/kernel_spec.rb +0 -24
  181. data/spec/lib/core/string_spec.rb +0 -28
  182. data/spec/lib/modules/callback_spec.rb +0 -213
  183. data/spec/lib/modules/file_writer_spec.rb +0 -74
  184. data/spec/lib/poolparty/application_spec.rb +0 -135
  185. data/spec/lib/poolparty/ec2_wrapper_spec.rb +0 -110
  186. data/spec/lib/poolparty/master_spec.rb +0 -479
  187. data/spec/lib/poolparty/optioner_spec.rb +0 -34
  188. data/spec/lib/poolparty/plugin_spec.rb +0 -115
  189. data/spec/lib/poolparty/poolparty_spec.rb +0 -60
  190. data/spec/lib/poolparty/provider_spec.rb +0 -74
  191. data/spec/lib/poolparty/remote_instance_spec.rb +0 -178
  192. data/spec/lib/poolparty/remoter_spec.rb +0 -72
  193. data/spec/lib/poolparty/remoting_spec.rb +0 -148
  194. data/spec/lib/poolparty/scheduler_spec.rb +0 -70
  195. data/spec/monitors/cpu_monitor_spec.rb +0 -39
  196. data/spec/monitors/memory_spec.rb +0 -51
  197. data/spec/monitors/misc_monitor_spec.rb +0 -51
  198. data/spec/monitors/web_spec.rb +0 -40
  199. data/spec/spec_helper.rb +0 -53
data/script/generate ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/generate'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Generate.new.run(ARGV)
data/script/txt2html ADDED
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ GEM_NAME = 'PoolParty' # what ppl will type to install your gem
4
+ RUBYFORGE_PROJECT = 'PoolParty'
5
+
6
+ require 'rubygems'
7
+ begin
8
+ require 'newgem'
9
+ require 'rubyforge'
10
+ rescue LoadError
11
+ puts "\n\nGenerating the website requires the newgem RubyGem"
12
+ puts "Install: gem install newgem\n\n"
13
+ exit(1)
14
+ end
15
+ require 'redcloth'
16
+ require 'syntax/convertors/html'
17
+ require 'erb'
18
+ require File.dirname(__FILE__) + "/../lib/#{GEM_NAME}/version.rb"
19
+
20
+ version = PoolParty::VERSION::STRING
21
+ download = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
22
+
23
+ def rubyforge_project_id
24
+ RubyForge.new.autoconfig["group_ids"][RUBYFORGE_PROJECT]
25
+ end
26
+
27
+ class Fixnum
28
+ def ordinal
29
+ # teens
30
+ return 'th' if (10..19).include?(self % 100)
31
+ # others
32
+ case self % 10
33
+ when 1: return 'st'
34
+ when 2: return 'nd'
35
+ when 3: return 'rd'
36
+ else return 'th'
37
+ end
38
+ end
39
+ end
40
+
41
+ class Time
42
+ def pretty
43
+ return "#{mday}#{mday.ordinal} #{strftime('%B')} #{year}"
44
+ end
45
+ end
46
+
47
+ def convert_syntax(syntax, source)
48
+ return Syntax::Convertors::HTML.for_syntax(syntax).convert(source).gsub(%r!^<pre>|</pre>$!,'')
49
+ end
50
+
51
+ if ARGV.length >= 1
52
+ src, template = ARGV
53
+ template ||= File.join(File.dirname(__FILE__), '/../website/template.html.erb')
54
+ else
55
+ puts("Usage: #{File.split($0).last} source.txt [template.html.erb] > output.html")
56
+ exit!
57
+ end
58
+
59
+ template = ERB.new(File.open(template).read)
60
+
61
+ title = nil
62
+ body = nil
63
+ File.open(src) do |fsrc|
64
+ title_text = fsrc.readline
65
+ body_text_template = fsrc.read
66
+ body_text = ERB.new(body_text_template).result(binding)
67
+ syntax_items = []
68
+ body_text.gsub!(%r!<(pre|code)[^>]*?syntax=['"]([^'"]+)[^>]*>(.*?)</\1>!m){
69
+ ident = syntax_items.length
70
+ element, syntax, source = $1, $2, $3
71
+ syntax_items << "<#{element} class='syntax'>#{convert_syntax(syntax, source)}</#{element}>"
72
+ "syntax-temp-#{ident}"
73
+ }
74
+ title = RedCloth.new(title_text).to_html.gsub(%r!<.*?>!,'').strip
75
+ body = RedCloth.new(body_text).to_html
76
+ body.gsub!(%r!(?:<pre><code>)?syntax-temp-(\d+)(?:</code></pre>)?!){ syntax_items[$1.to_i] }
77
+ end
78
+ stat = File.stat(src)
79
+ created = stat.ctime
80
+ modified = stat.mtime
81
+
82
+ $stdout << template.result(binding)
@@ -3,7 +3,7 @@ namespace(:cloud) do
3
3
  # Setup
4
4
  task :init do
5
5
  setup_application
6
- raise Exception.new("You must specify your access_key and secret_access_key") unless Application.access_key && Application.secret_access_key
6
+ raise Exception.new("You must specify your access_key and secret_access_key") unless Base.access_key && Base.secret_access_key
7
7
  end
8
8
  # Install the stack on all of the nodes
9
9
  desc "Prepare all servers"
@@ -0,0 +1,34 @@
1
+ desc 'Release the website and new gem version'
2
+ task :deploy => [:check_version, :website, :release] do
3
+ puts "Remember to create SVN tag:"
4
+ puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
5
+ "svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
6
+ puts "Suggested comment:"
7
+ puts "Tagging release #{CHANGES}"
8
+ end
9
+
10
+ desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
11
+ task :local_deploy => [:website_generate, :install_gem]
12
+
13
+ task :check_version do
14
+ unless ENV['VERSION']
15
+ puts 'Must pass a VERSION=x.y.z release version'
16
+ exit
17
+ end
18
+ unless ENV['VERSION'] == VERS
19
+ puts "Please update your version.rb to match the release version, currently #{VERS}"
20
+ exit
21
+ end
22
+ end
23
+
24
+ desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
25
+ task :install_gem_no_doc => [:clean, :package] do
26
+ sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
27
+ end
28
+
29
+ namespace :manifest do
30
+ desc 'Recreate Manifest.txt to include ALL files'
31
+ task :refresh do
32
+ `rake check_manifest | patch -p0 > Manifest.txt`
33
+ end
34
+ end
@@ -0,0 +1,78 @@
1
+ namespace(:dev) do
2
+ task :initialize do
3
+ setup_application
4
+ run "mkdir ~/.ec2 >/dev/null 2>/dev/null" unless File.directory?("~/.ec2")
5
+ end
6
+ # Setup a basic development environment for the user
7
+ desc "Setup development environment specify the config_file"
8
+ task :setup => [:initialize, :setup_keypair] do
9
+ certloc = "#{Base.ec2_dir}/#{Base.keypair}/cert-*.pem 2>/dev/null"
10
+ pkloc = "#{Base.ec2_dir}/#{Base.keypair}/pk-*.pem 2>/dev/null"
11
+ unless `ls #{certloc}`.length > 1 && `ls #{pkloc}`.length > 1
12
+ puts <<-EOM
13
+ Make sure you run rake dev:setup_pemkeys before you run this command
14
+
15
+ I cannot continue until your keys are setup.
16
+ exiting...
17
+ EOM
18
+ exit
19
+ end
20
+ keyfilename = ".#{Base.keypair}_pool_keys"
21
+ run <<-EOR
22
+ echo 'export AWS_ACCESS_KEY=\"#{Base.access_key}\"' > $HOME/#{keyfilename}
23
+ echo 'export AWS_SECRET_ACCESS=\"#{Base.secret_access_key}\"' >> $HOME/#{keyfilename}
24
+ echo 'export EC2_HOME=\"#{Base.ec2_dir}\"' >> $HOME/#{keyfilename}
25
+ echo 'export KEYPAIR_NAME=\"#{Base.keypair}\"' >> $HOME/#{keyfilename}
26
+ echo 'export EC2_PRIVATE_KEY=`ls ~/.ec2/#{Base.keypair}/pk-*.pem`;' >> $HOME/#{keyfilename}
27
+ echo 'export EC2_CERT=`ls ~/.ec2/#{Base.keypair}/cert-*.pem`;' >> $HOME/#{keyfilename}
28
+ EOR
29
+ puts <<-EOM
30
+ To work on this cloud, source the file like:
31
+
32
+ source $HOME/#{keyfilename}
33
+
34
+ EOM
35
+ end
36
+ desc "Generate a new keypair"
37
+ task :setup_keypair => [:initialize] do
38
+ Base.keypair ||= "#{File.basename(Dir.pwd)}"
39
+ run "ec2-delete-keypair #{Base.keypair}" if File.file?(Base.keypair_path)
40
+ puts "-- setting up keypair named #{Base.keypair} in #{Base.keypair_path}"
41
+ run <<-EOR
42
+ chmod 600 #{Base.keypair_path} 2>/dev/null
43
+ mkdir ~/.ec2/#{Base.keypair} 2>/dev/null
44
+ ec2-add-keypair #{Base.keypair} > #{Base.keypair_path}
45
+ EOR
46
+ end
47
+ desc "Setup pem keys"
48
+ task :setup_pemkeys => [:initialize] do
49
+ puts "Setting up stubbed pem keys in ~/.ec2/#{Base.keypair}"
50
+ run <<-EOR
51
+ mkdir -p ~/.ec2/#{Base.keypair} 2>/dev/null
52
+ echo 'UPDATE ME' > #{Base.ec2_dir}/#{Base.keypair}/cert-UPDATEME.pem
53
+ echo 'UPDATE ME' > #{Base.ec2_dir}/#{Base.keypair}/pk-UPDATEME.pem
54
+ EOR
55
+ puts "Don't forget to replace your ~/.ec2/#{Base.keypair}/*.pem keys with the real amazon keys"
56
+ end
57
+ desc "initialize setup"
58
+ task :init => [:setup_pemkeys]
59
+
60
+ desc "Just an argv test"
61
+ task :test => :initialize do
62
+ puts "---- Testing ----"
63
+ puts PoolParty.options(ARGV.dup)
64
+ puts "Using keypair at: #{Base.keypair_path}"
65
+ end
66
+ desc "Installation listing"
67
+ task :list_install => :initialize do
68
+ puts "-- packages to install --"
69
+ Provider.install_PoolParty(true)
70
+ end
71
+ desc "Authorize base ports for application"
72
+ task :authorize_ports => :initialize do
73
+ run <<-EOR
74
+ ec2-authorize -p 22 default
75
+ ec2-authorize -p 80 default
76
+ EOR
77
+ end
78
+ end
@@ -1,6 +1,6 @@
1
1
  namespace(:ec2) do
2
2
  task :init do
3
- Application.options
3
+ Base.options
4
4
  end
5
5
  # Start a new instance in the cloud
6
6
  desc "Add and start an instance to the pool"
@@ -0,0 +1,7 @@
1
+ task :ruby_env do
2
+ RUBY_APP = if RUBY_PLATFORM =~ /java/
3
+ "jruby"
4
+ else
5
+ "ruby"
6
+ end unless defined? RUBY_APP
7
+ end
File without changes
File without changes
data/tasks/spec.rake ADDED
@@ -0,0 +1,17 @@
1
+ require 'rake'
2
+ require 'spec/rake/spectask'
3
+
4
+ task :default => :spec
5
+
6
+ Spec::Rake::SpecTask.new(:spec) do |t|
7
+ t.warning =
8
+ t.rcov = false
9
+ t.spec_files = Dir["spec/**/*_spec.rb"]
10
+ end
11
+
12
+ Spec::Rake::SpecTask.new(:spec_v) do |t|
13
+ t.rcov = true
14
+ t.rcov_opts = ['--exclude', 'gems*,spec*']
15
+ t.ruby_opts = []
16
+ t.spec_files = Dir["spec/**/*_spec.rb"]
17
+ end
@@ -0,0 +1,17 @@
1
+ desc 'Generate website files'
2
+ task :website_generate => :ruby_env do
3
+ (Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt|
4
+ sh %{ #{RUBY_APP} script/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
5
+ end
6
+ end
7
+
8
+ desc 'Upload website files to rubyforge'
9
+ task :website_upload do
10
+ host = "#{rubyforge_username}@rubyforge.org"
11
+ remote_dir = "/var/www/gforge-projects/#{PATH}/"
12
+ local_dir = 'website'
13
+ sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
14
+ end
15
+
16
+ desc 'Generate and upload website files'
17
+ task :website => [:website_generate, :website_upload, :publish_docs]
metadata CHANGED
@@ -1,63 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: auser-poolparty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ari Lerner
8
- autorequire:
8
+ autorequire: poolparty
9
9
  bindir: bin
10
- cert_chain:
11
- date: 2008-07-30 00:00:00 -07:00
10
+ cert_chain: []
11
+
12
+ date: 2008-10-08 00:00:00 -07:00
12
13
  default_executable:
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
- name: aws-s3
16
- version_requirement:
17
- version_requirements: !ruby/object:Gem::Requirement
18
- requirements:
19
- - - ">="
20
- - !ruby/object:Gem::Version
21
- version: "0"
22
- version:
23
- - !ruby/object:Gem::Dependency
24
- name: amazon-ec2
25
- version_requirement:
26
- version_requirements: !ruby/object:Gem::Requirement
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- version: "0"
31
- version:
32
- - !ruby/object:Gem::Dependency
33
- name: auser-aska
34
- version_requirement:
35
- version_requirements: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: "0"
40
- version:
41
- - !ruby/object:Gem::Dependency
42
- name: git
43
- version_requirement:
44
- version_requirements: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- version: "0"
49
- version:
50
- - !ruby/object:Gem::Dependency
51
- name: sprinkle
52
- version_requirement:
53
- version_requirements: !ruby/object:Gem::Requirement
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- version: "0"
58
- version:
59
- - !ruby/object:Gem::Dependency
60
- name: SystemTimer
16
+ name: activesupport
61
17
  version_requirement:
62
18
  version_requirements: !ruby/object:Gem::Requirement
63
19
  requirements:
@@ -75,7 +31,7 @@ dependencies:
75
31
  version: "0"
76
32
  version:
77
33
  - !ruby/object:Gem::Dependency
78
- name: echoe
34
+ name: logging
79
35
  version_requirement:
80
36
  version_requirements: !ruby/object:Gem::Requirement
81
37
  requirements:
@@ -83,210 +39,159 @@ dependencies:
83
39
  - !ruby/object:Gem::Version
84
40
  version: "0"
85
41
  version:
86
- description: Run your entire application off EC2, managed and auto-scaling
42
+ description: Self-healing, auto-scaling cloud computing tool
87
43
  email: ari.lerner@citrusbyte.com
88
- executables:
89
- - instance
90
- - pool
91
- - poolnotify
44
+ executables: []
45
+
92
46
  extensions: []
93
47
 
94
48
  extra_rdoc_files:
95
- - CHANGELOG
96
- - LICENSE
97
- - README
98
- - bin
99
- - bin/instance
100
- - bin/pool
101
- - bin/poolnotify
102
- - lib
103
- - lib/core
104
- - lib/core/array.rb
105
- - lib/core/exception.rb
106
- - lib/core/float.rb
107
- - lib/core/hash.rb
108
- - lib/core/kernel.rb
109
- - lib/core/module.rb
110
- - lib/core/object.rb
111
- - lib/core/proc.rb
112
- - lib/core/string.rb
113
- - lib/core/time.rb
114
- - lib/helpers
115
- - lib/helpers/plugin_spec_helper.rb
116
- - lib/modules
117
- - lib/modules/callback.rb
118
- - lib/modules/ec2_wrapper.rb
119
- - lib/modules/file_writer.rb
120
- - lib/modules/safe_instance.rb
121
- - lib/modules/sprinkle_overrides.rb
122
- - lib/modules/vlad_override.rb
123
- - lib/poolparty
124
- - lib/poolparty.rb
125
- - lib/poolparty/application.rb
126
- - lib/poolparty/init.rb
127
- - lib/poolparty/master.rb
128
- - lib/poolparty/monitors
129
- - lib/poolparty/monitors.rb
130
- - lib/poolparty/monitors/cpu.rb
131
- - lib/poolparty/monitors/memory.rb
132
- - lib/poolparty/monitors/web.rb
133
- - lib/poolparty/optioner.rb
134
- - lib/poolparty/plugin.rb
135
- - lib/poolparty/provider
136
- - lib/poolparty/provider.rb
137
- - lib/poolparty/provider/essential.rb
138
- - lib/poolparty/provider/git.rb
139
- - lib/poolparty/provider/haproxy.rb
140
- - lib/poolparty/provider/heartbeat.rb
141
- - lib/poolparty/provider/rsync.rb
142
- - lib/poolparty/provider/ruby.rb
143
- - lib/poolparty/provider/s3fuse.rb
144
- - lib/poolparty/remote_instance.rb
145
- - lib/poolparty/remoter.rb
146
- - lib/poolparty/remoting.rb
147
- - lib/poolparty/scheduler.rb
148
- - lib/poolparty/tasks
149
- - lib/poolparty/tasks.rb
150
- - lib/poolparty/tasks/cloud.rake
151
- - lib/poolparty/tasks/development.rake
152
- - lib/poolparty/tasks/ec2.rake
153
- - lib/poolparty/tasks/instance.rake
154
- - lib/poolparty/tasks/plugins.rake
155
- - lib/poolparty/tasks/server.rake
156
- - lib/poolparty/thread_pool.rb
157
- - lib/s3
158
- - lib/s3/s3_object_store_folders.rb
49
+ - README.txt
50
+ - License.txt
51
+ - History.txt
159
52
  files:
160
- - CHANGELOG
161
- - LICENSE
162
- - README
163
53
  - Rakefile
164
- - assets
165
- - assets/clouds.png
166
- - bin
167
- - bin/instance
168
- - bin/pool
169
- - bin/poolnotify
170
- - config
171
- - config/cloud_master_takeover
172
- - config/create_proxy_ami.sh
173
- - config/haproxy.conf
174
- - config/heartbeat.conf
175
- - config/heartbeat_authkeys.conf
176
- - config/installers
177
- - config/installers/ubuntu_install.sh
178
- - config/monit
179
- - config/monit.conf
180
- - config/monit/haproxy.monit.conf
181
- - config/monit/nginx.monit.conf
182
- - config/nginx.conf
183
- - config/reconfigure_instances_script.sh
184
- - config/sample-config.yml
185
- - config/scp_instances_script.sh
186
- - lib
187
- - lib/core
188
- - lib/core/array.rb
189
- - lib/core/exception.rb
190
- - lib/core/float.rb
191
- - lib/core/hash.rb
192
- - lib/core/kernel.rb
193
- - lib/core/module.rb
194
- - lib/core/object.rb
195
- - lib/core/proc.rb
196
- - lib/core/string.rb
197
- - lib/core/time.rb
198
- - lib/helpers
199
- - lib/helpers/plugin_spec_helper.rb
200
- - lib/modules
201
- - lib/modules/callback.rb
202
- - lib/modules/ec2_wrapper.rb
203
- - lib/modules/file_writer.rb
204
- - lib/modules/safe_instance.rb
205
- - lib/modules/sprinkle_overrides.rb
206
- - lib/modules/vlad_override.rb
54
+ - History.txt
55
+ - README.txt
56
+ - examples/basic.rb
57
+ - examples/plugin_without_plugin_directory.rb
58
+ - examples/poolparty.rb
59
+ - examples/with_apache_plugin.rb
60
+ - lib/erlang
61
+ - lib/erlang/eb_server.erl
207
62
  - lib/poolparty
208
- - lib/poolparty.rb
209
- - lib/poolparty/application.rb
210
- - lib/poolparty/init.rb
211
- - lib/poolparty/master.rb
63
+ - lib/poolparty/base_packages
64
+ - lib/poolparty/base_packages/haproxy.rb
65
+ - lib/poolparty/base_packages/heartbeat.rb
66
+ - lib/poolparty/base_packages/poolparty.rb
67
+ - lib/poolparty/base_packages/ruby.rb
68
+ - lib/poolparty/core
69
+ - lib/poolparty/core/array.rb
70
+ - lib/poolparty/core/exception.rb
71
+ - lib/poolparty/core/float.rb
72
+ - lib/poolparty/core/hash.rb
73
+ - lib/poolparty/core/kernel.rb
74
+ - lib/poolparty/core/module.rb
75
+ - lib/poolparty/core/my_open_struct.rb
76
+ - lib/poolparty/core/object.rb
77
+ - lib/poolparty/core/proc.rb
78
+ - lib/poolparty/core/string.rb
79
+ - lib/poolparty/core/symbol.rb
80
+ - lib/poolparty/core/time.rb
81
+ - lib/poolparty/exceptions
82
+ - lib/poolparty/exceptions/RemoteException.rb
83
+ - lib/poolparty/exceptions/ResourceException.rb
84
+ - lib/poolparty/exceptions/RuntimeException.rb
85
+ - lib/poolparty/exceptions/SpecException.rb
86
+ - lib/poolparty/exceptions/TemplateNotFound.rb
87
+ - lib/poolparty/helpers
88
+ - lib/poolparty/helpers/binary.rb
89
+ - lib/poolparty/helpers/console.rb
90
+ - lib/poolparty/helpers/display.rb
91
+ - lib/poolparty/helpers/optioner.rb
92
+ - lib/poolparty/helpers/provisioner_base.rb
93
+ - lib/poolparty/helpers/provisioners
94
+ - lib/poolparty/helpers/provisioners/master.rb
95
+ - lib/poolparty/helpers/provisioners/slave.rb
96
+ - lib/poolparty/modules
97
+ - lib/poolparty/modules/cloud_resourcer.rb
98
+ - lib/poolparty/modules/configurable.rb
99
+ - lib/poolparty/modules/definable_resource.rb
100
+ - lib/poolparty/modules/file_writer.rb
101
+ - lib/poolparty/modules/method_missing_sugar.rb
102
+ - lib/poolparty/modules/output.rb
103
+ - lib/poolparty/modules/pretty_printer.rb
104
+ - lib/poolparty/modules/s3_string.rb
105
+ - lib/poolparty/modules/safe_instance.rb
212
106
  - lib/poolparty/monitors
213
- - lib/poolparty/monitors.rb
214
- - lib/poolparty/monitors/cpu.rb
215
- - lib/poolparty/monitors/memory.rb
216
- - lib/poolparty/monitors/web.rb
217
- - lib/poolparty/optioner.rb
218
- - lib/poolparty/plugin.rb
219
- - lib/poolparty/provider
220
- - lib/poolparty/provider.rb
221
- - lib/poolparty/provider/essential.rb
222
- - lib/poolparty/provider/git.rb
223
- - lib/poolparty/provider/haproxy.rb
224
- - lib/poolparty/provider/heartbeat.rb
225
- - lib/poolparty/provider/rsync.rb
226
- - lib/poolparty/provider/ruby.rb
227
- - lib/poolparty/provider/s3fuse.rb
228
- - lib/poolparty/remote_instance.rb
229
- - lib/poolparty/remoter.rb
230
- - lib/poolparty/remoting.rb
231
- - lib/poolparty/scheduler.rb
232
- - lib/poolparty/tasks
233
- - lib/poolparty/tasks.rb
234
- - lib/poolparty/tasks/cloud.rake
235
- - lib/poolparty/tasks/development.rake
236
- - lib/poolparty/tasks/ec2.rake
237
- - lib/poolparty/tasks/instance.rake
238
- - lib/poolparty/tasks/plugins.rake
239
- - lib/poolparty/tasks/server.rake
240
- - lib/poolparty/thread_pool.rb
241
- - lib/s3
242
- - lib/s3/s3_object_store_folders.rb
243
- - plugins
244
- - poolparty-0.1.2.gem
245
- - spec
246
- - spec/files
247
- - spec/files/describe_response
248
- - spec/files/multi_describe_response
249
- - spec/files/remote_desc_response
250
- - spec/helpers
251
- - spec/helpers/ec2_mock.rb
252
- - spec/lib
253
- - spec/lib/core
254
- - spec/lib/core/core_spec.rb
255
- - spec/lib/core/kernel_spec.rb
256
- - spec/lib/core/string_spec.rb
257
- - spec/lib/modules
258
- - spec/lib/modules/callback_spec.rb
259
- - spec/lib/modules/file_writer_spec.rb
260
- - spec/lib/poolparty
261
- - spec/lib/poolparty/application_spec.rb
262
- - spec/lib/poolparty/ec2_wrapper_spec.rb
263
- - spec/lib/poolparty/master_spec.rb
264
- - spec/lib/poolparty/optioner_spec.rb
265
- - spec/lib/poolparty/plugin_spec.rb
266
- - spec/lib/poolparty/poolparty_spec.rb
267
- - spec/lib/poolparty/provider_spec.rb
268
- - spec/lib/poolparty/remote_instance_spec.rb
269
- - spec/lib/poolparty/remoter_spec.rb
270
- - spec/lib/poolparty/remoting_spec.rb
271
- - spec/lib/poolparty/scheduler_spec.rb
272
- - spec/lib/s3
273
- - spec/monitors
274
- - spec/monitors/cpu_monitor_spec.rb
275
- - spec/monitors/memory_spec.rb
276
- - spec/monitors/misc_monitor_spec.rb
277
- - spec/monitors/web_spec.rb
278
- - spec/spec_helper.rb
279
- - poolparty.gemspec
107
+ - lib/poolparty/monitors/base_monitor.rb
108
+ - lib/poolparty/net
109
+ - lib/poolparty/net/remote.rb
110
+ - lib/poolparty/net/remote_bases
111
+ - lib/poolparty/net/remote_bases/ec2.rb
112
+ - lib/poolparty/net/remote_instance.rb
113
+ - lib/poolparty/net/remoter.rb
114
+ - lib/poolparty/net/remoter_base.rb
115
+ - lib/poolparty/plugins
116
+ - lib/poolparty/plugins/gem_package.rb
117
+ - lib/poolparty/plugins/line.rb
118
+ - lib/poolparty/plugins/svn.rb
119
+ - lib/poolparty/pool
120
+ - lib/poolparty/pool/base.rb
121
+ - lib/poolparty/pool/cloud.rb
122
+ - lib/poolparty/pool/custom_resource.rb
123
+ - lib/poolparty/pool/loggable.rb
124
+ - lib/poolparty/pool/plugin.rb
125
+ - lib/poolparty/pool/plugin_model.rb
126
+ - lib/poolparty/pool/pool.rb
127
+ - lib/poolparty/pool/resource.rb
128
+ - lib/poolparty/pool/resources
129
+ - lib/poolparty/pool/resources/class_package.rb
130
+ - lib/poolparty/pool/resources/cron.rb
131
+ - lib/poolparty/pool/resources/directory.rb
132
+ - lib/poolparty/pool/resources/exec.rb
133
+ - lib/poolparty/pool/resources/file.rb
134
+ - lib/poolparty/pool/resources/gem.rb
135
+ - lib/poolparty/pool/resources/host.rb
136
+ - lib/poolparty/pool/resources/package.rb
137
+ - lib/poolparty/pool/resources/remote_file.rb
138
+ - lib/poolparty/pool/resources/service.rb
139
+ - lib/poolparty/pool/resources/sshkey.rb
140
+ - lib/poolparty/pool/resources/variable.rb
141
+ - lib/poolparty/pool/script.rb
142
+ - lib/poolparty/templates
143
+ - lib/poolparty/templates/authkeys
144
+ - lib/poolparty/templates/cib.xml
145
+ - lib/poolparty/templates/fileserver.conf
146
+ - lib/poolparty/templates/ha.cf
147
+ - lib/poolparty/templates/haproxy.conf
148
+ - lib/poolparty/templates/namespaceauth.conf
149
+ - lib/poolparty/templates/puppet.conf
150
+ - lib/poolparty/version.rb
151
+ - lib/poolparty.rb
152
+ - lib/poolpartycl.rb
153
+ - tasks/cloud.rake
154
+ - tasks/deployment.rake
155
+ - tasks/development.rake
156
+ - tasks/ec2.rake
157
+ - tasks/environment.rake
158
+ - tasks/instance.rake
159
+ - tasks/server.rake
160
+ - tasks/spec.rake
161
+ - tasks/website.rake
162
+ - script/destroy
163
+ - script/generate
164
+ - script/txt2html
165
+ - generators/poolspec
166
+ - generators/poolspec/poolspec_generator.rb
167
+ - generators/poolspec/templates
168
+ - generators/poolspec/templates/pool_spec_template.erb
169
+ - generators/poolspec/USAGE
170
+ - bin/cloud
171
+ - bin/cloud-add-keypair
172
+ - bin/cloud-configure
173
+ - bin/cloud-contract
174
+ - bin/cloud-expand
175
+ - bin/cloud-list
176
+ - bin/cloud-maintain
177
+ - bin/cloud-provision
178
+ - bin/cloud-reconfigure
179
+ - bin/cloud-ssh
180
+ - bin/cloud-start
181
+ - bin/pool
182
+ - bin/pool-console
183
+ - bin/pool-describe
184
+ - bin/pool-list
185
+ - bin/pool-provision
186
+ - bin/pool-spec
187
+ - bin/pool-start
188
+ - bin/pool-start-monitor
189
+ - License.txt
280
190
  has_rdoc: true
281
191
  homepage: http://poolpartyrb.com
282
- post_install_message: "\n \n Get ready to jump in the pool, you just installed PoolParty! (Updated at 12:37PM, 07/30/08)\n\n Please check out the documentation for any questions or check out the google groups at\n http://groups.google.com/group/poolpartyrb\n\n Don't forget to check out the plugin tutorial @ http://poolpartyrb.com for extending PoolParty! \n\n For more information, check http://poolpartyrb.com\n On IRC: \n irc.freenode.net\n #poolpartyrb\n \n *** Ari Lerner @ <ari.lerner@citrusbyte.com> ***\n "
283
- rdoc_options:
284
- - --line-numbers
285
- - --inline-source
286
- - --title
287
- - Poolparty
288
- - --main
289
- - README
192
+ post_install_message:
193
+ rdoc_options: []
194
+
290
195
  require_paths:
291
196
  - lib
292
197
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -297,16 +202,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
297
202
  version:
298
203
  required_rubygems_version: !ruby/object:Gem::Requirement
299
204
  requirements:
300
- - - "="
205
+ - - ">="
301
206
  - !ruby/object:Gem::Version
302
- version: "1.2"
207
+ version: "0"
303
208
  version:
304
209
  requirements: []
305
210
 
306
- rubyforge_project: poolparty
211
+ rubyforge_project:
307
212
  rubygems_version: 1.2.0
308
213
  signing_key:
309
214
  specification_version: 2
310
- summary: Run your entire application off EC2, managed and auto-scaling
215
+ summary: Self-healing, auto-scaling cloud computing tool
311
216
  test_files: []
312
217