axtro-rubber 1.2.3 → 1.5.7

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,165 @@
1
+ <%
2
+ @path = '/etc/mysql/my.cnf'
3
+ @post = 'service mysql restart'
4
+ %>
5
+
6
+ # Generated by rubber for host <%= rubber_instances[rubber_env.host].external_ip %>
7
+ #
8
+ # The MySQL database server configuration file.
9
+ #
10
+ # You can copy this to one of:
11
+ # - "/etc/mysql/my.cnf" to set global options,
12
+ # - "~/.my.cnf" to set user-specific options.
13
+ #
14
+ # One can use all long options that the program supports.
15
+ # Run program with --help to get a list of available options and with
16
+ # --print-defaults to see which it would actually understand and use.
17
+ #
18
+ # For explanations see
19
+ # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
20
+
21
+ # This will be passed to all mysql clients
22
+ # It has been reported that passwords should be enclosed with ticks/quotes
23
+ # escpecially if they contain "#" chars...
24
+ # Remember to edit /etc/mysql/debian.cnf when changing the socket location.
25
+ [client]
26
+ loose-default-character-set = utf8
27
+ port = 3306
28
+ socket = /var/run/mysqld/mysqld.sock
29
+
30
+ # Here is entries for some specific programs
31
+ # The following values assume you have at least 32M ram
32
+
33
+ # This was formally known as [safe_mysqld]. Both versions are currently parsed.
34
+ [mysqld_safe]
35
+ socket = /var/run/mysqld/mysqld.sock
36
+ nice = 0
37
+
38
+ [mysqld]
39
+ #
40
+ # * Basic Settings
41
+ #
42
+ default-character-set = utf8
43
+ user = mysql
44
+ pid-file = /var/run/mysqld/mysqld.pid
45
+ socket = /var/run/mysqld/mysqld.sock
46
+ port = 3306
47
+ basedir = /usr
48
+ datadir = /var/lib/mysql
49
+ tmpdir = /tmp
50
+ language = /usr/share/mysql/english
51
+ skip-external-locking
52
+ connect_timeout = 30
53
+
54
+ #
55
+ # Instead of skip-networking the default is now to listen only on
56
+ # localhost which is more compatible and is not less secure.
57
+ # bind-address = 127.0.0.1
58
+ #
59
+ # * Fine Tuning
60
+ #
61
+ key_buffer = 16M
62
+ max_allowed_packet = 32M
63
+ thread_stack = 128K
64
+ thread_cache_size = 8
65
+ table_cache=128
66
+ max_heap_table_size=256M
67
+ tmp_table_size=256M
68
+ sort_buffer_size = 8M
69
+ join_buffer_size = 8M
70
+
71
+ max_connections = 300
72
+ #table_cache = 64
73
+ #thread_concurrency = 10
74
+ #
75
+ # * Query Cache Configuration
76
+ #
77
+ query_cache_limit = 2M
78
+ query_cache_size = 64M
79
+ #
80
+ # * Logging and Replication
81
+ #
82
+ # Both location gets rotated by the cronjob.
83
+ # Be aware that this log type is a performance killer.
84
+ #log = /var/log/mysql/mysql.log
85
+ #
86
+ # Error logging goes to syslog. This is a Debian improvement :)
87
+ #
88
+ # Here you can see queries with especially long duration
89
+ log_slow_queries = /var/log/mysql/mysql-slow.log
90
+ long_query_time = 2
91
+ log-queries-not-using-indexes
92
+ #
93
+ # The following can be used as easy to replay backup logs or for replication.
94
+ # note: if you are setting up a replication slave, see README.Debian about
95
+ # other settings you may need to change.
96
+ #server-id = 1
97
+ #log_bin = /var/log/mysql/mysql-bin.log
98
+ # WARNING: Using expire_logs_days without bin_log crashes the server! See README.Debian!
99
+ expire_logs_days = 10
100
+ max_binlog_size = 100M
101
+ #binlog_do_db = include_database_name
102
+ #binlog_ignore_db = include_database_name
103
+ #
104
+ # * BerkeleyDB
105
+ #
106
+ # Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
107
+ skip-bdb
108
+ #
109
+ # * InnoDB
110
+ #
111
+ # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
112
+ # Read the manual for more InnoDB related options. There are many!
113
+ # You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
114
+ #skip-innodb
115
+
116
+ # Set buffer pool size to 50-80% of your computer's memory
117
+ innodb_buffer_pool_size=256M
118
+ innodb_additional_mem_pool_size=8M
119
+
120
+ # Set the log file size to about 25% of the buffer pool size
121
+ #innodb_log_file_size=128M
122
+ #innodb_log_buffer_size=32M
123
+ innodb_flush_log_at_trx_commit=2
124
+
125
+ #
126
+ # * Security Features
127
+ #
128
+ # Read the manual, too, if you want chroot!
129
+ # chroot = /var/lib/mysql/
130
+ #
131
+ # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
132
+ #
133
+ # ssl-ca=/etc/mysql/cacert.pem
134
+ # ssl-cert=/etc/mysql/server-cert.pem
135
+ # ssl-key=/etc/mysql/server-key.pem
136
+
137
+
138
+
139
+ [mysqldump]
140
+ quick
141
+ quote-names
142
+ max_allowed_packet = 16M
143
+
144
+ [mysql]
145
+ #no-auto-rehash # faster start of mysql but no tab completition
146
+
147
+ [isamchk]
148
+ key_buffer = 16M
149
+
150
+ #
151
+ # * NDB Cluster
152
+ #
153
+ # See /usr/share/doc/mysql-server-*/README.Debian for more information.
154
+ #
155
+ # The following configuration is read by the NDB Data Nodes (ndbd processes)
156
+ # not from the NDB Management Nodes (ndb_mgmd processes).
157
+ #
158
+ # [MYSQL_CLUSTER]
159
+ # ndb-connectstring=127.0.0.1
160
+
161
+
162
+ #
163
+ # * IMPORTANT: Additional settings that can override those from this file!
164
+ #
165
+ !includedir /etc/mysql/conf.d/
@@ -0,0 +1,8 @@
1
+ <%
2
+ @path = "#{rubber_env.cruise_dir}/config/environments/production.rb"
3
+ @additive = ["# rubber-cruise-start", "# rubber-cruise-end"]
4
+ @post = "ln -sf #{rubber_env.cruise_dir}/public #{rubber_env.cruise_dir}/public/cruise"
5
+ %>
6
+
7
+ # This is needed so nginx can reverse proxy to cruise server
8
+ ActionController::AbstractRequest.relative_url_root = "/cruise"
@@ -0,0 +1,76 @@
1
+ <%
2
+ @path = "#{rubber_env.cruise_data_dir}/site_config.rb"
3
+ %>
4
+
5
+ # site_config.rb contains examples of various configuration options for the local installation
6
+ # of CruiseControl.rb.
7
+
8
+ # YOU MUST RESTART YOUR CRUISE CONTROL SERVER FOR ANY CHANGES MADE HERE TO TAKE EFFECT!!!
9
+
10
+ # EMAIL NOTIFICATION
11
+ # ------------------
12
+
13
+ # CruiseControl.rb can notify you about build status via email. It uses ActionMailer component of Ruby on Rails
14
+ # framework. Obviously, ActionMailer needs to know how to send out email messages.
15
+ # If you have an SMTP server on your network, and it needs no authentication, write this in your site_config.rb:
16
+ #
17
+ # ActionMailer::Base.smtp_settings = {
18
+ # :address => "yoursmtpserver",
19
+ # :domain => "yourdomain.com",
20
+ # }
21
+ #
22
+ # If you have no SMTP server at hand, you can configure email notification to use GMail SMTP server, as follows
23
+ # (of course, you'll need to create a GMail account):
24
+ #
25
+ # ActionMailer::Base.smtp_settings = {
26
+ # :address => "smtp.gmail.com",
27
+ # :port => 587,
28
+ # :domain => "yourdomain.com",
29
+ # :authentication => :plain,
30
+ # :user_name => "yourgmailaccount",
31
+ # :password => "yourgmailpassword"
32
+ # }
33
+ #
34
+ # The same approach works for other SMTP servers thet require authentication. Note that GMail's SMTP server runs on a
35
+ # non-standard port 587 (standard port for SMTP is 25).
36
+ #
37
+ # For further details about configuration of outgoing email, see Ruby On Rails documentation for ActionMailer::Base.
38
+
39
+ # Other site-wide options are available through Configuration class:
40
+
41
+ # Change how often CC.rb pings Subversion for new requests. Default is 10.seconds, which should be OK for a local
42
+ # SVN repository, but probably isn't very polite for a public repository, such as RubyForge. This can also be set for
43
+ # each project individually, through project.scheduler.polling_interval option:
44
+ Configuration.default_polling_interval = 1.minute
45
+
46
+ # How often the dashboard page refreshes itself. If you have more than 10-20 dashboards open,
47
+ # it is advisable to set it to something higher than the default 5 seconds:
48
+ # Configuration.dashboard_refresh_interval = 20.seconds
49
+
50
+ # Site-wide setting for the email "from" field. This can also be set on per-project basis,
51
+ # through project.email.notifier.from attribute
52
+ Configuration.email_from = 'cruisecontrolrb@<%= rubber_env.domain %>'
53
+
54
+ # Root URL of the dashboard application. Setting this attribute allows various notifiers to include a link to the
55
+ # build page in the notification message.
56
+ Configuration.dashboard_url = 'http://<%= rubber_instances.for_role('cruise').first.full_name %>/cruise'
57
+
58
+ # If you don't want to allow triggering builds through dashboard Build Now button. Useful when you host CC.rb as a
59
+ # public web site (such as http://cruisecontrolrb.thoughtworks.com/projects - try clicking on Build Now button there
60
+ # and see what happens):
61
+ # Configuration.disable_build_now = true
62
+
63
+ # If you want to only allow one project to build at a time, uncomment this line
64
+ # by default, cruise allows multiple projects to build at a time
65
+ # Configuration.serialize_builds = true
66
+
67
+ # Amount of time a project will wait to build before failing when build serialization is on
68
+ # Configuration.serialized_build_timeout = 3.hours
69
+
70
+ # To delete build when there are more than a certain number present, uncomment this line - it will make the dashboard
71
+ # perform better
72
+ BuildReaper.number_of_builds_to_keep = 20
73
+
74
+ # any files that you'd like to override in cruise, keep in ~/.cruise, and copy over when this file is loaded like this
75
+ site_css = CRUISE_DATA_ROOT + "/site.css"
76
+ FileUtils.cp site_css, RUBBER_ROOT + "/public/stylesheets/site.css" if File.exists? site_css
@@ -0,0 +1,11 @@
1
+ <%
2
+ cruise_host = rubber_instances.for_role('cruise').first
3
+ @path = "/etc/nginx/rubber/tools/cruise.conf"
4
+ %>
5
+
6
+ <% if cruise_host %>
7
+ location /cruise
8
+ {
9
+ proxy_pass http://<%= cruise_host.full_name %>:<%= rubber_env.cruise_port %>;
10
+ }
11
+ <% end %>
@@ -0,0 +1,18 @@
1
+
2
+ # These will probably need to be used by the rubber module used for the internal http role
3
+
4
+ # REQUIRED: This determines where cruisecontrol gets installed
5
+ cruise_dir: /mnt/cruisecontrolrb
6
+ cruise_data_dir: /root/.cruise
7
+ cruise_project_dir: "#{cruise_data_dir}/projects/#{app_name}/work"
8
+
9
+ cruise_port: 3333
10
+
11
+ # REQUIRED: The git repo to fetch your project from
12
+ # cruise_repository: git@github.com:mylogin/myproject.git
13
+
14
+ roles:
15
+ cruise:
16
+ gems: [grit, mime-types, mongrel]
17
+ packages: [mysql-server]
18
+
@@ -0,0 +1 @@
1
+ description: The cruisecontrol.rb (CI server) module
@@ -0,0 +1,45 @@
1
+
2
+ namespace :rubber do
3
+
4
+ namespace :haproxy do
5
+
6
+ rubber.allow_optional_tasks(self)
7
+
8
+ # serial_task can only be called after roles defined - not normally a problem, but
9
+ # rubber auto-roles don't get defined till after all tasks are defined
10
+ on :load do
11
+ rubber.serial_task self, :serial_restart, :roles => :haproxy do
12
+ rsudo "service haproxy restart"
13
+ end
14
+ rubber.serial_task self, :serial_reload, :roles => :haproxy do
15
+ rsudo "if ! ps ax | grep -v grep | grep -c haproxy &> /dev/null; then service haproxy start; else service haproxy reload; fi"
16
+ end
17
+ end
18
+
19
+ before "deploy:stop", "rubber:haproxy:stop"
20
+ after "deploy:start", "rubber:haproxy:start"
21
+ after "deploy:restart", "rubber:haproxy:reload"
22
+
23
+ desc "Stops the haproxy server"
24
+ task :stop, :roles => :haproxy do
25
+ rsudo "service haproxy stop; exit 0"
26
+ end
27
+
28
+ desc "Starts the haproxy server"
29
+ task :start, :roles => :haproxy do
30
+ rsudo "service haproxy start"
31
+ end
32
+
33
+ desc "Restarts the haproxy server"
34
+ task :restart, :roles => :haproxy do
35
+ serial_restart
36
+ end
37
+
38
+ desc "Reloads the haproxy web server"
39
+ task :reload, :roles => :haproxy do
40
+ serial_reload
41
+ end
42
+
43
+ end
44
+
45
+ end
@@ -0,0 +1,26 @@
1
+ <%
2
+ @path = "/etc/haproxy/haproxy.cfg"
3
+ %>
4
+ global
5
+ log 127.0.0.1 local0 warning
6
+ maxconn 1024
7
+
8
+ defaults
9
+ log global
10
+ mode http
11
+ retries 3
12
+ balance roundrobin
13
+ option abortonclose
14
+ option redispatch
15
+ contimeout 4000
16
+ clitimeout 150000
17
+ srvtimeout 30000
18
+
19
+ # Admin interface for proxy stats
20
+ listen admin 0.0.0.0:<%= rubber_env.haproxy_admin_port %>
21
+ stats uri /haproxy
22
+
23
+ # So monit can check on haproxy
24
+ # simple response : 'OK'
25
+ listen health_check 0.0.0.0:<%= rubber_env.haproxy_monitor_port %>
26
+ mode health
@@ -0,0 +1,8 @@
1
+ <%
2
+ @path = '/etc/default/haproxy'
3
+ %>
4
+
5
+ # Set ENABLED to 1 if you want the init script to start haproxy.
6
+ ENABLED=1
7
+ # Add extra flags here.
8
+ #EXTRAOPTS="-de -m 16"
@@ -0,0 +1,9 @@
1
+ <%
2
+ @path = '/etc/monit/monit.d/monit-haproxy.conf'
3
+ %>
4
+ <% PIDFILE = "/var/run/haproxy.pid" %>
5
+ check process haproxy with pidfile <%= PIDFILE %>
6
+ group haproxy-<%= RUBBER_ENV %>
7
+ start program = "/usr/bin/env service haproxy start"
8
+ stop program = "/usr/bin/env service haproxy stop"
9
+ if failed host <%= rubber_env.host %> port <%= rubber_env.haproxy_monitor_port %> with timeout 10 seconds for 10 cycles then restart
@@ -0,0 +1,11 @@
1
+ <%
2
+ is_rsyslog = File.exist?('/etc/init.d/rsyslog')
3
+ if is_rsyslog
4
+ @path = "/etc/rsyslog.d/haproxy.conf"
5
+ @post = "service rsyslog restart"
6
+ else
7
+ @path = "/etc/syslog.conf"
8
+ @post = "/etc/init.d/sysklogd restart"
9
+ end
10
+ %>
11
+ local0.* /var/log/haproxy.log
@@ -0,0 +1,21 @@
1
+ <%
2
+ is_rsyslog = File.exist?('/etc/init.d/rsyslog')
3
+ @skip = is_rsyslog
4
+ @path = "/etc/default/syslogd"
5
+ @post = "/etc/init.d/sysklogd restart"
6
+ %>
7
+ # This file goes away once we remove backward compatibility for sysklog
8
+ # in alestic AMIs
9
+ #
10
+ # Top configuration file for syslogd
11
+ #
12
+
13
+ #
14
+ # Full documentation of possible arguments are found in the manpage
15
+ # syslogd(8).
16
+ #
17
+
18
+ #
19
+ # For remote UDP logging use SYSLOGD="-r"
20
+ #
21
+ SYSLOGD="-r"
@@ -0,0 +1,10 @@
1
+ <%
2
+ @path = "/etc/nginx/rubber/tools/haproxy.conf"
3
+ %>
4
+
5
+ <% rubber_instances.for_role('haproxy').each do |ic| %>
6
+ location /haproxy_<%= ic.name %>
7
+ {
8
+ proxy_pass http://<%= ic.full_name %>:<%= rubber_env.haproxy_admin_port %>;
9
+ }
10
+ <% end %>
@@ -0,0 +1,7 @@
1
+
2
+ haproxy_monitor_port: 60001
3
+ haproxy_admin_port: 9100
4
+
5
+ roles:
6
+ haproxy:
7
+ packages: [haproxy]
@@ -0,0 +1 @@
1
+ description: The haproxy module
@@ -0,0 +1,59 @@
1
+
2
+ namespace :rubber do
3
+
4
+ namespace :jetty do
5
+
6
+ rubber.allow_optional_tasks(self)
7
+
8
+ after "rubber:install_packages", "rubber:jetty:custom_install"
9
+
10
+ task :custom_install, :roles => :jetty do
11
+ rubber.sudo_script 'install_jetty', <<-ENDSCRIPT
12
+ if [[ -z `ls #{rubber_env.jetty_prefix}/jetty-hightide-#{rubber_env.jetty_version} 2> /dev/null` ]]; then
13
+ wget -qN http://dist.codehaus.org/jetty/jetty-hightide-7.0.0/jetty-hightide-#{rubber_env.jetty_version}.tar.gz
14
+ tar -zxf jetty-hightide-#{rubber_env.jetty_version}.tar.gz
15
+
16
+ # Install to appropriate location.
17
+ mv jetty-hightide-#{rubber_env.jetty_version} #{rubber_env.jetty_prefix}
18
+ rm -f #{rubber_env.jetty_dir}
19
+ ln -s #{rubber_env.jetty_prefix}/jetty-hightide-#{rubber_env.jetty_version} #{rubber_env.jetty_dir}
20
+ chmod 744 #{rubber_env.jetty_dir}/bin/*.sh
21
+
22
+ # Cleanup the jetty distribution
23
+ rm -r #{rubber_env.jetty_dir}/webapps/*
24
+ rm -r #{rubber_env.jetty_dir}/contexts/test.d/
25
+
26
+ for file in #{rubber_env.jetty_dir}/contexts/*.xml; do
27
+ mv $file $file.example
28
+ done
29
+
30
+ # Cleanup after ourselves.
31
+ rm jetty-hightide-#{rubber_env.jetty_version}.tar.gz
32
+ fi
33
+ ENDSCRIPT
34
+ end
35
+
36
+ after "rubber:setup_app_permissions", "rubber:jetty:setup_jetty_permissions"
37
+
38
+ task :setup_jetty_permissions, :roles => :jetty do
39
+ rsudo "chown -R #{rubber_env.app_user}:#{rubber_env.app_user} #{rubber_env.jetty_dir}"
40
+ end
41
+
42
+ before "deploy:stop", "rubber:jetty:stop"
43
+ after "deploy:start", "rubber:jetty:start"
44
+ after "deploy:restart", "rubber:jetty:restart"
45
+
46
+ task :restart, :roles => :jetty do
47
+ rsudo "#{rubber_env.jetty_dir}/bin/jetty.sh restart"
48
+ end
49
+
50
+ task :stop, :roles => :jetty do
51
+ rsudo "#{rubber_env.jetty_dir}/bin/jetty.sh stop"
52
+ end
53
+
54
+ task :start, :roles => :jetty do
55
+ rsudo "#{rubber_env.jetty_dir}/bin/jetty.sh start"
56
+ end
57
+
58
+ end
59
+ end