rubber 1.0.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 (163) hide show
  1. data/CHANGELOG +39 -0
  2. data/COPYING +339 -0
  3. data/README +6 -0
  4. data/TODO +11 -0
  5. data/VERSION +1 -0
  6. data/bin/vulcanize +41 -0
  7. data/generators/vulcanize/USAGE +6 -0
  8. data/generators/vulcanize/templates/apache/config/rubber/deploy-apache.rb +51 -0
  9. data/generators/vulcanize/templates/apache/config/rubber/role/apache/deflate.conf +10 -0
  10. data/generators/vulcanize/templates/apache/config/rubber/role/apache/expires.conf +9 -0
  11. data/generators/vulcanize/templates/apache/config/rubber/role/apache/headers.conf +6 -0
  12. data/generators/vulcanize/templates/apache/config/rubber/role/apache/monit-apache.conf +8 -0
  13. data/generators/vulcanize/templates/apache/config/rubber/role/apache/ports.conf +5 -0
  14. data/generators/vulcanize/templates/apache/config/rubber/role/apache/setenvif.conf +52 -0
  15. data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +62 -0
  16. data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache.auth +7 -0
  17. data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +30 -0
  18. data/generators/vulcanize/templates/apache/config/rubber/rubber-apache.yml +7 -0
  19. data/generators/vulcanize/templates/apache/templates.yml +1 -0
  20. data/generators/vulcanize/templates/base/Capfile +14 -0
  21. data/generators/vulcanize/templates/base/config/deploy.rb +55 -0
  22. data/generators/vulcanize/templates/base/config/rubber/common/crontab +16 -0
  23. data/generators/vulcanize/templates/base/config/rubber/common/profile.rc +9 -0
  24. data/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +104 -0
  25. data/generators/vulcanize/templates/base/config/rubber/rubber.yml +241 -0
  26. data/generators/vulcanize/templates/base/lib/tasks/rubber.rake +15 -0
  27. data/generators/vulcanize/templates/base/script/cron-rake +18 -0
  28. data/generators/vulcanize/templates/base/script/cron-runner +18 -0
  29. data/generators/vulcanize/templates/base/script/cron-sh +67 -0
  30. data/generators/vulcanize/templates/base/templates.yml +1 -0
  31. data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf +23 -0
  32. data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/nginx/nginx-mongrel.conf +113 -0
  33. data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/rubber-complete.yml +41 -0
  34. data/generators/vulcanize/templates/complete_mongrel_mysql/templates.yml +6 -0
  35. data/generators/vulcanize/templates/complete_passenger_mysql/config/rubber/role/haproxy/haproxy-passenger.conf +19 -0
  36. data/generators/vulcanize/templates/complete_passenger_mysql/config/rubber/rubber-complete.yml +40 -0
  37. data/generators/vulcanize/templates/complete_passenger_mysql/templates.yml +10 -0
  38. data/generators/vulcanize/templates/cruise/config/rubber/deploy-cruise.rb +72 -0
  39. data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/cruise +40 -0
  40. data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/my.cnf +165 -0
  41. data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/production.rb +8 -0
  42. data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/site_config.rb +76 -0
  43. data/generators/vulcanize/templates/cruise/config/rubber/role/web_tools/cruise-nginx.conf +11 -0
  44. data/generators/vulcanize/templates/cruise/config/rubber/rubber-cruise.yml +18 -0
  45. data/generators/vulcanize/templates/cruise/templates.yml +1 -0
  46. data/generators/vulcanize/templates/haproxy/config/rubber/deploy-haproxy.rb +45 -0
  47. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-base.conf +26 -0
  48. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-default.conf +8 -0
  49. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/monit-haproxy.conf +9 -0
  50. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +6 -0
  51. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslogd-default.conf +17 -0
  52. data/generators/vulcanize/templates/haproxy/config/rubber/role/web_tools/haproxy-nginx.conf +10 -0
  53. data/generators/vulcanize/templates/haproxy/config/rubber/rubber-haproxy.yml +7 -0
  54. data/generators/vulcanize/templates/haproxy/templates.yml +1 -0
  55. data/generators/vulcanize/templates/memcached/config/memcached.yml +28 -0
  56. data/generators/vulcanize/templates/memcached/config/rubber/common/memcached.yml +14 -0
  57. data/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached.conf +52 -0
  58. data/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached_munin_plugin +249 -0
  59. data/generators/vulcanize/templates/memcached/config/rubber/rubber-memcached.yml +7 -0
  60. data/generators/vulcanize/templates/memcached/templates.yml +1 -0
  61. data/generators/vulcanize/templates/minimal_mysql/templates.yml +7 -0
  62. data/generators/vulcanize/templates/minimal_nodb/templates.yml +6 -0
  63. data/generators/vulcanize/templates/mongrel/config/rubber/deploy-mongrel.rb +75 -0
  64. data/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/mongrel_cluster.yml +12 -0
  65. data/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/monit-mongrel.conf +20 -0
  66. data/generators/vulcanize/templates/mongrel/config/rubber/rubber-mongrel.yml +9 -0
  67. data/generators/vulcanize/templates/mongrel/templates.yml +1 -0
  68. data/generators/vulcanize/templates/monit/config/rubber/common/monit-default.conf +15 -0
  69. data/generators/vulcanize/templates/monit/config/rubber/common/monit.conf +251 -0
  70. data/generators/vulcanize/templates/monit/config/rubber/deploy-monit.rb +32 -0
  71. data/generators/vulcanize/templates/monit/config/rubber/role/web_tools/monit-admin-nginx.conf +10 -0
  72. data/generators/vulcanize/templates/monit/config/rubber/rubber-monit.yml +6 -0
  73. data/generators/vulcanize/templates/monit/templates.yml +1 -0
  74. data/generators/vulcanize/templates/munin/config/rubber/common/monit-munin.conf +8 -0
  75. data/generators/vulcanize/templates/munin/config/rubber/common/munin-node.conf +48 -0
  76. data/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +46 -0
  77. data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-nginx.conf +8 -0
  78. data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-plugins.conf +31 -0
  79. data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin.conf +80 -0
  80. data/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +8 -0
  81. data/generators/vulcanize/templates/munin/script/munin/example_mysql_query.rb +57 -0
  82. data/generators/vulcanize/templates/munin/script/munin/example_simple.rb +24 -0
  83. data/generators/vulcanize/templates/munin/templates.yml +1 -0
  84. data/generators/vulcanize/templates/mysql/config/rubber/common/database.yml +11 -0
  85. data/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +156 -0
  86. data/generators/vulcanize/templates/mysql/config/rubber/role/db/crontab +14 -0
  87. data/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf +10 -0
  88. data/generators/vulcanize/templates/mysql/config/rubber/role/db/my.cnf +167 -0
  89. data/generators/vulcanize/templates/mysql/config/rubber/role/mysql_slave/mysql_slave_munin_plugin +51 -0
  90. data/generators/vulcanize/templates/mysql/config/rubber/rubber-mysql.yml +46 -0
  91. data/generators/vulcanize/templates/mysql/templates.yml +1 -0
  92. data/generators/vulcanize/templates/mysql_cluster/config/rubber/common/mysql_cluster_migrations.rb +13 -0
  93. data/generators/vulcanize/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +173 -0
  94. data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_data/my.cnf +15 -0
  95. data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_mgm/ndb_mgmd.cnf +39 -0
  96. data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +10 -0
  97. data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/my.cnf +23 -0
  98. data/generators/vulcanize/templates/mysql_cluster/config/rubber/rubber-mysql_cluster.yml +32 -0
  99. data/generators/vulcanize/templates/mysql_cluster/templates.yml +1 -0
  100. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/database.yml +16 -0
  101. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf +10 -0
  102. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy +153 -0
  103. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.conf +10 -0
  104. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.lua +5 -0
  105. data/generators/vulcanize/templates/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +52 -0
  106. data/generators/vulcanize/templates/mysql_proxy/config/rubber/rubber-mysql_proxy.yml +11 -0
  107. data/generators/vulcanize/templates/mysql_proxy/templates.yml +1 -0
  108. data/generators/vulcanize/templates/nginx/config/rubber/deploy-nginx.rb +45 -0
  109. data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/crontab +9 -0
  110. data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/monit-nginx.conf +8 -0
  111. data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/nginx.conf +42 -0
  112. data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/nginx-tools.conf +55 -0
  113. data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-index.html +30 -0
  114. data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-nginx.auth +7 -0
  115. data/generators/vulcanize/templates/nginx/config/rubber/rubber-nginx.yml +10 -0
  116. data/generators/vulcanize/templates/nginx/templates.yml +1 -0
  117. data/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb +37 -0
  118. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-sudoers.conf +6 -0
  119. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger.conf +47 -0
  120. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf +46 -0
  121. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +10 -0
  122. data/generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml +12 -0
  123. data/generators/vulcanize/templates/passenger/templates.yml +1 -0
  124. data/generators/vulcanize/templates/sphinx/config/rubber/common/sphinx.yml +46 -0
  125. data/generators/vulcanize/templates/sphinx/config/rubber/deploy-sphinx.rb +112 -0
  126. data/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/crontab +11 -0
  127. data/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/monit-sphinx.conf +10 -0
  128. data/generators/vulcanize/templates/sphinx/config/rubber/rubber-sphinx.yml +6 -0
  129. data/generators/vulcanize/templates/sphinx/templates.yml +1 -0
  130. data/generators/vulcanize/vulcanize_generator.rb +67 -0
  131. data/lib/capistrano/hostcmd.rb +12 -0
  132. data/lib/rubber.rb +38 -0
  133. data/lib/rubber/capistrano.rb +1 -0
  134. data/lib/rubber/cloud.rb +13 -0
  135. data/lib/rubber/cloud/aws.rb +305 -0
  136. data/lib/rubber/cloud/base.rb +16 -0
  137. data/lib/rubber/configuration.rb +47 -0
  138. data/lib/rubber/dns.rb +13 -0
  139. data/lib/rubber/dns/base.rb +69 -0
  140. data/lib/rubber/dns/dyndns.rb +63 -0
  141. data/lib/rubber/dns/nettica.rb +73 -0
  142. data/lib/rubber/dns/zerigo.rb +131 -0
  143. data/lib/rubber/environment.rb +161 -0
  144. data/lib/rubber/generator.rb +197 -0
  145. data/lib/rubber/instance.rb +165 -0
  146. data/lib/rubber/recipes/rubber.rb +89 -0
  147. data/lib/rubber/recipes/rubber/bundles.rb +28 -0
  148. data/lib/rubber/recipes/rubber/deploy.rb +90 -0
  149. data/lib/rubber/recipes/rubber/instances.rb +348 -0
  150. data/lib/rubber/recipes/rubber/load_balancers.rb +44 -0
  151. data/lib/rubber/recipes/rubber/security_groups.rb +189 -0
  152. data/lib/rubber/recipes/rubber/setup.rb +357 -0
  153. data/lib/rubber/recipes/rubber/static_ips.rb +107 -0
  154. data/lib/rubber/recipes/rubber/utils.rb +203 -0
  155. data/lib/rubber/recipes/rubber/volumes.rb +264 -0
  156. data/lib/rubber/tasks/rubber.rb +221 -0
  157. data/lib/rubber/util.rb +37 -0
  158. data/test/environment_test.rb +118 -0
  159. data/test/generator_test.rb +323 -0
  160. data/test/instance_test.rb +93 -0
  161. data/test/test_helper.rb +4 -0
  162. data/test/util_test.rb +16 -0
  163. metadata +274 -0
