axtro-rubber 1.2.3 → 1.5.7

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 (307) hide show
  1. data/CHANGELOG +210 -0
  2. data/VERSION +1 -1
  3. data/bin/vulcanize +16 -32
  4. data/generators/vulcanize/templates/apache/config/rubber/deploy-apache.rb +6 -6
  5. data/generators/vulcanize/templates/apache/config/rubber/role/apache/monit-apache.conf +2 -2
  6. data/generators/vulcanize/templates/apache/config/rubber/role/apache/ports.conf +3 -0
  7. data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +29 -16
  8. data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +1 -1
  9. data/generators/vulcanize/templates/base/Rakefile +21 -0
  10. data/generators/vulcanize/templates/base/config/deploy.rb +1 -0
  11. data/generators/vulcanize/templates/base/config/rubber/common/crontab +6 -1
  12. data/generators/vulcanize/templates/base/config/rubber/common/monit-postfix.conf +2 -2
  13. data/generators/vulcanize/templates/base/config/rubber/common/rubber.profile +3 -4
  14. data/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +56 -48
  15. data/generators/vulcanize/templates/base/config/rubber/deploy-util.rb +97 -0
  16. data/generators/vulcanize/templates/base/config/rubber/rubber-dns.yml +0 -1
  17. data/generators/vulcanize/templates/base/config/rubber/rubber-rvm.yml +28 -0
  18. data/generators/vulcanize/templates/base/config/rubber/rubber.yml +8 -13
  19. data/generators/vulcanize/templates/base/script/cron-runner +1 -1
  20. data/generators/vulcanize/templates/base/templates.rb +9 -0
  21. data/generators/vulcanize/templates/base/templates.yml +5 -0
  22. data/generators/vulcanize/templates/cassandra/config/rubber/deploy-cassandra.rb +88 -0
  23. data/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.in.sh +60 -0
  24. data/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.yaml +210 -0
  25. data/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/log4j-server.properties +45 -0
  26. data/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/monit-cassandra.conf +8 -0
  27. data/generators/vulcanize/templates/cassandra/config/rubber/rubber-cassandra.yml +18 -0
  28. data/generators/vulcanize/templates/cassandra/templates.yml +1 -0
  29. data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf +2 -2
  30. data/generators/vulcanize/templates/{complete_passenger_mysql → complete_passenger}/config/rubber/role/haproxy/haproxy-passenger.conf +2 -2
  31. data/generators/vulcanize/templates/{complete_passenger_mysql → complete_passenger}/config/rubber/rubber-complete.yml +0 -0
  32. data/generators/vulcanize/templates/complete_passenger/templates.rb +9 -0
  33. data/generators/vulcanize/templates/complete_passenger/templates.yml +9 -0
  34. data/generators/vulcanize/templates/complete_passenger_mysql/templates.yml +1 -7
  35. data/generators/vulcanize/templates/complete_passenger_postgresql/templates.yml +4 -0
  36. data/generators/vulcanize/templates/cruise/config/rubber/deploy-cruise.rb +3 -3
  37. data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/my.cnf +1 -1
  38. data/generators/vulcanize/templates/haproxy/config/rubber/deploy-haproxy.rb +5 -5
  39. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/monit-haproxy.conf +2 -2
  40. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +8 -3
  41. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslogd-default.conf +4 -0
  42. data/generators/vulcanize/templates/jetty/config/rubber/deploy-jetty.rb +5 -5
  43. data/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached.conf +1 -1
  44. data/generators/vulcanize/templates/mongrel/config/rubber/deploy-mongrel.rb +5 -5
  45. data/generators/vulcanize/templates/monit/config/rubber/common/monit.conf +2 -1
  46. data/generators/vulcanize/templates/monit/config/rubber/deploy-monit.rb +5 -4
  47. data/generators/vulcanize/templates/munin/config/rubber/common/monit-munin.conf +2 -2
  48. data/generators/vulcanize/templates/munin/config/rubber/common/munin-node.conf +1 -1
  49. data/generators/vulcanize/templates/munin/config/rubber/common/munin-plugins.conf +4 -2
  50. data/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +5 -5
  51. data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-plugins.conf +1 -1
  52. data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin.conf +43 -8
  53. data/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +1 -1
  54. data/generators/vulcanize/templates/munin/script/munin/example_mysql_query.rb +6 -8
  55. data/generators/vulcanize/templates/mysql/config/rubber/common/database.yml +1 -0
  56. data/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +40 -27
  57. data/generators/vulcanize/templates/mysql/config/rubber/role/db/apparmor-mysql.conf +46 -0
  58. data/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf +2 -2
  59. data/generators/vulcanize/templates/mysql/config/rubber/role/db/my.cnf +2 -6
  60. data/generators/vulcanize/templates/mysql/config/rubber/rubber-mysql.yml +1 -1
  61. data/generators/vulcanize/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +19 -15
  62. data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +2 -2
  63. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf +2 -2
  64. data/generators/vulcanize/templates/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +3 -3
  65. data/generators/vulcanize/templates/nginx/config/rubber/deploy-nginx.rb +5 -5
  66. data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/crontab +1 -1
  67. data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/monit-nginx.conf +2 -2
  68. data/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb +10 -1
  69. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-memory.conf +1 -1
  70. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-sudoers.conf +2 -2
  71. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger.conf +1 -1
  72. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +28 -3
  73. data/generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml +3 -3
  74. data/generators/vulcanize/templates/postgresql/config/rubber/common/database.yml +12 -0
  75. data/generators/vulcanize/templates/postgresql/config/rubber/deploy-postgresql.rb +131 -0
  76. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/crontab +14 -0
  77. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/monit-postgresql.conf +10 -0
  78. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/pg_hba.conf +89 -0
  79. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql-sysctl.conf +6 -0
  80. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql.conf +504 -0
  81. data/generators/vulcanize/templates/postgresql/config/rubber/rubber-postgresql.yml +45 -0
  82. data/generators/vulcanize/templates/postgresql/templates.yml +1 -0
  83. data/generators/vulcanize/templates/redis/config/rubber/deploy-redis.rb +8 -7
  84. data/generators/vulcanize/templates/resque/config/initializers/resque.rb +15 -0
  85. data/generators/vulcanize/templates/resque/config/rubber/common/resque.yml +5 -0
  86. data/generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb +46 -27
  87. data/generators/vulcanize/templates/resque/config/rubber/role/resque_web/monit-resque_web.conf +14 -0
  88. data/generators/vulcanize/templates/resque/config/rubber/role/resque_worker/monit-resque_worker.conf +19 -0
  89. data/generators/vulcanize/templates/resque/config/rubber/rubber-resque.yml +14 -6
  90. data/generators/vulcanize/templates/resque/script/resque_worker_management.rb +112 -0
  91. data/generators/vulcanize/templates/resque/templates.rb +1 -0
  92. data/generators/vulcanize/templates/sphinx/config/rubber/deploy-sphinx.rb +8 -8
  93. data/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/monit-sphinx.conf +7 -4
  94. data/generators/vulcanize/vulcanize_generator.rb +166 -49
  95. data/lib/generators/vulcanize/USAGE +6 -0
  96. data/lib/generators/vulcanize/templates/apache/config/rubber/deploy-apache.rb +51 -0
  97. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/deflate.conf +10 -0
  98. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/expires.conf +9 -0
  99. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/headers.conf +6 -0
  100. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/monit-apache.conf +8 -0
  101. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/ports.conf +8 -0
  102. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/setenvif.conf +52 -0
  103. data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +79 -0
  104. data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache.auth +7 -0
  105. data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +34 -0
  106. data/lib/generators/vulcanize/templates/apache/config/rubber/rubber-apache.yml +6 -0
  107. data/lib/generators/vulcanize/templates/apache/templates.yml +1 -0
  108. data/lib/generators/vulcanize/templates/base/Capfile +14 -0
  109. data/lib/generators/vulcanize/templates/base/Rakefile +21 -0
  110. data/lib/generators/vulcanize/templates/base/config/deploy.rb +56 -0
  111. data/lib/generators/vulcanize/templates/base/config/rubber/common/crontab +22 -0
  112. data/lib/generators/vulcanize/templates/base/config/rubber/common/monit-postfix.conf +8 -0
  113. data/lib/generators/vulcanize/templates/base/config/rubber/common/rubber.profile +13 -0
  114. data/lib/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +92 -0
  115. data/lib/generators/vulcanize/templates/base/config/rubber/deploy-util.rb +97 -0
  116. data/lib/generators/vulcanize/templates/base/config/rubber/rubber-dns.yml +78 -0
  117. data/lib/generators/vulcanize/templates/base/config/rubber/rubber-rvm.yml +28 -0
  118. data/lib/generators/vulcanize/templates/base/config/rubber/rubber.yml +235 -0
  119. data/lib/generators/vulcanize/templates/base/lib/tasks/rubber.rake +15 -0
  120. data/lib/generators/vulcanize/templates/base/script/cron-rake +18 -0
  121. data/lib/generators/vulcanize/templates/base/script/cron-runner +18 -0
  122. data/lib/generators/vulcanize/templates/base/script/cron-sh +67 -0
  123. data/lib/generators/vulcanize/templates/base/templates.rb +9 -0
  124. data/lib/generators/vulcanize/templates/base/templates.yml +6 -0
  125. data/lib/generators/vulcanize/templates/cassandra/config/rubber/deploy-cassandra.rb +88 -0
  126. data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.in.sh +60 -0
  127. data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.yaml +210 -0
  128. data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/log4j-server.properties +45 -0
  129. data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/monit-cassandra.conf +8 -0
  130. data/lib/generators/vulcanize/templates/cassandra/config/rubber/rubber-cassandra.yml +18 -0
  131. data/lib/generators/vulcanize/templates/cassandra/templates.yml +1 -0
  132. data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf +23 -0
  133. data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/nginx/nginx-mongrel.conf +113 -0
  134. data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/rubber-complete.yml +41 -0
  135. data/lib/generators/vulcanize/templates/complete_mongrel_mysql/templates.yml +6 -0
  136. data/lib/generators/vulcanize/templates/complete_passenger/config/rubber/role/haproxy/haproxy-passenger.conf +21 -0
  137. data/lib/generators/vulcanize/templates/complete_passenger/config/rubber/rubber-complete.yml +40 -0
  138. data/lib/generators/vulcanize/templates/complete_passenger/templates.rb +9 -0
  139. data/lib/generators/vulcanize/templates/complete_passenger/templates.yml +9 -0
  140. data/lib/generators/vulcanize/templates/complete_passenger_mysql/templates.yml +4 -0
  141. data/lib/generators/vulcanize/templates/complete_passenger_postgresql/templates.yml +4 -0
  142. data/lib/generators/vulcanize/templates/cruise/config/rubber/deploy-cruise.rb +72 -0
  143. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/cruise +40 -0
  144. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/my.cnf +165 -0
  145. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/production.rb +8 -0
  146. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/site_config.rb +76 -0
  147. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/web_tools/cruise-nginx.conf +11 -0
  148. data/lib/generators/vulcanize/templates/cruise/config/rubber/rubber-cruise.yml +18 -0
  149. data/lib/generators/vulcanize/templates/cruise/templates.yml +1 -0
  150. data/lib/generators/vulcanize/templates/haproxy/config/rubber/deploy-haproxy.rb +45 -0
  151. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-base.conf +26 -0
  152. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-default.conf +8 -0
  153. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/monit-haproxy.conf +9 -0
  154. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +11 -0
  155. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslogd-default.conf +21 -0
  156. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/web_tools/haproxy-nginx.conf +10 -0
  157. data/lib/generators/vulcanize/templates/haproxy/config/rubber/rubber-haproxy.yml +7 -0
  158. data/lib/generators/vulcanize/templates/haproxy/templates.yml +1 -0
  159. data/lib/generators/vulcanize/templates/jetty/config/rubber/deploy-jetty.rb +59 -0
  160. data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.sh +589 -0
  161. data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.xml +199 -0
  162. data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/monit-jetty.conf +9 -0
  163. data/lib/generators/vulcanize/templates/jetty/config/rubber/rubber-jetty.yml +10 -0
  164. data/lib/generators/vulcanize/templates/jetty/templates.yml +1 -0
  165. data/lib/generators/vulcanize/templates/memcached/config/memcached.yml +28 -0
  166. data/lib/generators/vulcanize/templates/memcached/config/rubber/common/memcached.yml +14 -0
  167. data/lib/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached.conf +52 -0
  168. data/lib/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached_munin_plugin +249 -0
  169. data/lib/generators/vulcanize/templates/memcached/config/rubber/rubber-memcached.yml +7 -0
  170. data/lib/generators/vulcanize/templates/memcached/templates.yml +1 -0
  171. data/lib/generators/vulcanize/templates/minimal_mysql/templates.yml +7 -0
  172. data/lib/generators/vulcanize/templates/minimal_nodb/templates.yml +6 -0
  173. data/lib/generators/vulcanize/templates/mongrel/config/rubber/deploy-mongrel.rb +75 -0
  174. data/lib/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/mongrel_cluster.yml +12 -0
  175. data/lib/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/monit-mongrel.conf +20 -0
  176. data/lib/generators/vulcanize/templates/mongrel/config/rubber/rubber-mongrel.yml +9 -0
  177. data/lib/generators/vulcanize/templates/mongrel/templates.yml +1 -0
  178. data/lib/generators/vulcanize/templates/monit/config/rubber/common/monit-default.conf +15 -0
  179. data/lib/generators/vulcanize/templates/monit/config/rubber/common/monit.conf +252 -0
  180. data/lib/generators/vulcanize/templates/monit/config/rubber/deploy-monit.rb +33 -0
  181. data/lib/generators/vulcanize/templates/monit/config/rubber/role/web_tools/monit-admin-nginx.conf +10 -0
  182. data/lib/generators/vulcanize/templates/monit/config/rubber/rubber-monit.yml +6 -0
  183. data/lib/generators/vulcanize/templates/monit/templates.yml +1 -0
  184. data/lib/generators/vulcanize/templates/munin/config/rubber/common/monit-munin.conf +8 -0
  185. data/lib/generators/vulcanize/templates/munin/config/rubber/common/munin-node.conf +48 -0
  186. data/lib/generators/vulcanize/templates/munin/config/rubber/common/munin-plugins.conf +11 -0
  187. data/lib/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +46 -0
  188. data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-nginx.conf +8 -0
  189. data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-plugins.conf +31 -0
  190. data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin.conf +115 -0
  191. data/lib/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +8 -0
  192. data/lib/generators/vulcanize/templates/munin/script/munin/example_mysql_query.rb +55 -0
  193. data/lib/generators/vulcanize/templates/munin/script/munin/example_simple.rb +24 -0
  194. data/lib/generators/vulcanize/templates/munin/templates.yml +1 -0
  195. data/lib/generators/vulcanize/templates/mysql/config/rubber/common/database.yml +12 -0
  196. data/lib/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +169 -0
  197. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/apparmor-mysql.conf +46 -0
  198. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/crontab +14 -0
  199. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf +10 -0
  200. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/my.cnf +163 -0
  201. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/mysql_slave/mysql_slave_munin_plugin +51 -0
  202. data/lib/generators/vulcanize/templates/mysql/config/rubber/rubber-mysql.yml +47 -0
  203. data/lib/generators/vulcanize/templates/mysql/templates.yml +1 -0
  204. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/common/mysql_cluster_migrations.rb +13 -0
  205. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +177 -0
  206. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_data/my.cnf +15 -0
  207. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_mgm/ndb_mgmd.cnf +39 -0
  208. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +10 -0
  209. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/my.cnf +23 -0
  210. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/rubber-mysql_cluster.yml +32 -0
  211. data/lib/generators/vulcanize/templates/mysql_cluster/templates.yml +1 -0
  212. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/database.yml +16 -0
  213. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf +10 -0
  214. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy +153 -0
  215. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.conf +10 -0
  216. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.lua +5 -0
  217. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +52 -0
  218. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/rubber-mysql_proxy.yml +11 -0
  219. data/lib/generators/vulcanize/templates/mysql_proxy/templates.yml +1 -0
  220. data/lib/generators/vulcanize/templates/nginx/config/rubber/deploy-nginx.rb +45 -0
  221. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/crontab +9 -0
  222. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/monit-nginx.conf +8 -0
  223. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/nginx.conf +42 -0
  224. data/{generators/vulcanize/templates/nginx_frontend → lib/generators/vulcanize/templates/nginx}/config/rubber/role/web_tools/nginx-tools.conf +0 -0
  225. data/{generators/vulcanize/templates/nginx_frontend → lib/generators/vulcanize/templates/nginx}/config/rubber/role/web_tools/tools-index.html +0 -0
  226. data/{generators/vulcanize/templates/nginx_frontend → lib/generators/vulcanize/templates/nginx}/config/rubber/role/web_tools/tools-nginx.auth +0 -0
  227. data/lib/generators/vulcanize/templates/nginx/config/rubber/rubber-nginx.yml +10 -0
  228. data/lib/generators/vulcanize/templates/nginx/templates.yml +1 -0
  229. data/lib/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb +46 -0
  230. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-memory.conf +34 -0
  231. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-sudoers.conf +7 -0
  232. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger.conf +47 -0
  233. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf +46 -0
  234. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +35 -0
  235. data/lib/generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml +15 -0
  236. data/lib/generators/vulcanize/templates/passenger/templates.yml +3 -0
  237. data/lib/generators/vulcanize/templates/postgresql/config/rubber/common/database.yml +12 -0
  238. data/lib/generators/vulcanize/templates/postgresql/config/rubber/deploy-postgresql.rb +131 -0
  239. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/crontab +14 -0
  240. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/monit-postgresql.conf +10 -0
  241. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/pg_hba.conf +89 -0
  242. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql-sysctl.conf +6 -0
  243. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql.conf +504 -0
  244. data/lib/generators/vulcanize/templates/postgresql/config/rubber/rubber-postgresql.yml +45 -0
  245. data/lib/generators/vulcanize/templates/postgresql/templates.yml +1 -0
  246. data/lib/generators/vulcanize/templates/redis/config/rubber/deploy-redis.rb +37 -0
  247. data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/crontab +8 -0
  248. data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/monit-redis.conf +9 -0
  249. data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/redis.conf +141 -0
  250. data/lib/generators/vulcanize/templates/redis/config/rubber/rubber-redis.yml +4 -0
  251. data/lib/generators/vulcanize/templates/redis/templates.yml +1 -0
  252. data/lib/generators/vulcanize/templates/resque/config/initializers/resque.rb +15 -0
  253. data/lib/generators/vulcanize/templates/resque/config/rubber/common/resque.yml +5 -0
  254. data/lib/generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb +58 -0
  255. data/lib/generators/vulcanize/templates/resque/config/rubber/role/resque_web/monit-resque_web.conf +14 -0
  256. data/lib/generators/vulcanize/templates/resque/config/rubber/role/resque_worker/monit-resque_worker.conf +19 -0
  257. data/lib/generators/vulcanize/templates/resque/config/rubber/rubber-resque.yml +18 -0
  258. data/lib/generators/vulcanize/templates/resque/script/resque_worker_management.rb +112 -0
  259. data/lib/generators/vulcanize/templates/resque/templates.rb +1 -0
  260. data/lib/generators/vulcanize/templates/resque/templates.yml +3 -0
  261. data/lib/generators/vulcanize/templates/sphinx/config/rubber/common/sphinx.yml +46 -0
  262. data/lib/generators/vulcanize/templates/sphinx/config/rubber/deploy-sphinx.rb +112 -0
  263. data/lib/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/crontab +11 -0
  264. data/lib/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/monit-sphinx.conf +13 -0
  265. data/lib/generators/vulcanize/templates/sphinx/config/rubber/rubber-sphinx.yml +6 -0
  266. data/lib/generators/vulcanize/templates/sphinx/templates.yml +1 -0
  267. data/lib/generators/vulcanize/vulcanize_generator.rb +184 -0
  268. data/lib/rubber.rb +42 -6
  269. data/lib/rubber/cloud/aws.rb +8 -6
  270. data/lib/rubber/dns/dyndns.rb +6 -7
  271. data/lib/rubber/dns/zerigo.rb +66 -125
  272. data/lib/rubber/environment.rb +15 -7
  273. data/lib/rubber/generator.rb +37 -27
  274. data/lib/rubber/instance.rb +1 -1
  275. data/lib/rubber/railtie.rb +14 -0
  276. data/lib/rubber/recipes/rubber.rb +6 -0
  277. data/lib/rubber/recipes/rubber/deploy.rb +3 -3
  278. data/lib/rubber/recipes/rubber/instances.rb +28 -64
  279. data/lib/rubber/recipes/rubber/setup.rb +102 -56
  280. data/lib/rubber/recipes/rubber/utils.rb +39 -16
  281. data/lib/rubber/recipes/rubber/volumes.rb +6 -7
  282. data/lib/rubber/tasks/rubber.rb +1 -1
  283. data/lib/rubber/util.rb +36 -1
  284. data/rails/init.rb +1 -4
  285. data/test/environment_test.rb +9 -1
  286. data/test/generator_test.rb +49 -5
  287. data/test/instance_test.rb +1 -1
  288. data/test/test_helper.rb +6 -0
  289. data/test/util_test.rb +1 -1
  290. data/test/zerigo_test.rb +88 -0
  291. metadata +222 -62
  292. data/generators/vulcanize/templates/nginx_frontend/config/rubber/deploy-nginx_frontend.rb +0 -85
  293. data/generators/vulcanize/templates/nginx_frontend/config/rubber/role/nginx_frontend/logrotate-nginx_frontend +0 -14
  294. data/generators/vulcanize/templates/nginx_frontend/config/rubber/role/nginx_frontend/monit-nginx_frontend.conf +0 -8
  295. data/generators/vulcanize/templates/nginx_frontend/config/rubber/role/nginx_frontend/nginx.conf +0 -50
  296. data/generators/vulcanize/templates/nginx_frontend/config/rubber/role/nginx_frontend/nginx_frontend +0 -366
  297. data/generators/vulcanize/templates/nginx_frontend/config/rubber/rubber-nginx_frontend.yml +0 -22
  298. data/generators/vulcanize/templates/nginx_frontend/templates.yml +0 -1
  299. data/generators/vulcanize/templates/resque/config/rubber/deploy-resque-worker-default.rb +0 -38
  300. data/generators/vulcanize/templates/resque/config/rubber/role/resque_worker_default/monit-resque_worker_default.conf +0 -19
  301. data/generators/vulcanize/templates/unicorn/config/rubber/deploy-unicorn.rb +0 -43
  302. data/generators/vulcanize/templates/unicorn/config/rubber/role/nginx_frontend/unicorn_nginx_server.conf +0 -90
  303. data/generators/vulcanize/templates/unicorn/config/rubber/role/unicorn/logrotate-unicorn +0 -16
  304. data/generators/vulcanize/templates/unicorn/config/rubber/role/unicorn/monit-unicorn.conf +0 -10
  305. data/generators/vulcanize/templates/unicorn/config/rubber/role/unicorn/unicorn +0 -327
  306. data/generators/vulcanize/templates/unicorn/config/rubber/role/unicorn/unicorn.conf +0 -86
  307. data/generators/vulcanize/templates/unicorn/config/rubber/rubber-unicorn.yml +0 -13
