auser-poolparty 0.1.2 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
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