@@ -0,0 +1,93 @@
1
+ require 'test/unit'
2
+ require 'tempfile'
3
+ require 'test_helper'
4
+
5
+ class InstanceTest < Test::Unit::TestCase
6
+ include Rubber::Configuration
7
+
8
+ def setup
9
+ @instance = Instance.new(Tempfile.new('testforrole').path)
10
+ @instance.add(@i1 = InstanceItem.new('host1', 'domain.com', [RoleItem.new('role1')], ''))
11
+ @instance.add(@i2 = InstanceItem.new('host2', 'domain.com', [RoleItem.new('role1')], ''))
12
+ @instance.add(@i3 = InstanceItem.new('host3', 'domain.com', [RoleItem.new('role2')], ''))
13
+ @instance.add(@i4 = InstanceItem.new('host4', 'domain.com', [RoleItem.new('role2', 'primary' => true)], ''))
14
+ end
15
+
16
+ def test_for_role
17
+ assert_equal 2, @instance.for_role('role1').size, 'not finding correct instances for role'
18
+ assert_equal 2, @instance.for_role('role2').size, 'not finding correct instances for role'
19
+ assert_equal 1, @instance.for_role('role2', {}).size, 'not finding correct instances for role'
20
+ assert_equal @i3, @instance.for_role('role2', {}).first, 'not finding correct instances for role'
21
+ assert_equal 1, @instance.for_role('role2', 'primary' => true).size, 'not finding correct instances for role'
22
+ assert_equal @i4, @instance.for_role('role2', 'primary' => true).first, 'not finding correct instances for role'
23
+ end
24
+
25
+ def test_filtered
26
+ assert_equal 4, @instance.filtered().size, 'should not filter for empty FILTER'
27
+
28
+ ENV['FILTER'] = 'host1'
29
+ setup
30
+ assert_equal [@i1], @instance.filtered(), 'should have only filtered host'
31
+
32
+ ENV['FILTER'] = 'host2 , host4'
33
+ setup
34
+ assert_equal [@i2, @i4], @instance.filtered(), 'should have only filtered hosts'
35
+
36
+ end
37
+
38
+ def test_equality
39
+ assert RoleItem.new('a').eql?(RoleItem.new('a'))
40
+ assert RoleItem.new('a') == RoleItem.new('a')
41
+ assert_equal RoleItem.new('a').hash, RoleItem.new('a').hash
42
+
43
+ assert ! RoleItem.new('a').eql?(RoleItem.new('b'))
44
+ assert RoleItem.new('a') != RoleItem.new('b')
45
+ assert_not_equal RoleItem.new('a').hash, RoleItem.new('b').hash
46
+
47
+ assert RoleItem.new('a', {'a' => 'b', 1 => true}).eql?(RoleItem.new('a', {'a' => 'b', 1 => true}))
48
+ assert RoleItem.new('a', {'a' => 'b', 1 => true}) == RoleItem.new('a', {'a' => 'b', 1 => true})
49
+ assert_equal RoleItem.new('a', {'a' => 'b', 1 => true}).hash, RoleItem.new('a', {'a' => 'b', 1 => true}).hash
50
+
51
+ assert ! RoleItem.new('a', {'a' => 'b', 1 => true}).eql?(RoleItem.new('a', {'a' => 'b', 2 => true}))
52
+ assert RoleItem.new('a', {'a' => 'b', 1 => true}) != RoleItem.new('a', {'a' => 'b', 2 => true})
53
+ assert_equal RoleItem.new('a', {'a' => 'b', 1 => true}).hash, RoleItem.new('a', {'a' => 'b', 2 => true}).hash
54
+ end
55
+
56
+ def test_role_parse
57
+ assert_equal RoleItem.new('a'), RoleItem.parse("a")
58
+ assert_equal RoleItem.new('a', {'b' => 'c'}), RoleItem.parse("a:b=c")
59
+ assert_equal RoleItem.new('a', {'b' => 'c', 'd' => 'e'}), RoleItem.parse("a:b=c;d=e")
60
+ assert_equal RoleItem.new('a', {'b' => true, 'c' => false}), RoleItem.parse("a:b=true;c=false")
61
+ end
62
+
63
+ def test_role_to_s
64
+ assert_equal "a", RoleItem.new('a').to_s
65
+ assert_equal "a:b=c", RoleItem.new('a', {'b' => 'c'}).to_s
66
+ assert_equal "a:b=c;d=e", RoleItem.new('a', {'b' => 'c', 'd' => 'e'}).to_s
67
+ assert_equal "a:b=true;c=false", RoleItem.new('a', {'b' => true, 'c' => false}).to_s
68
+ end
69
+
70
+ def test_expand_role_dependencies
71
+ deps = { RoleItem.new('a') => RoleItem.new('b'),
72
+ RoleItem.new('b') => RoleItem.new('c'),
73
+ RoleItem.new('c') => [RoleItem.new('d'), RoleItem.new('a')]}
74
+ roles = [RoleItem.new('a'),RoleItem.new('b'),RoleItem.new('c'),RoleItem.new('d')]
75
+ assert_equal roles, RoleItem.expand_role_dependencies(RoleItem.new('a'), deps).sort
76
+ assert_equal roles, RoleItem.expand_role_dependencies([RoleItem.new('a'), RoleItem.new('d')], deps).sort
77
+
78
+ deps = { RoleItem.new('mysql_master') => RoleItem.new('db', {'primary' => true}),
79
+ RoleItem.new('mysql_slave') => RoleItem.new('db'),
80
+ RoleItem.new('db', {'primary' => true}) => RoleItem.new('mysql_master'),
81
+ RoleItem.new('db') => RoleItem.new('mysql_slave')
82
+ }
83
+ assert_equal [RoleItem.new('db', 'primary' => true), RoleItem.new('mysql_master')],
84
+ RoleItem.expand_role_dependencies(RoleItem.new('mysql_master'), deps).sort
85
+ assert_equal [RoleItem.new('db', 'primary' => true), RoleItem.new('mysql_master')],
86
+ RoleItem.expand_role_dependencies(RoleItem.new('db', 'primary' => true), deps).sort
87
+ assert_equal [RoleItem.new('db'), RoleItem.new('mysql_slave')],
88
+ RoleItem.expand_role_dependencies(RoleItem.new('mysql_slave'), deps).sort
89
+ assert_equal [RoleItem.new('db'), RoleItem.new('mysql_slave')],
90
+ RoleItem.expand_role_dependencies(RoleItem.new('db'), deps).sort
91
+
92
+ end
93
+ end
@@ -0,0 +1,4 @@
1
+ $:.unshift "#{File.dirname(__FILE__)}/../lib"
2
+
3
+ require 'rubber'
4
+ Rubber::initialize(File.dirname(__FILE__), 'test')
data/test/util_test.rb ADDED
@@ -0,0 +1,16 @@
1
+ require 'test/unit'
2
+ require 'test_helper'
3
+
4
+ class UtilTest < Test::Unit::TestCase
5
+
6
+ def test_stringify
7
+ assert_equal "", Rubber::Util::stringify(nil)
8
+ assert_equal "hi", Rubber::Util::stringify("hi")
9
+ assert_equal "1", Rubber::Util::stringify(1)
10
+ assert_equal "3.4", Rubber::Util::stringify(3.4)
11
+ assert_equal ["1", "2", "r"], Rubber::Util::stringify([1, 2, "r"])
12
+ assert_equal({"1" => "2", "three" => "four"}, Rubber::Util::stringify({1 => 2, :three => "four"}))
13
+ assert_equal [{"3" => "4"}], Rubber::Util::stringify([{3 => 4}])
14
+ end
15
+
16
+ end
metadata ADDED
@@ -0,0 +1,274 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rubber
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Matt Conway
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-09-28 00:00:00 -04:00
13
+ default_executable: vulcanize
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: capistrano
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: amazon-ec2
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.5.0
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: aws-s3
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: "0"
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: nettica
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: httparty
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: rails
67
+ type: :runtime
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: "0"
74
+ version:
75
+ description: The rubber plugin enables relatively complex multi-instance deployments of RubyOnRails applications to Amazon's Elastic Compute Cloud (EC2). Like capistrano, rubber is role based, so you can define a set of configuration files for a role and then assign that role to as many concrete instances as needed. One can also assign multiple roles to a single instance. This lets one start out with a single ec2 instance (belonging to all roles), and add new instances into the mix as needed to scale specific facets of your deployment, e.g. adding in instances that serve only as an 'app' role to handle increased app server load.
76
+ email: matt@conwaysplace.com
77
+ executables:
78
+ - vulcanize
79
+ extensions: []
80
+
81
+ extra_rdoc_files:
82
+ - README
83
+ files:
84
+ - CHANGELOG
85
+ - COPYING
86
+ - README
87
+ - TODO
88
+ - VERSION
89
+ - bin/vulcanize
90
+ - generators/vulcanize/USAGE
91
+ - generators/vulcanize/templates/apache/config/rubber/deploy-apache.rb
92
+ - generators/vulcanize/templates/apache/config/rubber/role/apache/deflate.conf
93
+ - generators/vulcanize/templates/apache/config/rubber/role/apache/expires.conf
94
+ - generators/vulcanize/templates/apache/config/rubber/role/apache/headers.conf
95
+ - generators/vulcanize/templates/apache/config/rubber/role/apache/monit-apache.conf
96
+ - generators/vulcanize/templates/apache/config/rubber/role/apache/ports.conf
97
+ - generators/vulcanize/templates/apache/config/rubber/role/apache/setenvif.conf
98
+ - generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf
99
+ - generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache.auth
100
+ - generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html
101
+ - generators/vulcanize/templates/apache/config/rubber/rubber-apache.yml
102
+ - generators/vulcanize/templates/apache/templates.yml
103
+ - generators/vulcanize/templates/base/Capfile
104
+ - generators/vulcanize/templates/base/config/deploy.rb
105
+ - generators/vulcanize/templates/base/config/rubber/common/crontab
106
+ - generators/vulcanize/templates/base/config/rubber/common/profile.rc
107
+ - generators/vulcanize/templates/base/config/rubber/deploy-setup.rb
108
+ - generators/vulcanize/templates/base/config/rubber/rubber.yml
109
+ - generators/vulcanize/templates/base/lib/tasks/rubber.rake
110
+ - generators/vulcanize/templates/base/script/cron-rake
111
+ - generators/vulcanize/templates/base/script/cron-runner
112
+ - generators/vulcanize/templates/base/script/cron-sh
113
+ - generators/vulcanize/templates/base/templates.yml
114
+ - generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf
115
+ - generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/nginx/nginx-mongrel.conf
116
+ - generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/rubber-complete.yml
117
+ - generators/vulcanize/templates/complete_mongrel_mysql/templates.yml
118
+ - generators/vulcanize/templates/complete_passenger_mysql/config/rubber/role/haproxy/haproxy-passenger.conf
119
+ - generators/vulcanize/templates/complete_passenger_mysql/config/rubber/rubber-complete.yml
120
+ - generators/vulcanize/templates/complete_passenger_mysql/templates.yml
121
+ - generators/vulcanize/templates/cruise/config/rubber/deploy-cruise.rb
122
+ - generators/vulcanize/templates/cruise/config/rubber/role/cruise/cruise
123
+ - generators/vulcanize/templates/cruise/config/rubber/role/cruise/my.cnf
124
+ - generators/vulcanize/templates/cruise/config/rubber/role/cruise/production.rb
125
+ - generators/vulcanize/templates/cruise/config/rubber/role/cruise/site_config.rb
126
+ - generators/vulcanize/templates/cruise/config/rubber/role/web_tools/cruise-nginx.conf
127
+ - generators/vulcanize/templates/cruise/config/rubber/rubber-cruise.yml
128
+ - generators/vulcanize/templates/cruise/templates.yml
129
+ - generators/vulcanize/templates/haproxy/config/rubber/deploy-haproxy.rb
130
+ - generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-base.conf
131
+ - generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-default.conf
132
+ - generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/monit-haproxy.conf
133
+ - generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf
134
+ - generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslogd-default.conf
135
+ - generators/vulcanize/templates/haproxy/config/rubber/role/web_tools/haproxy-nginx.conf
136
+ - generators/vulcanize/templates/haproxy/config/rubber/rubber-haproxy.yml
137
+ - generators/vulcanize/templates/haproxy/templates.yml
138
+ - generators/vulcanize/templates/memcached/config/memcached.yml
139
+ - generators/vulcanize/templates/memcached/config/rubber/common/memcached.yml
140
+ - generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached.conf
141
+ - generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached_munin_plugin
142
+ - generators/vulcanize/templates/memcached/config/rubber/rubber-memcached.yml
143
+ - generators/vulcanize/templates/memcached/templates.yml
144
+ - generators/vulcanize/templates/minimal_mysql/templates.yml
145
+ - generators/vulcanize/templates/minimal_nodb/templates.yml
146
+ - generators/vulcanize/templates/mongrel/config/rubber/deploy-mongrel.rb
147
+ - generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/mongrel_cluster.yml
148
+ - generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/monit-mongrel.conf
149
+ - generators/vulcanize/templates/mongrel/config/rubber/rubber-mongrel.yml
150
+ - generators/vulcanize/templates/mongrel/templates.yml
151
+ - generators/vulcanize/templates/monit/config/rubber/common/monit-default.conf
152
+ - generators/vulcanize/templates/monit/config/rubber/common/monit.conf
153
+ - generators/vulcanize/templates/monit/config/rubber/deploy-monit.rb
154
+ - generators/vulcanize/templates/monit/config/rubber/role/web_tools/monit-admin-nginx.conf
155
+ - generators/vulcanize/templates/monit/config/rubber/rubber-monit.yml
156
+ - generators/vulcanize/templates/monit/templates.yml
157
+ - generators/vulcanize/templates/munin/config/rubber/common/monit-munin.conf
158
+ - generators/vulcanize/templates/munin/config/rubber/common/munin-node.conf
159
+ - generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb
160
+ - generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-nginx.conf
161
+ - generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-plugins.conf
162
+ - generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin.conf
163
+ - generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml
164
+ - generators/vulcanize/templates/munin/script/munin/example_mysql_query.rb
165
+ - generators/vulcanize/templates/munin/script/munin/example_simple.rb
166
+ - generators/vulcanize/templates/munin/templates.yml
167
+ - generators/vulcanize/templates/mysql/config/rubber/common/database.yml
168
+ - generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb
169
+ - generators/vulcanize/templates/mysql/config/rubber/role/db/crontab
170
+ - generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf
171
+ - generators/vulcanize/templates/mysql/config/rubber/role/db/my.cnf
172
+ - generators/vulcanize/templates/mysql/config/rubber/role/mysql_slave/mysql_slave_munin_plugin
173
+ - generators/vulcanize/templates/mysql/config/rubber/rubber-mysql.yml
174
+ - generators/vulcanize/templates/mysql/templates.yml
175
+ - generators/vulcanize/templates/mysql_cluster/config/rubber/common/mysql_cluster_migrations.rb
176
+ - generators/vulcanize/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb
177
+ - generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_data/my.cnf
178
+ - generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_mgm/ndb_mgmd.cnf
179
+ - generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf
180
+ - generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/my.cnf
181
+ - generators/vulcanize/templates/mysql_cluster/config/rubber/rubber-mysql_cluster.yml
182
+ - generators/vulcanize/templates/mysql_cluster/templates.yml
183
+ - generators/vulcanize/templates/mysql_proxy/config/rubber/common/database.yml
184
+ - generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf
185
+ - generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy
186
+ - generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.conf
187
+ - generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.lua
188
+ - generators/vulcanize/templates/mysql_proxy/config/rubber/deploy-mysql_proxy.rb
189
+ - generators/vulcanize/templates/mysql_proxy/config/rubber/rubber-mysql_proxy.yml
190
+ - generators/vulcanize/templates/mysql_proxy/templates.yml
191
+ - generators/vulcanize/templates/nginx/config/rubber/deploy-nginx.rb
192
+ - generators/vulcanize/templates/nginx/config/rubber/role/nginx/crontab
193
+ - generators/vulcanize/templates/nginx/config/rubber/role/nginx/monit-nginx.conf
194
+ - generators/vulcanize/templates/nginx/config/rubber/role/nginx/nginx.conf
195
+ - generators/vulcanize/templates/nginx/config/rubber/role/web_tools/nginx-tools.conf
196
+ - generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-index.html
197
+ - generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-nginx.auth
198
+ - generators/vulcanize/templates/nginx/config/rubber/rubber-nginx.yml
199
+ - generators/vulcanize/templates/nginx/templates.yml
200
+ - generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb
201
+ - generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-sudoers.conf
202
+ - generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger.conf
203
+ - generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf
204
+ - generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf
205
+ - generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml
206
+ - generators/vulcanize/templates/passenger/templates.yml
207
+ - generators/vulcanize/templates/sphinx/config/rubber/common/sphinx.yml
208
+ - generators/vulcanize/templates/sphinx/config/rubber/deploy-sphinx.rb
209
+ - generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/crontab
210
+ - generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/monit-sphinx.conf
211
+ - generators/vulcanize/templates/sphinx/config/rubber/rubber-sphinx.yml
212
+ - generators/vulcanize/templates/sphinx/templates.yml
213
+ - generators/vulcanize/vulcanize_generator.rb
214
+ - lib/capistrano/hostcmd.rb
215
+ - lib/rubber.rb
216
+ - lib/rubber/capistrano.rb
217
+ - lib/rubber/cloud.rb
218
+ - lib/rubber/cloud/aws.rb
219
+ - lib/rubber/cloud/base.rb
220
+ - lib/rubber/configuration.rb
221
+ - lib/rubber/dns.rb
222
+ - lib/rubber/dns/base.rb
223
+ - lib/rubber/dns/dyndns.rb
224
+ - lib/rubber/dns/nettica.rb
225
+ - lib/rubber/dns/zerigo.rb
226
+ - lib/rubber/environment.rb
227
+ - lib/rubber/generator.rb
228
+ - lib/rubber/instance.rb
229
+ - lib/rubber/recipes/rubber.rb
230
+ - lib/rubber/recipes/rubber/bundles.rb
231
+ - lib/rubber/recipes/rubber/deploy.rb
232
+ - lib/rubber/recipes/rubber/instances.rb
233
+ - lib/rubber/recipes/rubber/load_balancers.rb
234
+ - lib/rubber/recipes/rubber/security_groups.rb
235
+ - lib/rubber/recipes/rubber/setup.rb
236
+ - lib/rubber/recipes/rubber/static_ips.rb
237
+ - lib/rubber/recipes/rubber/utils.rb
238
+ - lib/rubber/recipes/rubber/volumes.rb
239
+ - lib/rubber/tasks/rubber.rb
240
+ - lib/rubber/util.rb
241
+ has_rdoc: true
242
+ homepage: http://github.com/wr0ngway/rubber
243
+ licenses: []
244
+
245
+ post_install_message:
246
+ rdoc_options:
247
+ - --charset=UTF-8
248
+ require_paths:
249
+ - lib
250
+ required_ruby_version: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: "0"
255
+ version:
256
+ required_rubygems_version: !ruby/object:Gem::Requirement
257
+ requirements:
258
+ - - ">="
259
+ - !ruby/object:Gem::Version
260
+ version: "0"
261
+ version:
262
+ requirements: []
263
+
264
+ rubyforge_project: rubber
265
+ rubygems_version: 1.3.4
266
+ signing_key:
267
+ specification_version: 3
268
+ summary: A capistrano plugin for managing multi-instance deployments to the cloud (ec2)
269
+ test_files:
270
+ - test/environment_test.rb
271
+ - test/generator_test.rb
272
+ - test/instance_test.rb
273
+ - test/test_helper.rb
274
+ - test/util_test.rb