data/CHANGELOG CHANGED
@@ -1,3 +1,213 @@
1
+ 1.5.7
2
+ -----
3
+
4
+ allow access to calling generator so can determine stuff like fake_root <fa6354c> [Matt Conway]
5
+ refactor create using refresh <12df4c4> [Matt Conway]
6
+ save config in refresh <cdb8344> [Matt Conway]
7
+
8
+ 1.5.6
9
+ -----
10
+
11
+ Merge branch 'master' of github.com:wr0ngway/rubber <9d6ca8a> [Matt Conway]
12
+ force unattended apt-get for some rare cases <94fa160> [Matt Conway]
13
+ fixed typo <2382e8d> [Matt Conway]
14
+ mongrel custom_install should be rvm agnostic <b620f71> [Matt Conway]
15
+ setup_gem_sources should precede install_gems on rvm <52f9d48> [Matt Conway]
16
+ Restore DynDNS update support <80f3c0e> [Matt Conway]
17
+ update munin conf for new ubuntu package <672db55> [Matt Conway]
18
+ exclude unneeded/large files during noscm deploy <286c8da> [Matt Conway]
19
+ Merge branch 'master' of github.com:wr0ngway/rubber <3da29cb> [Matt Conway]
20
+ use specific rvm version to stop rubber breaking everytime they change stuff <71cba60> [Matt Conway]
21
+ Don't try to set up SSH access on Windows hosts. <e1df646> [Kevin Menard]
22
+ increase ulimit for cassandra <e45bae1> [Matt Conway]
23
+
24
+ 1.5.5
25
+ -----
26
+
27
+ only existingg config files should be listed to fix non-existing env yml when doing a push_config <9fbb7ba> [Matt Conway]
28
+
29
+ 1.5.4
30
+ -----
31
+
32
+ add an environment specific rubber.yml file <8f8366e> [Matt Conway]
33
+ set ruby ver to more stable 1.9.2 (rvm currently maps it to preview3, but will map it to actual 1.9.2 when released) <5fa8763> [Matt Conway]
34
+ extra test <0ff8aba> [Matt Conway]
35
+ fix some test failures <9ac276b> [Matt Conway]
36
+ Merge branch 'master' into merge <6599fcb> [Matt Conway]
37
+ add missing stuff from create to refresh to aid in sertting instance details for a partially failed create <a7ac958> [Matt Conway]
38
+ clean string from instance arch to remove newlines <1b1052f> [Matt Conway]
39
+ tell bundler to not install dev/test gems <a3a7d3b> [Matt Conway]
40
+ use correct path for passenger ruby for newer rvm <dcff158> [Matt Conway]
41
+ fix wget params for cassandra <d521eb1> [Matt Conway]
42
+ set rvmrc before installing <df111ef> [Matt Conway]
43
+
44
+ 1.5.3
45
+ -----
46
+
47
+ Don't do a rake gems:install if bundler is in use. <511cac1> [Kevin Menard]
48
+ Don't require rubber to be used as a plugin for Rails 2. <60165e3> [Kevin Menard]
49
+
50
+ 1.5.2
51
+ -----
52
+
53
+ New release. <fad9bbb> [Kevin Menard]
54
+ Fixed issue with dependent modules in Rails 2 generator. <84a0259> [Kevin Menard]
55
+ Fixed an issue with mysqldump and empty passwords. <708f053> [Kevin Menard]
56
+ Removed unnecessary puts statement. <0e81cdc> [Kevin Menard]
57
+ Fix for incomplete path. <b18743f> [Kevin Menard]
58
+ Ubuntu changed the location of its service command, so we can't rely on any given path for it. <e82e7b1> [Kevin Menard]
59
+
60
+ 1.5.1
61
+ -----
62
+
63
+ Fixed a problem with installing gems listed in environment.rb. <aa2b516> [Kevin Menard]
64
+
65
+ 1.5.0
66
+ -----
67
+
68
+ Added a warning message about upgrading rubber and RVM. <0d30207> [Kevin Menard]
69
+ New rubber version. <0d786b5> [Kevin Menard]
70
+ Fixed issues in using rubber for non-Rails projects. <0f32f2c> [Kevin Menard]
71
+ Support optional files in templates.yml for Rails 2 apps, too. <56cd5e2> [Kevin Menard]
72
+ Fixed an issue with vulcanize on Rails 2. <0151382> [Kevin Menard]
73
+ Added ability to diverge template behavior for Rails 2 & Rails 3. <682e40f> [Kevin Menard]
74
+ Fixed a spacing bug. <7e56d16> [Kevin Menard]
75
+ Added utility methods to clean things up a bit. <97f50cd> [Kevin Menard]
76
+ Install gems for Rails 2. <ab3fa74> [Kevin Menard]
77
+ Avoiding adding dependencies that screw up Rails 2 & Rails 3. <22c3008> [Kevin Menard]
78
+ Updated vulcanize to work with both Rails 2 and Rails 3. <c2f3ceb> [Kevin Menard]
79
+ Symlink generators directory for Rails 2.x support. <30a0b41> [Kevin Menard]
80
+ Prevent conflict with Zerigo loading in ActiveSupport. <fe9438d> [Kevin Menard]
81
+ fix resque roles <ed5491b> [Matt Conway]
82
+ cleanup some monit patterns <66f1bb0> [Matt Conway]
83
+ fix environment in resque web monit <45336ce> [Matt Conway]
84
+ Updated gemspec <3638682> [Matt Conway]
85
+ more rigorous stopping of stuff to prevent errors in create_staging <5c2425d> [Matt Conway]
86
+ fix postgres backup <d92e1de> [Matt Conway]
87
+ better directory aliases <0169b47> [Matt Conway]
88
+ munin package doesn't seem to be creating directory <e2a9ca2> [Matt Conway]
89
+ fix updating existing zerigo record <cb5bfdd> [Matt Conway]
90
+ Merge branch 'cassandra' into rails3 <400e814> [Matt Conway]
91
+ postgresql working for a single master configuration <269cb7a> [Matt Conway]
92
+ extracted out helper method for prompting from non-capistrano code <27c77e0> [Matt Conway]
93
+ calculate dependencies as a separate step <b304f9c> [Matt Conway]
94
+ avoid multiple deploy:update_code <eec7c55> [Matt Conway]
95
+ Merge branch 'rails3' into postgresql <2b8f728> [Matt Conway]
96
+ replace init.d scripts with call to service <69a34a4> [Matt Conway]
97
+ monit nowe needs mailserver set <61d3710> [Matt Conway]
98
+ fix rvm environment issue that breaks initial rake fcall from rubber:config <e6bdec2> [Matt Conway]
99
+ updated to lucid 10.04 <5238701> [Matt Conway]
100
+ only add gem if rubber not a plugin <a09102a> [Matt Conway]
101
+ set ssh connection timeout <39dbc45> [Matt Conway]
102
+ only add rubber to gemfile in base template <d04f306> [Matt Conway]
103
+ allow loading of initial schema <c431688> [Matt Conway]
104
+ working cassandra <9402a7a> [Matt Conway]
105
+ Merge branch 'rails3' into cassandra <4965a07> [Matt Conway]
106
+ Don't rely on ":on_error => :continue" due to capistrano bug https://capistrano.lighthouseapp.com/projects/8716/tickets/110-using-on_error-continue-doesnt-work-when-chaining-callbacks <2d5415e> [Matt Conway]
107
+ fix redis boostrap <3113246> [Matt Conway]
108
+ some fixes to resque process management <68c43c5> [Matt Conway]
109
+ refactor, make worker management smoother <c1c35e3> [Matt Conway]
110
+ allow calling generator helpers <35a9f0e> [Matt Conway]
111
+ set exe <b3c6c47> [Matt Conway]
112
+ mv files for rails3 <68a5bb2> [Matt Conway]
113
+ Merge remote branch 'origin/new_resque' into rails3 <151c3bf> [Matt Conway]
114
+ Better handling of resque worker queues. <c288253> [Kevin Menard]
115
+ Redis version bump. <74ed93a> [Kevin Menard]
116
+ Merge branch 'master' into rails3 <13bf17a> [Matt Conway]
117
+ initial incomplete cassandra support <b0beaf4> [Matt Conway]
118
+ initial incomplete postgres support <4eff243> [Matt Conway]
119
+ version bump <1f00825> [Matt Conway]
120
+ fix railties dependency <b302bcd> [Matt Conway]
121
+ Merge branch 'master' into rails3 <6c11203> [Matt Conway]
122
+ Set rubber version to the one being installed by Gemfile <29a3fdf> [Matt Conway]
123
+ make sure ec2 config directory exists <50878d5> [Matt Conway]
124
+ Add rubber to gemfile when generating if needed <ef0a279> [Matt Conway]
125
+ version bump <ad08522> [Matt Conway]
126
+ ec2 tools need system ruby as they don't currently work with 1.9 <015dfaa> [Matt Conway]
127
+ use RUBBER_ENV to select DB so task can be used with staging, etc <120bf11> [Matt Conway]
128
+ new version <a013cce> [Matt Conway]
129
+ new version <9ee1a64> [Matt Conway]
130
+ regenerated gemspec <0c96963> [Matt Conway]
131
+ make sure ec2-ami-tools is installed on canonical ami for rubber:bundle <ca1dc3d> [Matt Conway]
132
+ get vulcanize helper script working in rails3 <a14f59e> [Matt Conway]
133
+ copy file permissions too so executable files work <f579248> [Matt Conway]
134
+ fix rvm environment for cron/munin <58fb2e6> [Matt Conway]
135
+ handle prescence of config.ru, fix bundle install, minor other tweaks <8fbc50f> [Matt Conway]
136
+ fix passenger/rvm activation <8739480> [Matt Conway]
137
+ enable passenger support in rvm <e99e5c5> [Matt Conway]
138
+ more rails3 support, using rvm to select ruby runtime, make run/sudo load profile to get rvm environment <ef1afa7> [Matt Conway]
139
+ initial rails3 changes <9a30414> [Matt Conway]
140
+ optional rakefile for non-rails projects <c45931a> [Matt Conway]
141
+ mv new template since sam's changes <3f6689a> [Matt Conway]
142
+ Merge branch 'sam-mcingvale/master' into rails3 <df7ecd7> [Matt Conway]
143
+ Fixed template issues <8916817> [Sam McIngvale]
144
+ Preliminary Rails 3 generator changes <412cfb4> [Sam McIngvale]
145
+
146
+ 1.3.2
147
+ -----
148
+
149
+ fix to mkdir command which failed on rubber:create_staging <6a0d513> [Matt Conway]
150
+ fix for ruby1.9 <6e08329> [Matt Conway]
151
+ fix for ruby1.9 <4e92c69> [Matt Conway]
152
+
153
+ 1.3.1
154
+ -----
155
+
156
+ make sure ec2 config dir exists before writing to it <39f51d1> [Matt Conway]
157
+ make sure ec2-ami-tools is installed on canonical ami for rubber:bundle <62cb4ba> [Matt Conway]
158
+ make passenger not unload app by default <d580cd9> [Matt Conway]
159
+ ensure wget overwrites when rerunning after failed get <69102dc> [Matt Conway]
160
+ remove uneeded dependency <97b68ac> [Matt Conway]
161
+
162
+ 1.3.0
163
+ -----
164
+
165
+ fix release process <4e1243b> [Matt Conway]
166
+ more tests <6a70bb5> [Matt Conway]
167
+ Merge branch 'master' into zerigo_api_1_1 <9d5fb10> [Matt Conway]
168
+ Merge branch 'master' into canonical_ami <b40f95a> [Matt Conway]
169
+ preserver backwards compatbility with sysklog in older ubuntu images <daf3283> [Matt Conway]
170
+ Bump rubygems version. <60509fb> [Kevin Menard]
171
+ Redis version bump. <89ca8ee> [Kevin Menard]
172
+ Merge branch 'master' into canonical_ami <fc62f2e> [Matt Conway]
173
+ ruby 1.9 fix for to_a (thanks to rlewis) <19fa3c1> [Matt Conway]
174
+ Fixed compatibility issues with Ruby 1.9.x <d037136> [Matt Conway]
175
+ Merge branch 'jrhicks/master' <b28fa6a> [Matt Conway]
176
+ disable debian.cnf copy <fdbbf8c> [Matt Conway]
177
+ prevent backups when generating apparmor config file <2cc50b6> [Matt Conway]
178
+ cleanup remote ruby script execution <86da61e> [Matt Conway]
179
+ fix force flag, add backup flag for disabling backups (e.g. in /etc/*.d directories) <9e749fd> [Matt Conway]
180
+ prevent ubuntu 9.10 ec2-init script from changing hostname <739a495> [Matt Conway]
181
+ fix monit config for new version in ubuntu 9.10 <6df5a33> [Matt Conway]
182
+ move mysql reconfigure to common mysql bootstrap <4ce6255> [Matt Conway]
183
+ fix mysql deploy for new ubuntu <7ef0ae7> [Matt Conway]
184
+ Ubuntu using rsyslog now <904f225> [Matt Conway]
185
+ update to latest rubygems <7722ba6> [Matt Conway]
186
+ use sudo everywhere in case users don't want to run as root <8b19367> [Matt Conway]
187
+ allow root login to canonical amis <d04b7f1> [Matt Conway]
188
+ Switch to canonical AMIs <4cd540e> [Matt Conway]
189
+ fix 404, use zone.id <2219de4> [Matt Conway]
190
+ Merge branch 'zerigo_api_1_1' of github.com:wr0ngway/rubber into zerigo_api_1_1 <23f7b70> [Matt Conway]
191
+ no need for customer id in new zerigo api <e91589a> [Matt Conway]
192
+ using zerigo api v1.1 <1aecee3> [Matt Conway]
193
+ no need for customer id in new zerigo api <45c4258> [Matt Conway]
194
+ using zerigo api v1.1 <8784286> [Matt Conway]
195
+ Only proxy app roles since mongrel may be used by non-app roles. <3dd218d> [Kevin Menard]
196
+ Only proxy app roles since passenger may be used for non-app roles, too. <13a7f49> [Kevin Menard]
197
+ Add capistrano task to move data from deploy client to production server. cap rubber:mysql:local_to_ec2 <628920d> [Jeffrey Hicks]
198
+ Added mysql cap commands rubber:mysql:backup and rubber:mysql:restore_s3 <2f3c535> [Jeffrey Hicks]
199
+ Added mysql client headers to mysql package to allow compilation of mysql <89c5a38> [Jeffrey Hicks]
200
+ Passenger bump. <d09934e> [Kevin Menard]
201
+ Use full path to ruby in case munin's path doesn't work due to non-login shell. <c9ec151> [Kevin Menard]
202
+
203
+ 1.2.1
204
+ -----
205
+
206
+ Jeweler will release to gemcutter. <5ab598f> [Kevin Menard]
207
+ Work around issue with capistrano 2.5.16. <ce9617b> [Kevin Menard]
208
+ Bumped to the latest version of redis. <e32f072> [Kevin Menard]
209
+ Bumped to latest version of passenger. <251f2ee> [Kevin Menard]
210
+
1
211
  1.2.0
2
212
  -----
3
213
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.3
1
+ 1.5.7
data/bin/vulcanize CHANGED
@@ -1,41 +1,25 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- env = ENV['RUBBER_ENV'] || ENV['RAILS_ENV'] || 'development'
4
- root = '.'
5
-
6
- # if in a rails project, then use standard generate, otherwise
7
- # we need a minimal rails environment for generators to run
8
- #
9
- if File.exist?(File.join(root, 'config', 'environment.rb'))
10
- ARGV.insert(0, 'vulcanize')
11
- require File.join(root, 'config', 'boot')
12
- require 'commands/generate'
13
- else
14
- RAILS_ENV = ENV['RAILS_ENV'] = env
15
- RAILS_ROOT = ENV['RAILS_ROOT'] = root
3
+ require 'rubygems'
16
4
 
17
- require 'rubygems'
18
- gem 'rails'
19
- module Rails
20
- class << self
21
- def vendor_rails?
22
- false
23
- end
24
- end
25
- end
5
+ env = ENV['RUBBER_ENV'] ||= 'development'
6
+ root = '.'
26
7
 
27
- require 'initializer'
28
- class Rails::Initializer
29
- def load_environment; end
30
- end
8
+ require 'rubber'
9
+ Rubber::initialize(root, env)
31
10
 
32
- Rails::Initializer.run do |config|
33
- config.frameworks -= [:active_record, :action_controller]
11
+ if Rubber::Util::is_rails2?
12
+ ARGV.insert(0, 'vulcanize') unless ARGV[0] == 'vulcanize' # Need for Rails 2 generator.
13
+ require File.expand_path('../../lib/generators/vulcanize/vulcanize_generator', __FILE__)
14
+ else
15
+ begin
16
+ gem 'railties'
17
+ rescue LoadError
18
+ puts "Missing the railties gem. Install with `sudo gem install railties --version=3.0.0.beta3`."
19
+ exit(-1)
34
20
  end
35
21
 
36
- require 'rails_generator'
37
- require 'rails_generator/scripts/generate'
22
+ require File.expand_path('../../lib/generators/vulcanize/vulcanize_generator', __FILE__)
38
23
 
39
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
40
- Rails::Generator::Scripts::Generate.new.run(['vulcanize'] + ARGV)
24
+ VulcanizeGenerator.start
41
25
  end
@@ -8,17 +8,17 @@ namespace :rubber do
8
8
  after "rubber:install_packages", "rubber:apache:custom_install"
9
9
 
10
10
  task :custom_install, :roles => :apache do
11
- sudo "a2dissite default"
11
+ rsudo "a2dissite default"
12
12
  end
13
13
 
14
14
  # serial_task can only be called after roles defined - not normally a problem, but
15
15
  # rubber auto-roles don't get defined till after all tasks are defined
16
16
  on :load do
17
17
  rubber.serial_task self, :serial_restart, :roles => :apache do
18
- run "/etc/init.d/apache2 restart"
18
+ rsudo "service apache2 restart"
19
19
  end
20
20
  rubber.serial_task self, :serial_reload, :roles => :apache do
21
- run "if ! ps ax | grep -v grep | grep -c apache2 &> /dev/null; then /etc/init.d/apache2 start; else /etc/init.d/apache2 reload; fi"
21
+ rsudo "if ! ps ax | grep -v grep | grep -c apache2 &> /dev/null; then service apache2 start; else service apache2 reload; fi"
22
22
  end
23
23
  end
24
24
 
@@ -27,13 +27,13 @@ namespace :rubber do
27
27
  after "deploy:restart", "rubber:apache:reload"
28
28
 
29
29
  desc "Stops the apache web server"
30
- task :stop, :roles => :apache, :on_error => :continue do
31
- run "/etc/init.d/apache2 stop"
30
+ task :stop, :roles => :apache do
31
+ rsudo "service apache2 stop; exit 0"
32
32
  end
33
33
 
34
34
  desc "Starts the apache web server"
35
35
  task :start, :roles => :apache do
36
- run "/etc/init.d/apache2 start"
36
+ rsudo "service apache2 start"
37
37
  end
38
38
 
39
39
  desc "Restarts the apache web server"
@@ -4,5 +4,5 @@
4
4
  <% PIDFILE = "/var/run/apache2.pid" %>
5
5
  check process apache with pidfile <%= PIDFILE %>
6
6
  group apache-<%= RUBBER_ENV %>
7
- start program = "/etc/init.d/apache2 start"
8
- stop program = "/etc/init.d/apache2 stop"
7
+ start program = "/usr/bin/env service apache2 start"
8
+ stop program = "/usr/bin/env service apache2 stop"
@@ -1,5 +1,8 @@
1
1
  <%
2
2
  @path = '/etc/apache2/ports.conf'
3
+ # need to stop here so that apache will release port 80 before other
4
+ # services start and need to bind to it (e.g. haproxy)
5
+ @post = 'service apache2 stop'
3
6
  %>
4
7
  # empty ports file since other modules contribute which ports to open (vhosts)
5
8
 
@@ -38,29 +38,42 @@ Listen <%= rubber_env.web_tools_ssl_port %>
38
38
  SetOutputFilter proxy-html
39
39
 
40
40
  <% rubber_instances.for_role('haproxy').each do |ic| %>
41
- ProxyPass /haproxy_<%= ic.name %>/ http://<%= ic.full_name %>:<%= rubber_env.haproxy_admin_port %>/haproxy/
42
- ProxyPassReverse /haproxy_<%= ic.name %>/ http://<%= ic.full_name %>:<%= rubber_env.haproxy_admin_port %>/haproxy/
43
- ProxyHTMLURLMap http://<%= ic.full_name %>:<%= rubber_env.haproxy_admin_port %>/ /haproxy_<%= ic.name %>/
44
- ProxyHTMLURLMap /haproxy/ /haproxy_<%= ic.name %>/
45
- ProxyHTMLURLMap /haproxy /haproxy_<%= ic.name %>/
41
+ ProxyPass /haproxy_<%= ic.name %>/ http://<%= ic.full_name %>:<%= rubber_env.haproxy_admin_port %>/haproxy/
42
+ <Location /haproxy_<%= ic.name %>/>
43
+ ProxyPassReverse /
44
+ ProxyHTMLURLMap http://<%= ic.full_name %>:<%= rubber_env.haproxy_admin_port %>/ /haproxy_<%= ic.name %>/
45
+ ProxyHTMLURLMap /haproxy/ /haproxy_<%= ic.name %>/
46
+ ProxyHTMLURLMap /haproxy /haproxy_<%= ic.name %>/
47
+ </Location>
46
48
  <% end %>
47
49
 
48
50
  <% if cruise_host = rubber_instances.for_role('cruise').first %>
49
- ProxyPass /cruise/ http://<%= cruise_host.full_name %>:<%= rubber_env.cruise_port %>/
50
- ProxyPassReverse /cruise/ http://<%= cruise_host.full_name %>:<%= rubber_env.cruise_port %>/
51
- ProxyHTMLURLMap http://<%= cruise_host.full_name %>:<%= rubber_env.cruise_port %>/ /cruise/
52
- ProxyHTMLURLMap / /cruise/
51
+ ProxyPass /cruise/ http://<%= cruise_host.full_name %>:<%= rubber_env.cruise_port %>/
52
+ <Location /cruise/>
53
+ ProxyPassReverse /
54
+ ProxyHTMLURLMap http://<%= cruise_host.full_name %>:<%= rubber_env.cruise_port %>/ /cruise/
55
+ ProxyHTMLURLMap / /cruise/
56
+ </Location>
53
57
  <% end %>
54
58
 
55
59
  <% rubber_instances.each do |ic| %>
56
- ProxyPass /monit_<%= ic.name %>/ http://<%= ic.full_name %>:<%= rubber_env.monit_admin_port %>/
57
- ProxyPassReverse /monit_<%= ic.name %>/ http://<%= ic.full_name %>:<%= rubber_env.monit_admin_port %>/
58
- ProxyHTMLURLMap http://<%= ic.full_name %>:<%= rubber_env.monit_admin_port %>/ /monit_<%= ic.name %>/
59
- ProxyHTMLURLMap / /monit_<%= ic.name %>/
60
+ ProxyPass /monit_<%= ic.name %>/ http://<%= ic.full_name %>:<%= rubber_env.monit_admin_port %>/
61
+ <Location /monit_<%= ic.name %>/>
62
+ ProxyPassReverse /
63
+ ProxyHTMLURLMap http://<%= ic.full_name %>:<%= rubber_env.monit_admin_port %>/ /monit_<%= ic.name %>/
64
+ ProxyHTMLURLMap / /monit_<%= ic.name %>/
65
+ </Location>
60
66
  <% end %>
61
-
62
- <% if resque_host = rubber_instances.for_role('resque').first %>
63
- RackBaseURI /resque
67
+
68
+ <% if resque_host = rubber_instances.for_role('resque_web').first %>
69
+ ProxyPass /resque/ http://<%= resque_host.full_name %>:<%= rubber_env.resque_web_port %>/
70
+ # special case, sinatra is using X-Forwarded-Host header to set redirects (Location header) to our external address, so we have to rewrite that to the right path
71
+ ProxyPassReverse /resque/ http://<%= rubber_env.full_host %>:<%= rubber_env.web_tools_ssl_port %>/
72
+ <Location /resque/>
73
+ ProxyPassReverse /
74
+ ProxyHTMLURLMap http://<%= resque_host.full_name %>:<%= rubber_env.resque_web_port %>/ /resque/
75
+ ProxyHTMLURLMap / /resque/
76
+ </Location>
64
77
  <% end %>
65
78
 
66
79
  </VirtualHost>
@@ -25,7 +25,7 @@
25
25
  <li><a href="/monit_<%= ic.name %>/">Monit <%= ic.name %></a></li>
26
26
  <% end %>
27
27
 
28
- <% if resque_host = rubber_instances.for_role('resque').first %>
28
+ <% if resque_host = rubber_instances.for_role('resque_web').first %>
29
29
  <li><a href="/resque/">Resque</a></li>
30
30
  <% end %>
31
31
 
@@ -0,0 +1,21 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require 'rake/rdoctask'
4
+
5
+ env = ENV['RUBBER_ENV'] ||= (ENV['RAILS_ENV'] || 'development')
6
+ RAILS_ENV = ENV['RAILS_ENV'] = env
7
+ root = File.dirname(__FILE__)
8
+
9
+ require 'rubber'
10
+
11
+ Rubber::initialize(root, env)
12
+
13
+ require 'rubber/tasks/rubber'
14
+
15
+ task :console do
16
+ ARGV.clear
17
+ require "irb"
18
+ IRB.start
19
+ end
20
+
21
+ RAILS_TASKS
@@ -6,6 +6,7 @@ on :load do
6
6
  set :application, rubber_env.app_name
7
7
  set :runner, rubber_env.app_user
8
8
  set :deploy_to, "/mnt/#{application}-#{RUBBER_ENV}"
9
+ set :copy_exclude, [".git/*", "log/*"]
9
10
  end
10
11
 
11
12
  # Use a simple directory tree copy here to make demo easier.
@@ -3,7 +3,12 @@
3
3
  @write_cmd = 'crontab -'
4
4
  %>
5
5
 
6
- PATH=/sbin:/usr/sbin:/usr/local/sbin:<%= rubber_env.ruby_prefix %>/bin:/usr/local/bin:/usr/bin:/bin
6
+ # cron clears out enviroment variables, so we need to add these in
7
+ # to make sure we are running the correct ruby (rvm env vars, plus paths)
8
+ <%- ENV.select {|k, v| k =~ /rvm|ruby|bundler|gem|path/i }.each do |k, v| -%>
9
+ <%= k %>=<%= v %>
10
+ <%- end -%>
11
+
7
12
  MAILTO=<%= rubber_env.admin_email %>
8
13
  # don't need to set RUBBER_ENV for each script since we set it for all cron here
9
14
  RUBBER_ENV=<%= RUBBER_ENV %>