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
@@ -1 +0,0 @@
1
- description: The nginx module, configured to act as the front end for a web application backend server.
@@ -1,38 +0,0 @@
1
- namespace :rubber do
2
-
3
- namespace :resque_worker_default do
4
-
5
- rubber.allow_optional_tasks(self)
6
-
7
- before "deploy:stop", "rubber:resque_worker_default:stop"
8
- after "deploy:start", "rubber:resque_worker_default:start"
9
- after "deploy:restart", "rubber:resque_worker_default:restart"
10
-
11
- desc "Starts default resque worker"
12
- task :start, :roles => :resque_worker_default do
13
- as = fetch(:runner, "app")
14
- via = fetch(:run_method, :sudo)
15
- rubber_env.resque_worker_default_count.times do |i|
16
- invoke_command "sh -c 'cd #{current_path}; RAILS_ENV=#{rails_env} QUEUE=* nohup rake resque:work &> log/resque_worker_default_#{i}.log & echo $! > tmp/pids/resque_worker_default_#{i}.pid'", :via => via, :as => as
17
- end
18
- end
19
-
20
- desc "Stops default resque worker"
21
- task :stop, :roles => :resque_worker_default do
22
- as = fetch(:runner, "app")
23
- via = fetch(:run_method, :sudo)
24
- rubber_env.resque_worker_default_count.times do |i|
25
- invoke_command "sh -c 'cd #{current_path} && kill `cat tmp/pids/resque_worker_default_#{i}.pid` && rm -f tmp/pids/resque_worker_default_#{i}.pid; exit 0;'", :via => via, :as => as
26
- end
27
-
28
- sleep 11 #wait for process to finish
29
- end
30
-
31
- desc "Restarts default resque worker"
32
- task :restart, :roles => :resque_worker_default do
33
- rubber.resque_worker_default.stop
34
- rubber.resque_worker_default.start
35
- end
36
- end
37
-
38
- end
@@ -1,19 +0,0 @@
1
- <%
2
- @path = '/etc/monit/monit.d/monit-resque_worker_default.conf'
3
- %>
4
-
5
- <% rubber_env.resque_worker_default_count.times do |i| %>
6
- <%
7
- PIDFILE = "#{RUBBER_ROOT}/tmp/pids/resque_worker_default_#{i}.pid"
8
-
9
- start_program = "/usr/bin/sudo -u #{rubber_env.app_user} sh -c 'cd #{RUBBER_ROOT}; RAILS_ENV=#{RUBBER_ENV} QUEUE=* nohup rake resque:work &> log/resque_worker_default_#{i}.log & echo $! > tmp/pids/resque_worker_default_#{i}.pid'"
10
- stop_program = "/usr/bin/sudo -u #{rubber_env.app_user} sh -c 'cd #{RUBBER_ROOT} && kill `cat tmp/pids/resque_worker_default_#{i}.pid` && rm -f tmp/pids/resque_worker_default_#{i}.pid'"
11
- %>
12
-
13
- check process resque_worker_default_<%= i %> with pidfile <%= PIDFILE %>
14
- group resque_worker_default
15
- start program = "<%= start_program %>"
16
- stop program = "<%= stop_program %>"
17
-
18
- if totalmem > 200.0 MB for 5 cycles then restart
19
- <% end %>
@@ -1,43 +0,0 @@
1
- namespace :rubber do
2
-
3
- namespace :unicorn do
4
-
5
- rubber.allow_optional_tasks(self)
6
-
7
- # serial_task can only be called after roles defined - not normally a problem, but
8
- # rubber auto-roles don't get defined till after all tasks are defined
9
- on :load do
10
- rubber.serial_task self, :serial_restart, :roles => :unicorn do
11
- run "/etc/init.d/unicorn restart"
12
- end
13
- rubber.serial_task self, :serial_reload, :roles => :unicorn do
14
- run "if ! ps ax | grep -v grep | grep -c unicorn_rails &> /dev/null; then /etc/init.d/unicorn start; else /etc/init.d/unicorn reload; fi"
15
- end
16
- end
17
-
18
- before "deploy:stop", "rubber:unicorn:stop"
19
- after "deploy:start", "rubber:unicorn:start"
20
- after "deploy:restart", "rubber:unicorn:reload"
21
-
22
- desc "Stops the unicorn web server"
23
- task :stop, :roles => :unicorn, :on_error => :continue do
24
- run "/etc/init.d/unicorn stop"
25
- end
26
-
27
- desc "Starts the unicorn web server"
28
- task :start, :roles => :unicorn do
29
- run "/etc/init.d/unicorn start"
30
- end
31
-
32
- desc "Restarts the unicorn web server"
33
- task :restart, :roles => :unicorn do
34
- serial_restart
35
- end
36
-
37
- desc "Reloads the unicorn web server"
38
- task :reload, :roles => :unicorn do
39
- serial_reload
40
- end
41
-
42
- end
43
- end
@@ -1,90 +0,0 @@
1
- <%
2
- @path = "/etc/nginx_frontend/unicorn_nginx_server.conf"
3
-
4
- # For unicorn nodes running on the same host as nginx, we can use unix domain sockets, otherwise fall back to TCP
5
- unicorn_nodes = rubber_instances.for_role('nginx_frontend')
6
- self_instance = rubber_instances[rubber_env.host]
7
-
8
- # Instead of pointing to the real release dir, we point to the capistrano symlink (current). This allows us to
9
- # do hot deploys without restarting nginx.
10
- deploy_to = "/mnt/#{rubber_env.app_name}-#{RUBBER_ENV}"
11
- -%>
12
-
13
- # this can be any application server, not just Unicorn/Rainbows!
14
- upstream app_server {
15
- # fail_timeout=0 means we always retry an upstream even if it failed
16
- # to return a good HTTP response (in case the Unicorn master nukes a
17
- # single worker for timing out).
18
-
19
- <% unicorn_nodes.each do |n| %>
20
- <% if self_instance.full_name == n.full_name %>
21
- # for UNIX domain socket setups:
22
- server unix:/tmp/.sock fail_timeout=0;
23
- <% else %>
24
- server <%= n.full_name %>:8080 fail_timeout=0;
25
- <% endif %>
26
- <% end %>
27
- }
28
-
29
- server {
30
- #listen 80;
31
- listen 80 default deferred; # for Linux
32
- client_max_body_size 1G;
33
-
34
- server_name _;
35
- root <%= "#{deploy_to}/current/public" %>;
36
-
37
- # If we have Rails-style proxy-busting query string, do internal redirect to special location which adds a far-future expire header.
38
- # When opening static assets without proxy-busting query string, we do not redirect, and do not set the expire header (for example when referencing images from css files not parsed by rails
39
- if ($query_string ~* "^[0-9]{10}$") {
40
- rewrite ^(.*) /add_expires_header$1;
41
- break;
42
- }
43
- location /add_expires_header {
44
- expires max;
45
- }
46
-
47
- location / {
48
- # an HTTP header important enough to have its own Wikipedia entry:
49
- # http://en.wikipedia.org/wiki/X-Forwarded-For
50
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
51
-
52
- # enable this if and only if you use HTTPS, this helps Rack
53
- # set the proper protocol for doing redirects:
54
- # proxy_set_header X-Forwarded-Proto https;
55
-
56
- # pass the Host: header from the client right along so redirects
57
- # can be set properly within the Rack application
58
- proxy_set_header Host $http_host;
59
-
60
- # we don't want nginx trying to do something clever with
61
- # redirects, we set the Host: header above already.
62
- proxy_redirect off;
63
-
64
- # set "proxy_buffering off" *only* for Rainbows! when doing
65
- # Comet/long-poll stuff. It's also safe to set if you're
66
- # using only serving fast clients with Unicorn + nginx.
67
- # Otherwise you _want_ nginx to buffer responses to slow
68
- # clients, really.
69
- # proxy_buffering off;
70
-
71
- # Try to serve static files from nginx, no point in making an
72
- # *application* server like Unicorn/Rainbows! serve static files.
73
- if (!-f $request_filename) {
74
- proxy_pass http://app_server;
75
- break;
76
- }
77
- }
78
-
79
- # TODO: Move this into our app
80
- location /private/3sellers/ {
81
- internal;
82
- alias <%= deploy_to %>/shared/private/3sellers/;
83
- }
84
-
85
- # Rails error pages
86
- error_page 500 502 503 504 /500.html;
87
- location = /500.html {
88
- root <%= deploy_to %>/current/public;
89
- }
90
- }
@@ -1,16 +0,0 @@
1
- <%
2
- @path = "/etc/logrotate.d/unicorn"
3
- @no_backup = true
4
-
5
- deploy_to = "/mnt/#{rubber_env.app_name}-#{RUBBER_ENV}"
6
- -%>
7
- <%= deploy_to %>/shared/log/unicorn*.log {
8
- daily
9
- missingok
10
- dateext
11
- create 640 <%= rubber_env.app_user %> <%= rubber_env.app_user %>
12
- sharedscripts
13
- postrotate
14
- [ ! -f <%= deploy_to %>/shared/pids/unicorn.pid ] || kill -USR1 `cat <%= deploy_to %>/shared/pids/unicorn.pid`
15
- endscript
16
- }
@@ -1,10 +0,0 @@
1
- <%
2
- @path = '/etc/monit/monit.d/monit-unicorn.conf'
3
-
4
- deploy_to = "/mnt/#{rubber_env.app_name}-#{RUBBER_ENV}"
5
- %>
6
- <% PIDFILE = "#{deploy_to}/shared/pids/unicorn.pid" %>
7
- check process unicorn with pidfile <%= PIDFILE %>
8
- group unicorn-<%= RUBBER_ENV %>
9
- start program = "/etc/init.d/unicorn start"
10
- stop program = "/etc/init.d/unicorn stop"
@@ -1,327 +0,0 @@
1
- <%
2
- @path = "/etc/init.d/unicorn"
3
-
4
- deploy_to = "/mnt/#{rubber_env.app_name}-#{RUBBER_ENV}"
5
- -%>
6
- #! /bin/sh
7
- ### BEGIN INIT INFO
8
- # Provides: unicorn_rails
9
- # Required-Start: $remote_fs $syslog
10
- # Required-Stop: $remote_fs $syslog
11
- # Default-Start: 2 3 4 5
12
- # Default-Stop: 0 1 6
13
- # Short-Description: unicorn_rails init.d dash script for Ubuntu <=9.10.
14
- # Description: unicorn_rails init.d dash script for Ubuntu <=9.10.
15
- ### END INIT INFO
16
- #------------------------------------------------------------------------------
17
- # unicorn - this Debian Almquist shell (dash) script, starts and stops the unicorn
18
- # daemon for ubuntu 9.10 and lesser version numbered releases.
19
- #
20
- # description: Unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, \
21
- # high-bandwidth connections and take advantage of features in Unix/Unix-like kernels. Slow clients \
22
- # should only be served by placing a reverse proxy capable of fully buffering both the the request and \
23
- # response in between Unicorn and slow clients.
24
- #
25
- # processname: unicorn_rails
26
- # config: /etc/unicorn/unicorn.conf
27
- # pidfile: <% "#{deploy_to}/shared/pids/unicorn.pid" %>
28
- # Provides: unicorn_rails
29
- #
30
- # Author: Henning Kiel
31
- # <henning.kiel AT gmail.com>.
32
- #
33
- # Version: 0.1 18-FEB-2010 henning.kiel AT gmail.com
34
- # Notes: unicorn_rails init.d dash script for Ubuntu <=9.10.
35
- #
36
- #------------------------------------------------------------------------------
37
- # MIT X11 License
38
- #------------------------------------------------------------------------------
39
- #
40
- # Copyright (c) 2010 Henning Kiel, http://www.axtro.es
41
- #
42
- # Permission is hereby granted, free of charge, to any person obtaining
43
- # a copy of this software and associated documentation files (the
44
- # "Software"), to deal in the Software without restriction, including
45
- # without limitation the rights to use, copy, modify, merge, publish,
46
- # distribute, sublicense, and/or sell copies of the Software, and to
47
- # permit persons to whom the Software is furnished to do so, subject to
48
- # the following conditions:
49
- #
50
- # The above copyright notice and this permission notice shall be
51
- # included in all copies or substantial portions of the Software.
52
- #
53
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
54
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
55
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
56
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
57
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
58
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
59
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
60
- #------------------------------------------------------------------------------
61
-
62
- #------------------------------------------------------------------------------
63
- # Functions
64
- #------------------------------------------------------------------------------
65
- . /lib/lsb/init-functions
66
-
67
- #------------------------------------------------------------------------------
68
- # Consts
69
- #------------------------------------------------------------------------------
70
- PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
71
- DAEMON=/usr/local/bin/unicorn_rails
72
-
73
- PS="unicorn_rails"
74
- PIDNAME="unicorn" #lets you do $PS-slave
75
- PIDFILE=$PIDNAME.pid #pid file
76
- PIDSPATH=<% "#{deploy_to}/shared/pids %>
77
-
78
- DESCRIPTION="Unicorn Server..."
79
-
80
- RUNAS=<%= rubber_env.app_user %> #user to run as
81
-
82
- SCRIPT_OK=0 #ala error codes
83
- SCRIPT_ERROR=1 #ala error codes
84
- TRUE=1 #boolean
85
- FALSE=0 #boolean
86
-
87
- UNICORN_CONF_FILE="/etc/unicorn/unicorn.conf"
88
-
89
- #------------------------------------------------------------------------------
90
- # Simple Tests
91
- #------------------------------------------------------------------------------
92
-
93
- #test if unicorn_rails is a file and executable
94
- test -x $DAEMON || exit 0
95
-
96
- # Include unicorn_rails defaults if available
97
- if [ -f /etc/default/unicorn_rails ] ; then
98
- . /etc/default/unicorn_rails
99
- fi
100
-
101
- #set exit condition
102
- #set -e
103
-
104
- #------------------------------------------------------------------------------
105
- # Functions
106
- #------------------------------------------------------------------------------
107
-
108
- setFilePerms(){
109
-
110
- if [ -f $PIDSPATH/$PIDFILE ]; then
111
- chmod 400 $PIDSPATH/$PIDFILE
112
- fi
113
- }
114
-
115
- configtest() {
116
- $DAEMON -t -c $UNICORN_CONF_FILE
117
- }
118
-
119
- getPSCount() {
120
- return `pgrep -f $PS | wc -l`
121
- }
122
-
123
- isRunning() {
124
- if [ $1 ]; then
125
- pidof_daemon $1
126
- PID=$?
127
-
128
- if [ $PID -gt 0 ]; then
129
- return 1
130
- else
131
- return 0
132
- fi
133
- else
134
- pidof_daemon
135
- PID=$?
136
-
137
- if [ $PID -gt 0 ]; then
138
- return 1
139
- else
140
- return 0
141
- fi
142
- fi
143
- }
144
-
145
- #courtesy of php-fpm
146
- wait_for_pid () {
147
- try=0
148
-
149
- while test $try -lt 35 ; do
150
-
151
- case "$1" in
152
- 'created')
153
- if [ -f "$2" ] ; then
154
- try=''
155
- break
156
- fi
157
- ;;
158
-
159
- 'removed')
160
- if [ ! -f "$2" ] ; then
161
- try=''
162
- break
163
- fi
164
- ;;
165
- esac
166
-
167
- #echo -n .
168
- try=`expr $try + 1`
169
- sleep 1
170
- done
171
- }
172
-
173
- status(){
174
- isRunning
175
- isAlive=$?
176
-
177
- if [ "${isAlive}" -eq $TRUE ]; then
178
- echo "$PIDNAME found running with processes: `pidof $PS`"
179
- else
180
- echo "$PIDNAME is NOT running."
181
- fi
182
-
183
-
184
- }
185
-
186
- removePIDFile(){
187
- if [ $1 ]; then
188
- if [ -f $1 ]; then
189
- rm -f $1
190
- fi
191
- else
192
- #Do default removal
193
- if [ -f $PIDSPATH/$PIDFILE ]; then
194
- rm -f $PIDSPATH/$PIDFILE
195
- fi
196
- fi
197
- }
198
-
199
- start() {
200
- log_daemon_msg "Starting $DESCRIPTION"
201
-
202
- isRunning
203
- isAlive=$?
204
-
205
- if [ "${isAlive}" -eq $TRUE ]; then
206
- log_end_msg $SCRIPT_ERROR
207
- else
208
- start-stop-daemon --start --quiet --chuid $RUNAS --pidfile $PIDSPATH/$PIDFILE --exec $DAEMON \
209
- -- -c $UNICORN_CONF_FILE
210
- setFilePerms
211
- log_end_msg $SCRIPT_OK
212
- fi
213
- }
214
-
215
- stop() {
216
- log_daemon_msg "Stopping $DESCRIPTION"
217
-
218
- isRunning
219
- isAlive=$?
220
- if [ "${isAlive}" -eq $TRUE ]; then
221
- start-stop-daemon --stop --quiet --pidfile $PIDSPATH/$PIDFILE
222
-
223
- wait_for_pid 'removed' $PIDSPATH/$PIDFILE
224
-
225
- if [ -n "$try" ] ; then
226
- log_end_msg $SCRIPT_ERROR
227
- else
228
- removePIDFile
229
- log_end_msg $SCRIPT_OK
230
- fi
231
-
232
- else
233
- log_end_msg $SCRIPT_ERROR
234
- fi
235
- }
236
-
237
- reload() {
238
- configtest || return $?
239
-
240
- log_daemon_msg "Reloading (via HUP) $DESCRIPTION"
241
-
242
- isRunning
243
- if [ $? -eq $TRUE ]; then
244
- `killall -HUP $PS` #to be safe
245
-
246
- log_end_msg $SCRIPT_OK
247
- else
248
- log_end_msg $SCRIPT_ERROR
249
- fi
250
- }
251
-
252
- terminate() {
253
- log_daemon_msg "Force terminating (via KILL) $DESCRIPTION"
254
-
255
- PIDS=`pidof $PS` || true
256
-
257
- [ -e $PIDSPATH/$PIDFILE ] && PIDS2=`cat $PIDSPATH/$PIDFILE`
258
-
259
- for i in $PIDS; do
260
- if [ "$i" = "$PIDS2" ]; then
261
- kill $i
262
- wait_for_pid 'removed' $PIDSPATH/$PIDFILE
263
- removePIDFile
264
- fi
265
- done
266
-
267
- log_end_msg $SCRIPT_OK
268
- }
269
-
270
- destroy() {
271
- log_daemon_msg "Force terminating and may include self (via KILLALL) $DESCRIPTION"
272
- killall $PS -q >> /dev/null 2>&1
273
- log_end_msg $SCRIPT_OK
274
- }
275
-
276
- pidof_daemon() {
277
- PIDS=`pidof $PS` || true
278
-
279
- [ -e $PIDSPATH/$PIDFILE ] && PIDS2=`cat $PIDSPATH/$PIDFILE`
280
-
281
- for i in $PIDS; do
282
- if [ "$i" = "$PIDS2" ]; then
283
- return 1
284
- fi
285
- done
286
- return 0
287
- }
288
-
289
- case "$1" in
290
- start)
291
- start
292
- ;;
293
- stop)
294
- stop
295
- ;;
296
- restart|force-reload)
297
- stop
298
- sleep 1
299
- start
300
- ;;
301
- reload)
302
- $1
303
- ;;
304
- status)
305
- status
306
- ;;
307
- configtest)
308
- $1
309
- ;;
310
- quietupgrade)
311
- $1
312
- ;;
313
- terminate)
314
- $1
315
- ;;
316
- destroy)
317
- $1
318
- ;;
319
- *)
320
- FULLPATH=/etc/init.d/$PS
321
- echo "Usage: $FULLPATH {start|stop|restart|force-reload|status|configtest|quietupgrade|terminate|destroy}"
322
- echo " The 'destroy' command should only be used as a last resort."
323
- exit 1
324
- ;;
325
- esac
326
-
327
- exit 0