rubber 1.15.0 → 2.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (574) hide show
  1. data/.travis.yml +10 -0
  2. data/CHANGELOG +68 -1
  3. data/Gemfile +4 -0
  4. data/{COPYING → LICENSE} +0 -0
  5. data/Rakefile +89 -0
  6. data/bin/rubber +17 -0
  7. data/lib/rubber.rb +12 -6
  8. data/lib/rubber/cli.rb +30 -0
  9. data/lib/rubber/cloud.rb +2 -1
  10. data/lib/rubber/cloud/aws.rb +58 -298
  11. data/lib/rubber/cloud/aws_table_store.rb +127 -0
  12. data/lib/rubber/cloud/fog.rb +313 -0
  13. data/lib/rubber/cloud/fog_storage.rb +143 -0
  14. data/lib/rubber/commands/config.rb +70 -0
  15. data/lib/rubber/commands/cron.rb +127 -0
  16. data/lib/rubber/commands/util.rb +308 -0
  17. data/lib/rubber/commands/vulcanize.rb +197 -0
  18. data/lib/rubber/configuration.rb +20 -9
  19. data/lib/rubber/dns.rb +2 -1
  20. data/lib/rubber/dns/base.rb +6 -8
  21. data/lib/rubber/dns/fog.rb +117 -0
  22. data/lib/rubber/dns/nettica.rb +6 -1
  23. data/lib/rubber/dns/zerigo.rb +8 -103
  24. data/lib/rubber/environment.rb +25 -6
  25. data/lib/rubber/generator.rb +2 -0
  26. data/lib/rubber/instance.rb +121 -19
  27. data/lib/rubber/recipes/rubber.rb +3 -4
  28. data/lib/rubber/recipes/rubber/deploy.rb +12 -12
  29. data/lib/rubber/recipes/rubber/instances.rb +30 -31
  30. data/lib/rubber/recipes/rubber/security_groups.rb +2 -2
  31. data/lib/rubber/recipes/rubber/setup.rb +139 -42
  32. data/lib/rubber/recipes/rubber/utils.rb +12 -7
  33. data/lib/rubber/recipes/rubber/volumes.rb +2 -2
  34. data/lib/rubber/tag.rb +3 -8
  35. data/lib/rubber/util.rb +43 -22
  36. data/lib/rubber/version.rb +4 -0
  37. data/rubber.gemspec +44 -0
  38. data/{generators/vulcanize/templates → templates}/apache/config/rubber/deploy-apache.rb +2 -2
  39. data/{generators/vulcanize/templates → templates}/apache/config/rubber/role/apache/deflate.conf +0 -0
  40. data/{generators/vulcanize/templates → templates}/apache/config/rubber/role/apache/expires.conf +0 -0
  41. data/{generators/vulcanize/templates → templates}/apache/config/rubber/role/apache/headers.conf +0 -0
  42. data/{generators/vulcanize/templates → templates}/apache/config/rubber/role/apache/ports.conf +0 -0
  43. data/{generators/vulcanize/templates → templates}/apache/config/rubber/role/apache/setenvif.conf +0 -0
  44. data/{generators/vulcanize/templates → templates}/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +51 -23
  45. data/{lib/generators/vulcanize/templates → templates}/apache/config/rubber/role/web_tools/tools-apache.auth +1 -1
  46. data/templates/apache/config/rubber/role/web_tools/tools-index.html +38 -0
  47. data/{generators/vulcanize/templates → templates}/apache/config/rubber/rubber-apache.yml +0 -0
  48. data/{generators/vulcanize/templates → templates}/apache/templates.yml +0 -0
  49. data/{lib/generators/vulcanize/templates → templates}/base/Capfile +6 -0
  50. data/{lib/generators/vulcanize/templates → templates}/base/config/deploy.rb +13 -3
  51. data/templates/base/config/rubber/common/crontab +21 -0
  52. data/{generators/vulcanize/templates → templates}/base/config/rubber/common/rsyslog.conf +0 -0
  53. data/{generators/vulcanize/templates → templates}/base/config/rubber/common/rubber.profile +4 -4
  54. data/{lib/generators/vulcanize/templates → templates}/base/config/rubber/deploy-setup.rb +1 -1
  55. data/{lib/generators/vulcanize/templates → templates}/base/config/rubber/deploy-util.rb +17 -23
  56. data/{lib/generators/vulcanize/templates → templates}/base/config/rubber/rubber-dns.yml +7 -0
  57. data/{lib/generators/vulcanize/templates → templates}/base/config/rubber/rubber-rvm.yml +6 -6
  58. data/{lib/generators/vulcanize/templates → templates}/base/config/rubber/rubber.yml +54 -20
  59. data/templates/base/script/rubber +8 -0
  60. data/templates/base/templates.rb +7 -0
  61. data/templates/base/templates.yml +1 -0
  62. data/{lib/generators/vulcanize/templates → templates}/cassandra/config/rubber/deploy-cassandra.rb +1 -1
  63. data/{generators/vulcanize/templates → templates}/cassandra/config/rubber/role/cassandra/cassandra.in.sh +0 -0
  64. data/{generators/vulcanize/templates → templates}/cassandra/config/rubber/role/cassandra/cassandra.yaml +0 -0
  65. data/{generators/vulcanize/templates → templates}/cassandra/config/rubber/role/cassandra/log4j-server.properties +0 -0
  66. data/{generators/vulcanize/templates → templates}/cassandra/config/rubber/rubber-cassandra.yml +0 -0
  67. data/{generators/vulcanize/templates → templates}/cassandra/templates.yml +0 -0
  68. data/templates/collectd/config/rubber/deploy-collectd.rb +48 -0
  69. data/templates/collectd/config/rubber/role/collectd/collectd.conf +69 -0
  70. data/templates/collectd/config/rubber/role/collectd/filters.conf +35 -0
  71. data/templates/collectd/config/rubber/role/collectd/thresholds.conf +76 -0
  72. data/templates/collectd/config/rubber/role/collectd/types.db +5 -0
  73. data/templates/collectd/config/rubber/role/passenger/collectd-passenger.conf +7 -0
  74. data/templates/collectd/config/rubber/role/passenger/collectd-passenger.rb.conf +77 -0
  75. data/{lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-sudoers.conf → templates/collectd/config/rubber/role/passenger/passenger-status-sudoers.conf} +1 -1
  76. data/templates/collectd/config/rubber/role/postgresql/collectd-postgresql.conf +22 -0
  77. data/templates/collectd/config/rubber/role/postgresql_slave/collectd-postgresql-threshold.conf +23 -0
  78. data/templates/collectd/config/rubber/rubber-collectd.yml +8 -0
  79. data/templates/collectd/script/collectd/collectd-runner.rb +107 -0
  80. data/templates/collectd/script/collectd/role/examples/example_db_query.rb +19 -0
  81. data/templates/collectd/script/collectd/role/examples/example_simple.rb +1 -0
  82. data/templates/collectd/script/collectd/role/postgresql_slave/replication_status.rb +31 -0
  83. data/templates/collectd/script/collectd/role/redis/redis_info.rb +28 -0
  84. data/templates/collectd/script/collectd/role/resque_worker/global_worker_stats.rb +12 -0
  85. data/templates/collectd/script/collectd/role/resque_worker/host_worker_stats.rb +70 -0
  86. data/templates/collectd/script/collectd/role/resque_worker/resque_jobs_processed.rb +8 -0
  87. data/templates/collectd/templates.yml +2 -0
  88. data/{generators/vulcanize/templates → templates}/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf +0 -0
  89. data/{generators/vulcanize/templates → templates}/complete_mongrel_mysql/config/rubber/role/nginx/nginx-mongrel.conf +5 -5
  90. data/{lib/generators/vulcanize/templates → templates}/complete_mongrel_mysql/config/rubber/rubber-complete.yml +1 -1
  91. data/{lib/generators/vulcanize/templates → templates}/complete_mongrel_mysql/templates.yml +2 -2
  92. data/{generators/vulcanize/templates → templates}/complete_passenger/config/rubber/role/haproxy/haproxy-passenger.conf +0 -0
  93. data/{lib/generators/vulcanize/templates → templates}/complete_passenger/config/rubber/rubber-complete.yml +1 -1
  94. data/{generators/vulcanize/templates → templates}/complete_passenger/templates.rb +0 -0
  95. data/{generators/vulcanize/templates → templates}/complete_passenger/templates.yml +4 -2
  96. data/{generators/vulcanize/templates → templates}/complete_passenger_mysql/templates.yml +0 -0
  97. data/{generators/vulcanize/templates → templates}/complete_passenger_nginx/config/rubber/role/haproxy/haproxy-passenger.conf +0 -0
  98. data/{generators/vulcanize/templates → templates}/complete_passenger_nginx/config/rubber/rubber-complete.yml +0 -0
  99. data/{generators/vulcanize/templates → templates}/complete_passenger_nginx/templates.rb +0 -0
  100. data/{generators/vulcanize/templates → templates}/complete_passenger_nginx/templates.yml +2 -2
  101. data/{generators/vulcanize/templates → templates}/complete_passenger_nginx_mysql/templates.yml +0 -0
  102. data/{generators/vulcanize/templates → templates}/complete_passenger_nginx_postgresql/templates.yml +0 -0
  103. data/{generators/vulcanize/templates → templates}/complete_passenger_postgresql/templates.yml +0 -0
  104. data/{generators/vulcanize/templates → templates}/cruise/config/rubber/deploy-cruise.rb +0 -0
  105. data/{generators/vulcanize/templates → templates}/cruise/config/rubber/role/cruise/cruise +0 -0
  106. data/{generators/vulcanize/templates → templates}/cruise/config/rubber/role/cruise/my.cnf +0 -0
  107. data/{generators/vulcanize/templates → templates}/cruise/config/rubber/role/cruise/production.rb +0 -0
  108. data/{generators/vulcanize/templates → templates}/cruise/config/rubber/role/cruise/site_config.rb +1 -1
  109. data/{generators/vulcanize/templates → templates}/cruise/config/rubber/role/web_tools/cruise-nginx.conf +0 -0
  110. data/{generators/vulcanize/templates → templates}/cruise/config/rubber/rubber-cruise.yml +6 -0
  111. data/{generators/vulcanize/templates → templates}/cruise/templates.yml +0 -0
  112. data/templates/elasticsearch/config/rubber/deploy-elasticsearch.rb +47 -0
  113. data/templates/elasticsearch/config/rubber/role/elasticsearch/elasticsearch-upstart.conf +23 -0
  114. data/templates/elasticsearch/config/rubber/role/elasticsearch/elasticsearch.yml +348 -0
  115. data/templates/elasticsearch/config/rubber/role/elasticsearch/logging.yml +48 -0
  116. data/templates/elasticsearch/config/rubber/rubber-elasticsearch.yml +12 -0
  117. data/templates/elasticsearch/templates.yml +2 -0
  118. data/templates/graphite/config/rubber/deploy-graphite.rb +255 -0
  119. data/templates/graphite/config/rubber/role/collectd/graphite-collectd.conf +19 -0
  120. data/templates/graphite/config/rubber/role/graphite_server/carbon.conf +232 -0
  121. data/templates/graphite/config/rubber/role/graphite_server/graphite-collectd-ping.conf +11 -0
  122. data/templates/graphite/config/rubber/role/graphite_server/graphite_server-upstart.conf +16 -0
  123. data/templates/graphite/config/rubber/role/graphite_server/storage-schemas.conf +19 -0
  124. data/templates/graphite/config/rubber/role/graphite_web/crontab +8 -0
  125. data/templates/graphite/config/rubber/role/graphite_web/dashboard.conf +60 -0
  126. data/templates/graphite/config/rubber/role/graphite_web/graphite-vhost.conf +62 -0
  127. data/templates/graphite/config/rubber/role/graphite_web/graphite.wsgi +10 -0
  128. data/templates/graphite/config/rubber/role/graphite_web/local_settings.py +98 -0
  129. data/templates/graphite/config/rubber/rubber-graphite.yml +20 -0
  130. data/templates/graphite/templates.yml +1 -0
  131. data/templates/graylog/config/initializers/graylog.rb +53 -0
  132. data/templates/graylog/config/rubber/deploy-graylog.rb +118 -0
  133. data/templates/graylog/config/rubber/role/common/graylog-rsyslog.conf +32 -0
  134. data/templates/graylog/config/rubber/role/graylog_server/graylog2.conf +67 -0
  135. data/templates/graylog/config/rubber/role/graylog_server/graylog_server-upstart.conf +22 -0
  136. data/templates/graylog/config/rubber/role/graylog_web/crontab +9 -0
  137. data/templates/graylog/config/rubber/role/graylog_web/email.yml +16 -0
  138. data/templates/graylog/config/rubber/role/graylog_web/general.yml +27 -0
  139. data/templates/graylog/config/rubber/role/graylog_web/graylog_web-upstart.conf +21 -0
  140. data/templates/graylog/config/rubber/role/graylog_web/mongoid.yml +28 -0
  141. data/templates/graylog/config/rubber/rubber-graylog.yml +42 -0
  142. data/templates/graylog/templates.rb +5 -0
  143. data/templates/graylog/templates.yml +5 -0
  144. data/{lib/generators/vulcanize/templates → templates}/haproxy/config/rubber/deploy-haproxy.rb +2 -2
  145. data/{generators/vulcanize/templates → templates}/haproxy/config/rubber/role/haproxy/haproxy-base.conf +0 -0
  146. data/{generators/vulcanize/templates → templates}/haproxy/config/rubber/role/haproxy/haproxy-default.conf +0 -0
  147. data/{generators/vulcanize/templates → templates}/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +0 -0
  148. data/{generators/vulcanize/templates → templates}/haproxy/config/rubber/role/haproxy/syslogd-default.conf +0 -0
  149. data/{generators/vulcanize/templates → templates}/haproxy/config/rubber/role/web_tools/haproxy-nginx.conf +0 -0
  150. data/templates/haproxy/config/rubber/role/web_tools/rubber-web-tools-haproxy.html +18 -0
  151. data/{generators/vulcanize/templates → templates}/haproxy/config/rubber/rubber-haproxy.yml +0 -0
  152. data/{generators/vulcanize/templates → templates}/haproxy/templates.yml +0 -0
  153. data/{generators/vulcanize/templates → templates}/jetty/config/rubber/deploy-jetty.rb +0 -0
  154. data/{generators/vulcanize/templates → templates}/jetty/config/rubber/role/jetty/jetty.sh +0 -0
  155. data/{generators/vulcanize/templates → templates}/jetty/config/rubber/role/jetty/jetty.xml +0 -0
  156. data/{generators/vulcanize/templates → templates}/jetty/config/rubber/rubber-jetty.yml +0 -0
  157. data/{generators/vulcanize/templates → templates}/jetty/templates.yml +0 -0
  158. data/{generators/vulcanize/templates → templates}/memcached/config/memcached.yml +0 -0
  159. data/{generators/vulcanize/templates → templates}/memcached/config/rubber/common/memcached.yml +2 -2
  160. data/{generators/vulcanize/templates → templates}/memcached/config/rubber/role/memcached/memcached.conf +0 -0
  161. data/{generators/vulcanize/templates → templates}/memcached/config/rubber/rubber-memcached.yml +0 -0
  162. data/{generators/vulcanize/templates → templates}/memcached/templates.yml +0 -0
  163. data/{generators/vulcanize/templates → templates}/minimal_mysql/templates.yml +0 -0
  164. data/{generators/vulcanize/templates → templates}/minimal_nodb/templates.yml +0 -0
  165. data/{generators/vulcanize/templates → templates}/minimal_passenger_nginx/config/rubber/rubber-complete.yml +0 -0
  166. data/{generators/vulcanize/templates → templates}/minimal_passenger_nginx/templates.yml +0 -0
  167. data/{lib/generators/vulcanize/templates → templates}/mongodb/config/rubber/deploy-mongodb.rb +17 -14
  168. data/templates/mongodb/config/rubber/role/mongodb/mongodb-defaults.conf +5 -0
  169. data/{lib/generators/vulcanize/templates → templates}/mongodb/config/rubber/role/mongodb/mongodb.conf +4 -1
  170. data/{generators/vulcanize/templates → templates}/mongodb/config/rubber/rubber-mongodb.yml +0 -0
  171. data/templates/mongodb/templates.yml +1 -0
  172. data/{generators/vulcanize/templates → templates}/mongrel/config/rubber/deploy-mongrel.rb +1 -1
  173. data/{generators/vulcanize/templates → templates}/mongrel/config/rubber/role/mongrel/mongrel_cluster.yml +3 -3
  174. data/{lib/generators/vulcanize/templates → templates}/mongrel/config/rubber/rubber-mongrel.yml +1 -1
  175. data/{generators/vulcanize/templates → templates}/mongrel/templates.yml +0 -0
  176. data/{lib/generators/vulcanize/templates → templates}/monit/config/rubber/deploy-monit.rb +4 -4
  177. data/{lib/generators/vulcanize/templates/apache → templates/monit}/config/rubber/role/apache/monit-apache.conf +1 -1
  178. data/{generators/vulcanize/templates/cassandra → templates/monit}/config/rubber/role/cassandra/monit-cassandra.conf +1 -1
  179. data/templates/monit/config/rubber/role/elasticsearch/monit-elasticsearch.conf +8 -0
  180. data/templates/monit/config/rubber/role/graphite_server/monit-graphite_server.conf +8 -0
  181. data/templates/monit/config/rubber/role/graylog_server/monit-graylog_server.conf +8 -0
  182. data/templates/monit/config/rubber/role/graylog_web/monit-graylog_web.conf +8 -0
  183. data/{generators/vulcanize/templates/haproxy → templates/monit}/config/rubber/role/haproxy/monit-haproxy.conf +1 -1
  184. data/{generators/vulcanize/templates/jetty → templates/monit}/config/rubber/role/jetty/monit-jetty.conf +1 -1
  185. data/{lib/generators/vulcanize/templates/mongodb/config/rubber/role/mongodb/monit-mongodb.cnf → templates/monit/config/rubber/role/mongodb/monit-mongodb.conf} +2 -2
  186. data/{generators/vulcanize/templates/mongrel → templates/monit}/config/rubber/role/mongrel/monit-mongrel.conf +4 -4
  187. data/{generators/vulcanize/templates/monit/config/rubber/common → templates/monit/config/rubber/role/monit}/monit-default.conf +0 -0
  188. data/{generators/vulcanize/templates/base/config/rubber/common → templates/monit/config/rubber/role/monit}/monit-postfix.conf +0 -0
  189. data/{generators/vulcanize/templates/monit/config/rubber/common → templates/monit/config/rubber/role/monit}/monit.conf +0 -0
  190. data/{generators/vulcanize/templates/munin/config/rubber/common → templates/monit/config/rubber/role/munin}/monit-munin.conf +0 -0
  191. data/{lib/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf → templates/monit/config/rubber/role/mysql/monit-mysql.conf} +1 -1
  192. data/{lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf → templates/monit/config/rubber/role/mysql_proxy/monit-mysql_proxy.conf} +1 -1
  193. data/{generators/vulcanize/templates/nginx → templates/monit}/config/rubber/role/nginx/monit-nginx.conf +1 -1
  194. data/{generators/vulcanize/templates/passenger_nginx → templates/monit}/config/rubber/role/passenger_nginx/monit-nginx.conf +1 -1
  195. data/{lib/generators/vulcanize/templates/postgresql/config/rubber/role/db → templates/monit/config/rubber/role/postgresql}/monit-postgresql.conf +1 -1
  196. data/templates/monit/config/rubber/role/redis/monit-redis.conf +8 -0
  197. data/templates/monit/config/rubber/role/resque_web/monit-resque_web.conf +10 -0
  198. data/templates/monit/config/rubber/role/resque_worker/monit-resque_pool.conf +8 -0
  199. data/{generators/vulcanize/templates/sphinx → templates/monit}/config/rubber/role/sphinx/monit-sphinx.conf +4 -4
  200. data/{generators/vulcanize/templates → templates}/monit/config/rubber/role/web_tools/monit-admin-nginx.conf +0 -0
  201. data/templates/monit/config/rubber/role/web_tools/rubber-web-tools-monit.html +19 -0
  202. data/templates/monit/config/rubber/rubber-monit.yml +11 -0
  203. data/{generators/vulcanize/templates → templates}/monit/templates.yml +1 -0
  204. data/templates/munin/config/rubber/deploy-munin.rb +81 -0
  205. data/{generators/vulcanize/templates/memcached → templates/munin}/config/rubber/role/memcached/memcached_munin_plugin +0 -0
  206. data/{generators/vulcanize/templates/munin/config/rubber/common → templates/munin/config/rubber/role/munin}/munin-node.conf +0 -0
  207. data/{generators/vulcanize/templates/munin/config/rubber/common → templates/munin/config/rubber/role/munin}/munin-plugins.conf +0 -0
  208. data/{generators/vulcanize/templates/mysql → templates/munin}/config/rubber/role/mysql_slave/mysql_slave_munin_plugin +0 -0
  209. data/{generators/vulcanize/templates/passenger → templates/munin}/config/rubber/role/passenger/munin-passenger-memory.conf +0 -0
  210. data/{generators/vulcanize/templates/passenger → templates/munin}/config/rubber/role/passenger/munin-passenger-sudoers.conf +0 -0
  211. data/{generators/vulcanize/templates/passenger → templates/munin}/config/rubber/role/passenger/munin-passenger.conf +0 -0
  212. data/{generators/vulcanize/templates/passenger_nginx → templates/munin}/config/rubber/role/passenger_nginx/munin-passenger-memory.conf +0 -0
  213. data/{generators/vulcanize/templates/passenger_nginx → templates/munin}/config/rubber/role/passenger_nginx/munin-passenger-sudoers.conf +0 -0
  214. data/{generators/vulcanize/templates/passenger_nginx → templates/munin}/config/rubber/role/passenger_nginx/munin-passenger.conf +0 -0
  215. data/{generators/vulcanize/templates/postgresql/config/rubber/role/db → templates/munin/config/rubber/role/postgresql}/munin-postgresql.conf +0 -0
  216. data/{generators/vulcanize/templates → templates}/munin/config/rubber/role/web_tools/munin-nginx.conf +0 -0
  217. data/{lib/generators/vulcanize/templates → templates}/munin/config/rubber/role/web_tools/munin-plugins.conf +3 -3
  218. data/{generators/vulcanize/templates → templates}/munin/config/rubber/role/web_tools/munin.conf +0 -0
  219. data/templates/munin/config/rubber/role/web_tools/rubber-web-tools-munin.html +16 -0
  220. data/templates/munin/config/rubber/rubber-munin.yml +12 -0
  221. data/{lib/generators/vulcanize/templates → templates}/munin/script/munin/example_mysql_query.rb +1 -1
  222. data/{lib/generators/vulcanize/templates → templates}/munin/script/munin/example_simple.rb +1 -1
  223. data/{generators/vulcanize/templates → templates}/munin/templates.yml +1 -0
  224. data/{generators/vulcanize/templates → templates}/mysql/config/rubber/common/database.yml +3 -3
  225. data/{lib/generators/vulcanize/templates → templates}/mysql/config/rubber/deploy-mysql.rb +1 -15
  226. data/{generators/vulcanize/templates → templates}/mysql/config/rubber/role/db/apparmor-mysql.conf +0 -0
  227. data/{lib/generators/vulcanize/templates → templates}/mysql/config/rubber/role/db/crontab +3 -1
  228. data/{generators/vulcanize/templates → templates}/mysql/config/rubber/role/db/my.cnf +0 -0
  229. data/{generators/vulcanize/templates → templates}/mysql/config/rubber/rubber-mysql.yml +9 -10
  230. data/{generators/vulcanize/templates → templates}/mysql/templates.yml +0 -0
  231. data/{lib/generators/vulcanize/templates → templates}/mysql_cluster/config/rubber/common/mysql_cluster_migrations.rb +1 -1
  232. data/{generators/vulcanize/templates → templates}/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +3 -3
  233. data/{generators/vulcanize/templates → templates}/mysql_cluster/config/rubber/role/mysql_data/my.cnf +0 -0
  234. data/{generators/vulcanize/templates → templates}/mysql_cluster/config/rubber/role/mysql_mgm/ndb_mgmd.cnf +0 -0
  235. data/{generators/vulcanize/templates → templates}/mysql_cluster/config/rubber/role/mysql_sql/my.cnf +0 -0
  236. data/{lib/generators/vulcanize/templates → templates}/mysql_cluster/config/rubber/rubber-mysql_cluster.yml +6 -3
  237. data/{generators/vulcanize/templates → templates}/mysql_cluster/templates.yml +0 -0
  238. data/{generators/vulcanize/templates → templates}/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +0 -0
  239. data/{lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common → templates/mysql_proxy/config/rubber/mysql_proxy}/database.yml +3 -3
  240. data/{generators/vulcanize/templates/mysql_proxy/config/rubber/common → templates/mysql_proxy/config/rubber/mysql_proxy}/mysql-proxy +0 -0
  241. data/{generators/vulcanize/templates/mysql_proxy/config/rubber/common → templates/mysql_proxy/config/rubber/mysql_proxy}/mysql-proxy.conf +0 -0
  242. data/{generators/vulcanize/templates/mysql_proxy/config/rubber/common → templates/mysql_proxy/config/rubber/mysql_proxy}/mysql-proxy.lua +0 -0
  243. data/{generators/vulcanize/templates → templates}/mysql_proxy/config/rubber/rubber-mysql_proxy.yml +3 -0
  244. data/{generators/vulcanize/templates → templates}/mysql_proxy/templates.yml +0 -0
  245. data/{generators/vulcanize/templates → templates}/nginx/config/rubber/deploy-nginx.rb +0 -0
  246. data/{generators/vulcanize/templates → templates}/nginx/config/rubber/role/nginx/crontab +1 -1
  247. data/{generators/vulcanize/templates → templates}/nginx/config/rubber/role/nginx/nginx.conf +0 -0
  248. data/{lib/generators/vulcanize/templates → templates}/nginx/config/rubber/role/web_tools/nginx-tools.conf +8 -5
  249. data/{generators/vulcanize/templates → templates}/nginx/config/rubber/role/web_tools/tools-index.html +7 -1
  250. data/{generators/vulcanize/templates → templates}/nginx/config/rubber/role/web_tools/tools-nginx.auth +1 -1
  251. data/{generators/vulcanize/templates → templates}/nginx/config/rubber/rubber-nginx.yml +0 -0
  252. data/{generators/vulcanize/templates → templates}/nginx/templates.yml +0 -0
  253. data/{generators/vulcanize/templates → templates}/passenger/config/rubber/deploy-passenger.rb +0 -0
  254. data/{generators/vulcanize/templates → templates}/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf +5 -5
  255. data/{lib/generators/vulcanize/templates → templates}/passenger/config/rubber/role/passenger/passenger.conf +2 -2
  256. data/{lib/generators/vulcanize/templates → templates}/passenger/config/rubber/rubber-passenger.yml +2 -1
  257. data/{generators/vulcanize/templates → templates}/passenger/templates.yml +0 -0
  258. data/{lib/generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/deploy-passenger_nginx.rb +1 -2
  259. data/{lib/generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/passenger_nginx/application.conf +3 -3
  260. data/{generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/passenger_nginx/crontab +1 -1
  261. data/{generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/passenger_nginx/nginx +0 -0
  262. data/{lib/generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/passenger_nginx/nginx.conf +2 -2
  263. data/{generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/passenger_nginx/passenger_nginx.conf +2 -2
  264. data/{generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/web_tools/nginx-tools.conf +8 -5
  265. data/{lib/generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/web_tools/tools-index.html +7 -1
  266. data/{generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/web_tools/tools-nginx.auth +1 -1
  267. data/{lib/generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/rubber-passenger_nginx.yml +1 -1
  268. data/{generators/vulcanize/templates → templates}/passenger_nginx/templates.yml +0 -0
  269. data/{lib/generators/vulcanize/templates → templates}/postgresql/config/rubber/common/database.yml +2 -2
  270. data/{lib/generators/vulcanize/templates → templates}/postgresql/config/rubber/deploy-postgresql.rb +27 -47
  271. data/{generators/vulcanize/templates → templates}/postgresql/config/rubber/role/db/crontab +3 -1
  272. data/templates/postgresql/config/rubber/role/db/pg_hba.conf +98 -0
  273. data/{generators/vulcanize/templates → templates}/postgresql/config/rubber/role/db/postgresql-sysctl.conf +0 -0
  274. data/{lib/generators/vulcanize/templates → templates}/postgresql/config/rubber/role/db/postgresql.conf +50 -20
  275. data/{lib/generators/vulcanize/templates → templates}/postgresql/config/rubber/role/postgresql_slave/recovery.conf +34 -19
  276. data/{generators/vulcanize/templates → templates}/postgresql/config/rubber/rubber-postgresql.yml +13 -13
  277. data/{generators/vulcanize/templates → templates}/postgresql/templates.yml +0 -0
  278. data/templates/redis/config/rubber/deploy-redis.rb +79 -0
  279. data/{lib/generators/vulcanize/templates → templates}/redis/config/rubber/role/redis/crontab +3 -1
  280. data/{generators/vulcanize/templates → templates}/redis/config/rubber/role/redis/redis-sysctl.conf +0 -0
  281. data/templates/redis/config/rubber/role/redis/redis-upstart.conf +23 -0
  282. data/{generators/vulcanize/templates → templates}/redis/config/rubber/role/redis/redis.conf +62 -9
  283. data/templates/redis/config/rubber/rubber-redis.yml +17 -0
  284. data/{generators/vulcanize/templates → templates}/redis/templates.yml +0 -0
  285. data/{generators/vulcanize/templates → templates}/resque/config/initializers/resque.rb +0 -0
  286. data/templates/resque/config/resque-pool.yml +4 -0
  287. data/templates/resque/config/rubber/common/resque.yml +5 -0
  288. data/templates/resque/config/rubber/deploy-resque.rb +190 -0
  289. data/templates/resque/config/rubber/role/resque_web/resque-web-upstart.conf +20 -0
  290. data/templates/resque/config/rubber/role/resque_worker/resque-pool-upstart.conf +50 -0
  291. data/templates/resque/config/rubber/role/resque_worker/resque-pool.yml +6 -0
  292. data/{generators/vulcanize/templates → templates}/resque/config/rubber/rubber-resque.yml +11 -1
  293. data/templates/resque/lib/tasks/resque.rake +18 -0
  294. data/templates/resque/templates.rb +2 -0
  295. data/{generators/vulcanize/templates → templates}/resque/templates.yml +0 -0
  296. data/{lib/generators/vulcanize/templates → templates}/sphinx/config/rubber/common/sphinx.yml +9 -9
  297. data/{generators/vulcanize/templates → templates}/sphinx/config/rubber/deploy-sphinx.rb +1 -1
  298. data/templates/sphinx/config/rubber/role/sphinx/crontab +11 -0
  299. data/{generators/vulcanize/templates → templates}/sphinx/config/rubber/rubber-sphinx.yml +0 -0
  300. data/{generators/vulcanize/templates → templates}/sphinx/templates.yml +0 -0
  301. data/templates/unicorn/config/rubber/deploy-unicorn.rb +35 -0
  302. data/templates/unicorn/config/rubber/role/nginx/unicorn_nginx.conf +56 -0
  303. data/templates/unicorn/config/rubber/role/unicorn/unicorn.rb +79 -0
  304. data/templates/unicorn/config/rubber/rubber-unicorn.yml +5 -0
  305. data/templates/unicorn/templates.yml +3 -0
  306. data/test/cloud/aws_table_store_test.rb +172 -0
  307. data/test/cloud/aws_test.rb +33 -0
  308. data/test/cloud/fog_storage_test.rb +183 -0
  309. data/test/cloud/fog_test.rb +34 -0
  310. data/test/command_test.rb +85 -0
  311. data/test/dns/fog_test.rb +131 -0
  312. data/test/environment_test.rb +135 -0
  313. data/test/fixtures/basic/common/bar.conf +4 -0
  314. data/test/fixtures/basic/common/foo.conf +4 -0
  315. data/test/fixtures/basic/host/host1/foo.conf +4 -0
  316. data/test/fixtures/basic/host/host2/foo.conf +4 -0
  317. data/test/fixtures/basic/role/role1/foo.conf +4 -0
  318. data/test/fixtures/basic/role/role2/foo.conf +4 -0
  319. data/test/fixtures/basic/rubber-extra.yml +1 -0
  320. data/test/fixtures/basic/rubber.yml +26 -0
  321. data/test/fixtures/expansion/rubber.yml +34 -0
  322. data/test/fixtures/generator_order/common/a_first.conf +5 -0
  323. data/test/fixtures/generator_order/common/z_last.conf +5 -0
  324. data/test/fixtures/generator_order/host/host1/a_first.conf +5 -0
  325. data/test/fixtures/generator_order/host/host1/z_last.conf +5 -0
  326. data/test/fixtures/generator_order/role/role1/a_first.conf +5 -0
  327. data/test/fixtures/generator_order/role/role1/z_last.conf +5 -0
  328. data/test/fixtures/generator_order/role/role2/a_first.conf +5 -0
  329. data/test/fixtures/generator_order/role/role2/z_last.conf +5 -0
  330. data/test/fixtures/instance_expansion/instance-test.yml +20 -0
  331. data/test/fixtures/instance_expansion/rubber.yml +1 -0
  332. data/test/fixtures/nested/rubber.yml +9 -0
  333. data/test/fixtures/secret/rubber.yml +2 -0
  334. data/test/fixtures/secret/secret.yml +2 -0
  335. data/test/generator_test.rb +365 -0
  336. data/test/instance_test.rb +293 -0
  337. data/test/test-rails-template.rb +35 -0
  338. data/test/test_helper.rb +19 -0
  339. data/test/util_test.rb +79 -0
  340. metadata +490 -508
  341. data/VERSION +0 -1
  342. data/bin/vulcanize +0 -25
  343. data/generators/vulcanize/USAGE +0 -6
  344. data/generators/vulcanize/templates/apache/config/rubber/role/apache/monit-apache.conf +0 -7
  345. data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache.auth +0 -7
  346. data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +0 -34
  347. data/generators/vulcanize/templates/base/Capfile +0 -14
  348. data/generators/vulcanize/templates/base/Rakefile +0 -27
  349. data/generators/vulcanize/templates/base/config/deploy.rb +0 -56
  350. data/generators/vulcanize/templates/base/config/rubber/common/crontab +0 -21
  351. data/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +0 -96
  352. data/generators/vulcanize/templates/base/config/rubber/deploy-util.rb +0 -97
  353. data/generators/vulcanize/templates/base/config/rubber/rubber-dns.yml +0 -78
  354. data/generators/vulcanize/templates/base/config/rubber/rubber-rvm.yml +0 -39
  355. data/generators/vulcanize/templates/base/config/rubber/rubber.yml +0 -263
  356. data/generators/vulcanize/templates/base/lib/tasks/rubber.rake +0 -15
  357. data/generators/vulcanize/templates/base/script/cron-rake +0 -18
  358. data/generators/vulcanize/templates/base/script/cron-runner +0 -18
  359. data/generators/vulcanize/templates/base/script/cron-sh +0 -67
  360. data/generators/vulcanize/templates/base/templates.rb +0 -11
  361. data/generators/vulcanize/templates/base/templates.yml +0 -6
  362. data/generators/vulcanize/templates/cassandra/config/rubber/deploy-cassandra.rb +0 -88
  363. data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/rubber-complete.yml +0 -41
  364. data/generators/vulcanize/templates/complete_mongrel_mysql/templates.yml +0 -6
  365. data/generators/vulcanize/templates/complete_passenger/config/rubber/rubber-complete.yml +0 -40
  366. data/generators/vulcanize/templates/haproxy/config/rubber/deploy-haproxy.rb +0 -45
  367. data/generators/vulcanize/templates/mongodb/config/rubber/deploy-mongodb.rb +0 -53
  368. data/generators/vulcanize/templates/mongodb/config/rubber/role/mongodb/mongodb.conf +0 -89
  369. data/generators/vulcanize/templates/mongodb/config/rubber/role/mongodb/monit-mongodb.cnf +0 -10
  370. data/generators/vulcanize/templates/mongodb/templates.yml +0 -3
  371. data/generators/vulcanize/templates/mongrel/config/rubber/rubber-mongrel.yml +0 -9
  372. data/generators/vulcanize/templates/monit/config/rubber/deploy-monit.rb +0 -33
  373. data/generators/vulcanize/templates/monit/config/rubber/rubber-monit.yml +0 -6
  374. data/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +0 -46
  375. data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-plugins.conf +0 -31
  376. data/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +0 -8
  377. data/generators/vulcanize/templates/munin/script/munin/example_mysql_query.rb +0 -55
  378. data/generators/vulcanize/templates/munin/script/munin/example_simple.rb +0 -24
  379. data/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +0 -169
  380. data/generators/vulcanize/templates/mysql/config/rubber/role/db/crontab +0 -14
  381. data/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf +0 -10
  382. data/generators/vulcanize/templates/mysql_cluster/config/rubber/common/mysql_cluster_migrations.rb +0 -13
  383. data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +0 -10
  384. data/generators/vulcanize/templates/mysql_cluster/config/rubber/rubber-mysql_cluster.yml +0 -32
  385. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/database.yml +0 -16
  386. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf +0 -10
  387. data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/nginx-tools.conf +0 -55
  388. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +0 -41
  389. data/generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml +0 -15
  390. data/generators/vulcanize/templates/passenger_nginx/config/rubber/deploy-passenger_nginx.rb +0 -86
  391. data/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/application.conf +0 -30
  392. data/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/nginx.conf +0 -65
  393. data/generators/vulcanize/templates/passenger_nginx/config/rubber/role/web_tools/tools-index.html +0 -34
  394. data/generators/vulcanize/templates/passenger_nginx/config/rubber/rubber-passenger_nginx.yml +0 -20
  395. data/generators/vulcanize/templates/postgresql/config/rubber/common/database.yml +0 -12
  396. data/generators/vulcanize/templates/postgresql/config/rubber/deploy-postgresql.rb +0 -160
  397. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/monit-postgresql.conf +0 -10
  398. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/pg_hba.conf +0 -90
  399. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql.conf +0 -544
  400. data/generators/vulcanize/templates/postgresql/config/rubber/role/postgresql_slave/recovery.conf +0 -120
  401. data/generators/vulcanize/templates/redis/config/rubber/deploy-redis.rb +0 -88
  402. data/generators/vulcanize/templates/redis/config/rubber/role/redis/crontab +0 -15
  403. data/generators/vulcanize/templates/redis/config/rubber/role/redis/monit-redis.conf +0 -8
  404. data/generators/vulcanize/templates/redis/config/rubber/rubber-redis.yml +0 -13
  405. data/generators/vulcanize/templates/resque/config/rubber/common/resque.yml +0 -5
  406. data/generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb +0 -71
  407. data/generators/vulcanize/templates/resque/config/rubber/role/resque_web/monit-resque_web.conf +0 -14
  408. data/generators/vulcanize/templates/resque/config/rubber/role/resque_worker/monit-resque_worker.conf +0 -19
  409. data/generators/vulcanize/templates/resque/script/resque_worker_management.rb +0 -144
  410. data/generators/vulcanize/templates/resque/templates.rb +0 -1
  411. data/generators/vulcanize/templates/sphinx/config/rubber/common/sphinx.yml +0 -46
  412. data/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/crontab +0 -11
  413. data/generators/vulcanize/vulcanize_generator.rb +0 -184
  414. data/lib/generators/vulcanize/USAGE +0 -6
  415. data/lib/generators/vulcanize/templates/apache/config/rubber/deploy-apache.rb +0 -51
  416. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/deflate.conf +0 -10
  417. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/expires.conf +0 -9
  418. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/headers.conf +0 -6
  419. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/ports.conf +0 -8
  420. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/setenvif.conf +0 -52
  421. data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +0 -79
  422. data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +0 -34
  423. data/lib/generators/vulcanize/templates/apache/config/rubber/rubber-apache.yml +0 -6
  424. data/lib/generators/vulcanize/templates/apache/templates.yml +0 -1
  425. data/lib/generators/vulcanize/templates/base/Rakefile +0 -27
  426. data/lib/generators/vulcanize/templates/base/config/rubber/common/crontab +0 -21
  427. data/lib/generators/vulcanize/templates/base/config/rubber/common/monit-postfix.conf +0 -8
  428. data/lib/generators/vulcanize/templates/base/config/rubber/common/rsyslog.conf +0 -71
  429. data/lib/generators/vulcanize/templates/base/config/rubber/common/rubber.profile +0 -13
  430. data/lib/generators/vulcanize/templates/base/lib/tasks/rubber.rake +0 -15
  431. data/lib/generators/vulcanize/templates/base/script/cron-rake +0 -18
  432. data/lib/generators/vulcanize/templates/base/script/cron-runner +0 -18
  433. data/lib/generators/vulcanize/templates/base/script/cron-sh +0 -67
  434. data/lib/generators/vulcanize/templates/base/templates.rb +0 -11
  435. data/lib/generators/vulcanize/templates/base/templates.yml +0 -6
  436. data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.in.sh +0 -60
  437. data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.yaml +0 -210
  438. data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/log4j-server.properties +0 -45
  439. data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/monit-cassandra.conf +0 -8
  440. data/lib/generators/vulcanize/templates/cassandra/config/rubber/rubber-cassandra.yml +0 -18
  441. data/lib/generators/vulcanize/templates/cassandra/templates.yml +0 -1
  442. data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf +0 -23
  443. data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/nginx/nginx-mongrel.conf +0 -113
  444. data/lib/generators/vulcanize/templates/complete_passenger/config/rubber/role/haproxy/haproxy-passenger.conf +0 -21
  445. data/lib/generators/vulcanize/templates/complete_passenger/templates.rb +0 -9
  446. data/lib/generators/vulcanize/templates/complete_passenger/templates.yml +0 -9
  447. data/lib/generators/vulcanize/templates/complete_passenger_mysql/templates.yml +0 -4
  448. data/lib/generators/vulcanize/templates/complete_passenger_nginx/config/rubber/role/haproxy/haproxy-passenger.conf +0 -21
  449. data/lib/generators/vulcanize/templates/complete_passenger_nginx/config/rubber/rubber-complete.yml +0 -38
  450. data/lib/generators/vulcanize/templates/complete_passenger_nginx/templates.rb +0 -8
  451. data/lib/generators/vulcanize/templates/complete_passenger_nginx/templates.yml +0 -8
  452. data/lib/generators/vulcanize/templates/complete_passenger_nginx_mysql/templates.yml +0 -4
  453. data/lib/generators/vulcanize/templates/complete_passenger_nginx_postgresql/templates.yml +0 -4
  454. data/lib/generators/vulcanize/templates/complete_passenger_postgresql/templates.yml +0 -4
  455. data/lib/generators/vulcanize/templates/cruise/config/rubber/deploy-cruise.rb +0 -72
  456. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/cruise +0 -40
  457. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/my.cnf +0 -165
  458. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/production.rb +0 -8
  459. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/site_config.rb +0 -76
  460. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/web_tools/cruise-nginx.conf +0 -11
  461. data/lib/generators/vulcanize/templates/cruise/config/rubber/rubber-cruise.yml +0 -18
  462. data/lib/generators/vulcanize/templates/cruise/templates.yml +0 -1
  463. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-base.conf +0 -26
  464. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-default.conf +0 -8
  465. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/monit-haproxy.conf +0 -8
  466. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +0 -11
  467. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslogd-default.conf +0 -21
  468. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/web_tools/haproxy-nginx.conf +0 -10
  469. data/lib/generators/vulcanize/templates/haproxy/config/rubber/rubber-haproxy.yml +0 -7
  470. data/lib/generators/vulcanize/templates/haproxy/templates.yml +0 -1
  471. data/lib/generators/vulcanize/templates/jetty/config/rubber/deploy-jetty.rb +0 -59
  472. data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.sh +0 -589
  473. data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.xml +0 -199
  474. data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/monit-jetty.conf +0 -8
  475. data/lib/generators/vulcanize/templates/jetty/config/rubber/rubber-jetty.yml +0 -10
  476. data/lib/generators/vulcanize/templates/jetty/templates.yml +0 -1
  477. data/lib/generators/vulcanize/templates/memcached/config/memcached.yml +0 -28
  478. data/lib/generators/vulcanize/templates/memcached/config/rubber/common/memcached.yml +0 -14
  479. data/lib/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached.conf +0 -52
  480. data/lib/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached_munin_plugin +0 -249
  481. data/lib/generators/vulcanize/templates/memcached/config/rubber/rubber-memcached.yml +0 -7
  482. data/lib/generators/vulcanize/templates/memcached/templates.yml +0 -1
  483. data/lib/generators/vulcanize/templates/minimal_mysql/templates.yml +0 -7
  484. data/lib/generators/vulcanize/templates/minimal_nodb/templates.yml +0 -6
  485. data/lib/generators/vulcanize/templates/minimal_passenger_nginx/config/rubber/rubber-complete.yml +0 -37
  486. data/lib/generators/vulcanize/templates/minimal_passenger_nginx/templates.yml +0 -4
  487. data/lib/generators/vulcanize/templates/mongodb/config/rubber/rubber-mongodb.yml +0 -8
  488. data/lib/generators/vulcanize/templates/mongodb/templates.yml +0 -3
  489. data/lib/generators/vulcanize/templates/mongrel/config/rubber/deploy-mongrel.rb +0 -75
  490. data/lib/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/mongrel_cluster.yml +0 -12
  491. data/lib/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/monit-mongrel.conf +0 -20
  492. data/lib/generators/vulcanize/templates/mongrel/templates.yml +0 -1
  493. data/lib/generators/vulcanize/templates/monit/config/rubber/common/monit-default.conf +0 -15
  494. data/lib/generators/vulcanize/templates/monit/config/rubber/common/monit.conf +0 -252
  495. data/lib/generators/vulcanize/templates/monit/config/rubber/role/web_tools/monit-admin-nginx.conf +0 -11
  496. data/lib/generators/vulcanize/templates/monit/config/rubber/rubber-monit.yml +0 -6
  497. data/lib/generators/vulcanize/templates/monit/templates.yml +0 -1
  498. data/lib/generators/vulcanize/templates/munin/config/rubber/common/monit-munin.conf +0 -8
  499. data/lib/generators/vulcanize/templates/munin/config/rubber/common/munin-node.conf +0 -48
  500. data/lib/generators/vulcanize/templates/munin/config/rubber/common/munin-plugins.conf +0 -11
  501. data/lib/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +0 -46
  502. data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-nginx.conf +0 -8
  503. data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin.conf +0 -116
  504. data/lib/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +0 -8
  505. data/lib/generators/vulcanize/templates/munin/templates.yml +0 -1
  506. data/lib/generators/vulcanize/templates/mysql/config/rubber/common/database.yml +0 -12
  507. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/apparmor-mysql.conf +0 -46
  508. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/my.cnf +0 -163
  509. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/mysql_slave/mysql_slave_munin_plugin +0 -51
  510. data/lib/generators/vulcanize/templates/mysql/config/rubber/rubber-mysql.yml +0 -47
  511. data/lib/generators/vulcanize/templates/mysql/templates.yml +0 -1
  512. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +0 -177
  513. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_data/my.cnf +0 -15
  514. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_mgm/ndb_mgmd.cnf +0 -39
  515. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +0 -10
  516. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/my.cnf +0 -23
  517. data/lib/generators/vulcanize/templates/mysql_cluster/templates.yml +0 -1
  518. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy +0 -154
  519. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.conf +0 -10
  520. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.lua +0 -5
  521. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +0 -52
  522. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/rubber-mysql_proxy.yml +0 -11
  523. data/lib/generators/vulcanize/templates/mysql_proxy/templates.yml +0 -1
  524. data/lib/generators/vulcanize/templates/nginx/config/rubber/deploy-nginx.rb +0 -45
  525. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/crontab +0 -9
  526. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/monit-nginx.conf +0 -7
  527. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/nginx.conf +0 -42
  528. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-index.html +0 -30
  529. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-nginx.auth +0 -7
  530. data/lib/generators/vulcanize/templates/nginx/config/rubber/rubber-nginx.yml +0 -10
  531. data/lib/generators/vulcanize/templates/nginx/templates.yml +0 -1
  532. data/lib/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb +0 -51
  533. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-memory.conf +0 -34
  534. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger.conf +0 -47
  535. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf +0 -48
  536. data/lib/generators/vulcanize/templates/passenger/templates.yml +0 -3
  537. data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/crontab +0 -8
  538. data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/monit-nginx.conf +0 -7
  539. data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/munin-passenger-memory.conf +0 -34
  540. data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/munin-passenger-sudoers.conf +0 -8
  541. data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/munin-passenger.conf +0 -47
  542. data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/nginx +0 -101
  543. data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/passenger_nginx.conf +0 -30
  544. data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/web_tools/nginx-tools.conf +0 -55
  545. data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/web_tools/tools-nginx.auth +0 -7
  546. data/lib/generators/vulcanize/templates/passenger_nginx/templates.yml +0 -1
  547. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/crontab +0 -14
  548. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/munin-postgresql.conf +0 -7
  549. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/pg_hba.conf +0 -90
  550. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql-sysctl.conf +0 -6
  551. data/lib/generators/vulcanize/templates/postgresql/config/rubber/rubber-postgresql.yml +0 -45
  552. data/lib/generators/vulcanize/templates/postgresql/templates.yml +0 -1
  553. data/lib/generators/vulcanize/templates/redis/config/rubber/deploy-redis.rb +0 -88
  554. data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/monit-redis.conf +0 -8
  555. data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/redis-sysctl.conf +0 -7
  556. data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/redis.conf +0 -434
  557. data/lib/generators/vulcanize/templates/redis/config/rubber/rubber-redis.yml +0 -13
  558. data/lib/generators/vulcanize/templates/redis/templates.yml +0 -1
  559. data/lib/generators/vulcanize/templates/resque/config/initializers/resque.rb +0 -15
  560. data/lib/generators/vulcanize/templates/resque/config/rubber/common/resque.yml +0 -5
  561. data/lib/generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb +0 -71
  562. data/lib/generators/vulcanize/templates/resque/config/rubber/role/resque_web/monit-resque_web.conf +0 -14
  563. data/lib/generators/vulcanize/templates/resque/config/rubber/role/resque_worker/monit-resque_worker.conf +0 -19
  564. data/lib/generators/vulcanize/templates/resque/config/rubber/rubber-resque.yml +0 -18
  565. data/lib/generators/vulcanize/templates/resque/script/resque_worker_management.rb +0 -144
  566. data/lib/generators/vulcanize/templates/resque/templates.rb +0 -1
  567. data/lib/generators/vulcanize/templates/resque/templates.yml +0 -3
  568. data/lib/generators/vulcanize/templates/sphinx/config/rubber/deploy-sphinx.rb +0 -112
  569. data/lib/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/crontab +0 -11
  570. data/lib/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/monit-sphinx.conf +0 -13
  571. data/lib/generators/vulcanize/templates/sphinx/config/rubber/rubber-sphinx.yml +0 -6
  572. data/lib/generators/vulcanize/templates/sphinx/templates.yml +0 -1
  573. data/lib/generators/vulcanize/vulcanize_generator.rb +0 -184
  574. data/lib/rubber/tasks/rubber.rb +0 -281
@@ -1,120 +0,0 @@
1
- <%-
2
- @path = "#{rubber_env.postgresql_data_dir}/recovery.conf"
3
- %>
4
- # -------------------------------
5
- # PostgreSQL recovery config file
6
- # -------------------------------
7
- #
8
- # Edit this file to provide the parameters that PostgreSQL needs to
9
- # perform an archive recovery of a database, or to act as a log-streaming
10
- # replication standby.
11
- #
12
- # If "recovery.conf" is present in the PostgreSQL data directory, it is
13
- # read on postmaster startup. After successful recovery, it is renamed
14
- # to "recovery.done" to ensure that we do not accidentally re-enter
15
- # archive recovery or standby mode.
16
- #
17
- # This file consists of lines of the form:
18
- #
19
- # name = 'value'
20
- #
21
- # (The quotes around the value are NOT optional, but the "=" is.)
22
- #
23
- # Comments are introduced with '#'.
24
- #
25
- # The complete list of option names and allowed values can be found
26
- # in the PostgreSQL documentation.
27
- #
28
- #---------------------------------------------------------------------------
29
- # ARCHIVE RECOVERY PARAMETERS
30
- #---------------------------------------------------------------------------
31
- #
32
- # restore_command
33
- #
34
- # specifies the shell command that is executed to copy log files
35
- # back from archival storage. The command string may contain %f,
36
- # which is replaced by the name of the desired log file, and %p,
37
- # which is replaced by the absolute path to copy the log file to.
38
- #
39
- # This parameter is *required* for an archive recovery, but optional
40
- # for streaming replication.
41
- #
42
- # It is important that the command return nonzero exit status on failure.
43
- # The command *will* be asked for log files that are not present in the
44
- # archive; it must return nonzero when so asked.
45
- #
46
- # NOTE that the basename of %p will be different from %f; do not
47
- # expect them to be interchangeable.
48
- #
49
- #restore_command = '' # e.g. 'cp /mnt/server/archivedir/%f %p'
50
- #
51
- #
52
- # archive_cleanup_command
53
- #
54
- # specifies an optional shell command to execute at every restartpoint.
55
- # This can be useful for cleaning up the archive of a standby server.
56
- #
57
- #archive_cleanup_command = ''
58
- #
59
- # recovery_end_command
60
- #
61
- # specifies an optional shell command to execute at completion of recovery.
62
- # This can be useful for cleaning up after the restore_command.
63
- #
64
- #recovery_end_command = ''
65
- #
66
- #---------------------------------------------------------------------------
67
- # RECOVERY TARGET PARAMETERS
68
- #---------------------------------------------------------------------------
69
- #
70
- # By default, recovery will rollforward to the end of the WAL log.
71
- # If you want to stop rollforward at a specific point, you
72
- # must set a recovery target.
73
- #
74
- # You may set a recovery target either by transactionId, or
75
- # by timestamp. Recovery may either include or exclude the
76
- # transaction(s) with the recovery target value (ie, stop either
77
- # just after or just before the given target, respectively).
78
- #
79
- #recovery_target_time = '' # e.g. '2004-07-14 22:39:00 EST'
80
- #
81
- #recovery_target_xid = ''
82
- #
83
- #recovery_target_inclusive = 'true'
84
- #
85
- #
86
- # If you want to recover into a timeline other than the "main line" shown in
87
- # pg_control, specify the timeline number here, or write 'latest' to get
88
- # the latest branch for which there's a history file.
89
- #
90
- #recovery_target_timeline = 'latest'
91
- #
92
- #---------------------------------------------------------------------------
93
- # STANDBY SERVER PARAMETERS
94
- #---------------------------------------------------------------------------
95
- #
96
- # When standby_mode is enabled, the PostgreSQL server will work as
97
- # a standby. It tries to connect to the primary according to the
98
- # connection settings primary_conninfo, and receives XLOG records
99
- # continuously.
100
- #
101
- standby_mode = 'on'
102
- #
103
- primary_conninfo = 'host=<%= rubber_instances.for_role('postgresql_master').first.name %> port=5432 user=postgres' # e.g. 'host=localhost port=5432'
104
- #
105
- #
106
- # By default, a standby server keeps streaming XLOG records from the
107
- # primary indefinitely. If you want to stop streaming and finish recovery,
108
- # opening up the system in read/write mode, specify path to a trigger file.
109
- # Server will poll the trigger file path periodically and stop streaming
110
- # when it's found.
111
- #
112
- trigger_file = '<%= rubber_env.postgresql_data_dir %>/trigger_file'
113
- #
114
- #---------------------------------------------------------------------------
115
- # HOT STANDBY PARAMETERS
116
- #---------------------------------------------------------------------------
117
- #
118
- # Hot Standby related parameters are listed in postgresql.conf
119
- #
120
- #---------------------------------------------------------------------------
@@ -1,88 +0,0 @@
1
- namespace :rubber do
2
-
3
- namespace :redis do
4
-
5
- rubber.allow_optional_tasks(self)
6
-
7
- before "rubber:install_packages", "rubber:redis:setup_apt_sources"
8
-
9
- task :setup_apt_sources, :roles => :redis do
10
- rubber.sudo_script 'configure_redis_repository', <<-ENDSCRIPT
11
- # redis 2.0 is the default starting in Ubuntu 11.04.
12
- if grep '10\.' /etc/lsb-release; then
13
- add-apt-repository ppa:soren/nova
14
- fi
15
- ENDSCRIPT
16
- end
17
-
18
- after "rubber:install_packages", "rubber:redis:custom_install"
19
-
20
- task :custom_install, :roles => :redis do
21
- rubber.sudo_script 'install_redis', <<-ENDSCRIPT
22
- if ! redis-server --version | grep "#{rubber_env.redis_server_version}" &> /dev/null; then
23
- # Fetch the sources.
24
- wget http://redis.googlecode.com/files/redis-#{rubber_env.redis_server_version}.tar.gz
25
- tar -zxf redis-#{rubber_env.redis_server_version}.tar.gz
26
-
27
- # Build the binaries.
28
- cd redis-#{rubber_env.redis_server_version}
29
- make
30
-
31
- # Install the binaries.
32
- /etc/init.d/redis-server stop
33
-
34
- mv src/redis-benchmark /usr/bin/
35
- mv src/redis-check-aof /usr/bin/
36
- mv src/redis-check-dump /usr/bin/
37
- mv src/redis-cli /usr/bin/
38
- mv src/redis-server /usr/bin/
39
-
40
- /etc/init.d/redis-server start
41
-
42
- # Clean up after ourselves.
43
- cd ..
44
- rm -rf redis-#{rubber_env.redis_server_version}
45
- rm redis-#{rubber_env.redis_server_version}.tar.gz
46
- fi
47
- ENDSCRIPT
48
- end
49
-
50
- after "rubber:bootstrap", "rubber:redis:bootstrap"
51
-
52
- task :bootstrap, :roles => :redis do
53
- rubber.sudo_script 'bootstrap_redis', <<-ENDSCRIPT
54
- mkdir -p #{rubber_env.redis_db_dir}
55
- chown -R redis:redis #{rubber_env.redis_db_dir}
56
- ENDSCRIPT
57
-
58
- # After everything installed on machines, we need the source tree
59
- # on hosts in order to run rubber:config for bootstrapping the db
60
- rubber.update_code_for_bootstrap
61
-
62
- # Gen just the conf for cassandra
63
- rubber.run_config(:RUBBER_ENV => RUBBER_ENV, :FILE => "role/redis", :FORCE => true, :deploy_path => release_path)
64
- end
65
-
66
- desc "Stops the redis server"
67
- task :stop, :roles => :redis, :on_error => :continue do
68
- rsudo "/etc/init.d/redis-server stop"
69
- end
70
-
71
- desc "Starts the redis server"
72
- task :start, :roles => :redis do
73
- rsudo "/etc/init.d/redis-server start"
74
- end
75
-
76
- desc "Restarts the redis server"
77
- task :restart, :roles => :redis do
78
- rsudo "/etc/init.d/redis-server restart"
79
- end
80
-
81
- desc "Reloads the redis server"
82
- task :reload, :roles => :redis do
83
- rsudo "/etc/init.d/redis-server restart"
84
- end
85
-
86
- end
87
-
88
- end
@@ -1,15 +0,0 @@
1
- <%
2
- @read_cmd = 'crontab -l'
3
- @write_cmd = 'crontab -'
4
- @additive = ['# start-redis-crontab', '# end-redis-crontab']
5
- %>
6
-
7
- <%
8
- # Backup db every 3 hours to secondary db if available, else primary db
9
- backup_redis_host = rubber_instances.for_role('redis_slave').first rescue nil
10
- backup_redis_host ||= rubber_instances.for_role('redis_master').first
11
- if backup_redis_host.name == rubber_env.host
12
- %>
13
- # Backup redis DBs every hour.
14
- 0 * * * * BACKUP_DIR=/mnt/redis_backups BACKUP_NAME=redis BACKUP_CMD="nice zip -r \%dir\%/redis_\%time_stamp\%.zip <%= rubber_env.redis_db_dir %> -x \*temp\*.rdb" <%= RUBBER_ROOT %>/script/cron-rake rubber:backup
15
- <% end %>
@@ -1,8 +0,0 @@
1
- <%
2
- @path = '/etc/monit/monit.d/monit-redis.conf'
3
- %>
4
- check process redis with pidfile /var/run/redis.pid
5
- group redis-<%= RUBBER_ENV %>
6
- start program = "/etc/init.d/redis-server start"
7
- stop program = "/etc/init.d/redis-server stop"
8
- if failed host <%= rubber_env.host %> port 6379 with timeout 10 seconds for 10 cycles then restart
@@ -1,13 +0,0 @@
1
- redis_server_version: 2.2.13
2
-
3
- redis_db_dir: /mnt/redis
4
-
5
- gems: [redis]
6
-
7
- role_dependencies:
8
- redis_master: [redis]
9
- redis_slave: [redis]
10
-
11
- roles:
12
- redis:
13
- packages: [redis-server]
@@ -1,5 +0,0 @@
1
- <%
2
- @path = "#{RUBBER_ROOT}/config/resque.yml"
3
- %>
4
-
5
- <%= RUBBER_ENV %>: <%= rubber_instances.for_role('redis').first.full_name rescue 'localhost' %>:6379
@@ -1,71 +0,0 @@
1
-
2
- namespace :rubber do
3
-
4
- namespace :resque do
5
-
6
- rubber.allow_optional_tasks(self)
7
-
8
- namespace :worker do
9
-
10
- rubber.allow_optional_tasks(self)
11
-
12
- before "deploy:stop", "rubber:resque:worker:stop"
13
- after "deploy:start", "rubber:resque:worker:start"
14
- after "deploy:restart", "rubber:resque:worker:restart"
15
-
16
- desc "Starts resque workers"
17
- task :start, :roles => :resque_worker do
18
- rsudo "cd #{current_path} && RUBBER_ENV=#{rails_env} ./script/resque_worker_management.rb start", :as => rubber_env.app_user
19
- end
20
-
21
- desc "Stops resque workers"
22
- task :stop, :roles => :resque_worker do
23
- rsudo "cd #{current_path} && RUBBER_ENV=#{rails_env} ./script/resque_worker_management.rb stop", :as => rubber_env.app_user
24
- end
25
-
26
- desc "Restarts resque workers"
27
- task :restart, :roles => :resque_worker do
28
- rsudo "cd #{current_path} && RUBBER_ENV=#{rails_env} ./script/resque_worker_management.rb restart", :as => rubber_env.app_user
29
- end
30
-
31
- # pauses deploy until all workers up so monit doesn't try and start them
32
- before "rubber:monit:start", "rubber:resque:worker:wait_start"
33
- task :wait_start, :roles => :resque_worker do
34
- logger.info "Waiting for resque worker pid files to show up"
35
-
36
- opts = get_host_options('resque_workers') do |worker_cfg|
37
- worker_cfg.size.to_s
38
- end
39
-
40
- run "while ((`ls #{current_path}/tmp/pids/resque_worker_*.pid 2> /dev/null | wc -l` < $CAPISTRANO:VAR$)); do sleep 1; done", opts
41
- end
42
-
43
- end
44
-
45
- namespace :web do
46
- rubber.allow_optional_tasks(self)
47
-
48
- before "deploy:stop", "rubber:resque:web:stop"
49
- after "deploy:start", "rubber:resque:web:start"
50
- after "deploy:restart", "rubber:resque:web:restart"
51
-
52
- desc "Starts resque web tools"
53
- task :start, :roles => :resque_web do
54
- rsudo "RAILS_ENV=#{RUBBER_ENV} resque-web --pid-file #{Rubber.root}/tmp/pids/resque_web.pid --port #{rubber_env.resque_web_port} --no-launch #{current_path}/config/initializers/resque.rb", :as => rubber_env.app_user
55
- end
56
-
57
- desc "Stops resque web tools"
58
- task :stop, :roles => :resque_web do
59
- rsudo "RAILS_ENV=#{RUBBER_ENV} resque-web --pid-file #{Rubber.root}/tmp/pids/resque_web.pid --kill", :as => rubber_env.app_user
60
- end
61
-
62
- desc "Restarts resque web tools"
63
- task :restart, :roles => :resque_web do
64
- rubber.resque.web.stop
65
- rubber.resque.web.start
66
- end
67
-
68
- end
69
-
70
- end
71
- end
@@ -1,14 +0,0 @@
1
- <%
2
- @path = '/etc/monit/monit.d/monit-resque_web.conf'
3
-
4
- pidfile = "#{Rubber.root}/tmp/pids/resque_web.pid"
5
- start_program = "HOME=/root resque-web --pid-file #{pidfile} --port #{rubber_env.resque_web_port} --no-launch #{RUBBER_ROOT}/config/initializers/resque.rb"
6
- stop_program = "HOME=/root resque-web --pid-file #{pidfile} --kill"
7
- %>
8
-
9
- check process resque_web with pidfile <%= pidfile %>
10
- group resque_web
11
- start program = "/bin/bash -l -c '<%= start_program %>'"
12
- stop program = "/bin/bash -l -c '<%= stop_program %>'"
13
-
14
- if totalmem > 350.0 MB for 15 cycles then restart
@@ -1,19 +0,0 @@
1
- <%
2
- @path = '/etc/monit/monit.d/monit-resque_worker.conf'
3
- %>
4
-
5
- <% rubber_env.resque_workers.each_with_index do |worker, i| %>
6
- <%
7
- pidfile = "#{RUBBER_ROOT}/tmp/pids/resque_worker_#{i}.pid"
8
-
9
- start_program = "/usr/bin/sudo -H -u #{rubber_env.app_user} bash -l -c 'cd #{RUBBER_ROOT} && ./script/resque_worker_management.rb start #{i}'"
10
- stop_program = "/usr/bin/sudo -H -u #{rubber_env.app_user} bash -l -c 'cd #{RUBBER_ROOT} && ./script/resque_worker_management.rb stop #{i} TERM'"
11
- %>
12
-
13
- check process resque_worker_<%= i %> with pidfile <%= pidfile %>
14
- group resque_worker
15
- start program = "<%= start_program %>"
16
- stop program = "<%= stop_program %>"
17
-
18
- if totalmem > 350.0 MB for 15 cycles then restart
19
- <% end %>
@@ -1,144 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- STDOUT.sync = true
4
- STDERR.sync = true
5
-
6
- def load_env(rubber_only=true)
7
- env = ENV["RUBBER_ENV"] ||= "development"
8
- root = File.expand_path('../..', __FILE__)
9
- rails_env_file = File.join(root, 'config', 'environment.rb')
10
-
11
- if ! rubber_only && File.exists?(rails_env_file)
12
- require(rails_env_file)
13
- else
14
- require "bundler/setup" if File.exist?(File.join(root, "Gemfile"))
15
- require "rubber"
16
- Rubber::initialize(root, env)
17
- end
18
- end
19
-
20
-
21
- def start_all(workers)
22
- puts "Starting all workers"
23
- # fork then load rails env so script runs quick, yet we don't overload
24
- # machine by loading env for each worker
25
- daemonize(log_file('all')) do
26
- load_env(false)
27
- puts "Preloaded environment for all workers"
28
-
29
- workers.each_with_index do |worker, i|
30
- start(worker, i)
31
- end
32
- end
33
- end
34
-
35
- def start(worker, index)
36
- puts "Starting worker #{index}/#{worker.queues}"
37
-
38
- log_file = log_file(index)
39
- pid_file = pid_file(index)
40
-
41
- queues = worker.queues.to_s.split(',')
42
-
43
- daemonize(log_file, pid_file) do
44
- # load env for each worker, if starting multiple, this will be a no-op due
45
- # to start_all preloading the env
46
- load_env(false)
47
- resque_worker = Resque::Worker.new(*queues)
48
- resque_worker.verbose = ENV['LOGGING'] || ENV['VERBOSE']
49
- resque_worker.very_verbose = ENV['VVERBOSE']
50
-
51
- puts "*** Starting worker #{resque_worker}"
52
- resque_worker.work(worker.poll_interval.to_i || 5) # interval, will block
53
- end
54
-
55
- end
56
-
57
- def stop_all(workers, signal)
58
- puts "Stopping all workers"
59
- workers.size.times do |i|
60
- stop(i, signal)
61
- end
62
- end
63
-
64
- # Resque workers respond to a few different signals:
65
- #
66
- # QUIT - Wait for child to finish processing then exit
67
- # TERM / INT - Immediately kill child then exit
68
- # USR1 - Immediately kill child but don't exit
69
- # USR2 - Don't start to process any new jobs
70
- # CONT - Start to process new jobs again after a USR2
71
- def stop(index, signal)
72
- puts "Stopping worker #{index}"
73
-
74
- pid_file = pid_file(index)
75
- pid = File.read(pid_file).to_i rescue nil
76
- if pid
77
- puts "Killing worker #{index}: pid #{pid} - #{signal}"
78
- begin
79
- Process.kill(signal, pid)
80
- rescue Exception => e
81
- puts e
82
- end
83
- File.delete(pid_file) if File.exist?(pid_file)
84
- else
85
- puts "No pid file for worker #{index}: #{pid_file}"
86
- end
87
- end
88
-
89
- def daemonize(log_file, pid_file=nil)
90
- return if fork
91
- Process::setsid
92
- exit!(0) if fork
93
- Dir::chdir(Rubber.root)
94
- File.umask 0000
95
- FileUtils.touch log_file
96
- STDIN.reopen log_file
97
- STDOUT.reopen log_file, "a"
98
- STDERR.reopen log_file, "a"
99
- STDOUT.sync = true
100
- STDERR.sync = true
101
-
102
- File.open(pid_file, 'w') {|f| f.write("#{Process.pid}") } if pid_file
103
-
104
- yield if block_given?
105
- exit(0)
106
- end
107
-
108
- def pid_file(index)
109
- File.expand_path "#{Rubber.root}/tmp/pids/resque_worker_#{index}.pid"
110
- end
111
-
112
- def log_file(index)
113
- File.expand_path "#{Rubber.root}/log/resque_worker_#{index}.log"
114
- end
115
-
116
- action = ARGV[0]
117
- worker_index = ARGV[1] ? ARGV[1].to_i : nil
118
- signal = ARGV[2] || "QUIT"
119
- if action.nil? || ! %w[start stop restart].include?(action)
120
- puts "Usage: script/resque_worker_management.rb [start|stop|restart]"
121
- end
122
-
123
- # load just the rubber env so things run quickly
124
- load_env(true)
125
- workers = Rubber.config.resque_workers
126
-
127
- case action
128
- when 'start'
129
- worker_index ? start(workers[worker_index], worker_index) : start_all(workers)
130
- # sleep a bit to allow daemonization to complete
131
- sleep 0.5
132
- when 'stop'
133
- worker_index ? stop(worker_index, signal) : stop_all(workers, signal)
134
- when 'restart'
135
- if worker_index
136
- stop(worker_index, signal)
137
- start(workers[worker_index], worker_index)
138
- else
139
- stop_all(workers, signal)
140
- start_all(workers)
141
- end
142
- # sleep a bit to allow daemonization to complete
143
- sleep 0.5
144
- end