rubber-jcarnegie 0.0.1

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 (396) hide show
  1. data/CHANGELOG +477 -0
  2. data/COPYING +339 -0
  3. data/README +6 -0
  4. data/TODO +11 -0
  5. data/VERSION +1 -0
  6. data/bin/vulcanize +25 -0
  7. data/generators/vulcanize/USAGE +6 -0
  8. data/generators/vulcanize/templates/apache/config/rubber/deploy-apache.rb +51 -0
  9. data/generators/vulcanize/templates/apache/config/rubber/role/apache/deflate.conf +10 -0
  10. data/generators/vulcanize/templates/apache/config/rubber/role/apache/expires.conf +9 -0
  11. data/generators/vulcanize/templates/apache/config/rubber/role/apache/headers.conf +6 -0
  12. data/generators/vulcanize/templates/apache/config/rubber/role/apache/monit-apache.conf +8 -0
  13. data/generators/vulcanize/templates/apache/config/rubber/role/apache/ports.conf +8 -0
  14. data/generators/vulcanize/templates/apache/config/rubber/role/apache/setenvif.conf +52 -0
  15. data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +79 -0
  16. data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache.auth +7 -0
  17. data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +34 -0
  18. data/generators/vulcanize/templates/apache/config/rubber/rubber-apache.yml +6 -0
  19. data/generators/vulcanize/templates/apache/templates.yml +1 -0
  20. data/generators/vulcanize/templates/base/Capfile +14 -0
  21. data/generators/vulcanize/templates/base/Rakefile +23 -0
  22. data/generators/vulcanize/templates/base/config/deploy.rb +56 -0
  23. data/generators/vulcanize/templates/base/config/rubber/common/crontab +22 -0
  24. data/generators/vulcanize/templates/base/config/rubber/common/monit-postfix.conf +8 -0
  25. data/generators/vulcanize/templates/base/config/rubber/common/rubber.profile +13 -0
  26. data/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +92 -0
  27. data/generators/vulcanize/templates/base/config/rubber/deploy-util.rb +97 -0
  28. data/generators/vulcanize/templates/base/config/rubber/rubber-dns.yml +78 -0
  29. data/generators/vulcanize/templates/base/config/rubber/rubber-rvm.yml +33 -0
  30. data/generators/vulcanize/templates/base/config/rubber/rubber.yml +241 -0
  31. data/generators/vulcanize/templates/base/lib/tasks/rubber.rake +15 -0
  32. data/generators/vulcanize/templates/base/script/cron-rake +18 -0
  33. data/generators/vulcanize/templates/base/script/cron-runner +18 -0
  34. data/generators/vulcanize/templates/base/script/cron-sh +67 -0
  35. data/generators/vulcanize/templates/base/templates.rb +11 -0
  36. data/generators/vulcanize/templates/base/templates.yml +6 -0
  37. data/generators/vulcanize/templates/cassandra/config/rubber/deploy-cassandra.rb +88 -0
  38. data/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.in.sh +60 -0
  39. data/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.yaml +210 -0
  40. data/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/log4j-server.properties +45 -0
  41. data/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/monit-cassandra.conf +8 -0
  42. data/generators/vulcanize/templates/cassandra/config/rubber/rubber-cassandra.yml +18 -0
  43. data/generators/vulcanize/templates/cassandra/templates.yml +1 -0
  44. data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf +23 -0
  45. data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/nginx/nginx-mongrel.conf +113 -0
  46. data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/rubber-complete.yml +41 -0
  47. data/generators/vulcanize/templates/complete_mongrel_mysql/templates.yml +6 -0
  48. data/generators/vulcanize/templates/complete_passenger/config/rubber/role/haproxy/haproxy-passenger.conf +21 -0
  49. data/generators/vulcanize/templates/complete_passenger/config/rubber/rubber-complete.yml +40 -0
  50. data/generators/vulcanize/templates/complete_passenger/templates.rb +9 -0
  51. data/generators/vulcanize/templates/complete_passenger/templates.yml +9 -0
  52. data/generators/vulcanize/templates/complete_passenger_mysql/templates.yml +4 -0
  53. data/generators/vulcanize/templates/complete_passenger_postgresql/templates.yml +4 -0
  54. data/generators/vulcanize/templates/cruise/config/rubber/deploy-cruise.rb +72 -0
  55. data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/cruise +40 -0
  56. data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/my.cnf +165 -0
  57. data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/production.rb +8 -0
  58. data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/site_config.rb +76 -0
  59. data/generators/vulcanize/templates/cruise/config/rubber/role/web_tools/cruise-nginx.conf +11 -0
  60. data/generators/vulcanize/templates/cruise/config/rubber/rubber-cruise.yml +18 -0
  61. data/generators/vulcanize/templates/cruise/templates.yml +1 -0
  62. data/generators/vulcanize/templates/haproxy/config/rubber/deploy-haproxy.rb +45 -0
  63. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-base.conf +26 -0
  64. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-default.conf +8 -0
  65. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/monit-haproxy.conf +9 -0
  66. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +11 -0
  67. data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslogd-default.conf +21 -0
  68. data/generators/vulcanize/templates/haproxy/config/rubber/role/web_tools/haproxy-nginx.conf +10 -0
  69. data/generators/vulcanize/templates/haproxy/config/rubber/rubber-haproxy.yml +7 -0
  70. data/generators/vulcanize/templates/haproxy/templates.yml +1 -0
  71. data/generators/vulcanize/templates/jetty/config/rubber/deploy-jetty.rb +59 -0
  72. data/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.sh +589 -0
  73. data/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.xml +199 -0
  74. data/generators/vulcanize/templates/jetty/config/rubber/role/jetty/monit-jetty.conf +9 -0
  75. data/generators/vulcanize/templates/jetty/config/rubber/rubber-jetty.yml +10 -0
  76. data/generators/vulcanize/templates/jetty/templates.yml +1 -0
  77. data/generators/vulcanize/templates/memcached/config/memcached.yml +28 -0
  78. data/generators/vulcanize/templates/memcached/config/rubber/common/memcached.yml +14 -0
  79. data/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached.conf +52 -0
  80. data/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached_munin_plugin +249 -0
  81. data/generators/vulcanize/templates/memcached/config/rubber/rubber-memcached.yml +7 -0
  82. data/generators/vulcanize/templates/memcached/templates.yml +1 -0
  83. data/generators/vulcanize/templates/minimal_mysql/templates.yml +7 -0
  84. data/generators/vulcanize/templates/minimal_nodb/templates.yml +6 -0
  85. data/generators/vulcanize/templates/mongrel/config/rubber/deploy-mongrel.rb +75 -0
  86. data/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/mongrel_cluster.yml +12 -0
  87. data/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/monit-mongrel.conf +20 -0
  88. data/generators/vulcanize/templates/mongrel/config/rubber/rubber-mongrel.yml +9 -0
  89. data/generators/vulcanize/templates/mongrel/templates.yml +1 -0
  90. data/generators/vulcanize/templates/monit/config/rubber/common/monit-default.conf +15 -0
  91. data/generators/vulcanize/templates/monit/config/rubber/common/monit.conf +252 -0
  92. data/generators/vulcanize/templates/monit/config/rubber/deploy-monit.rb +33 -0
  93. data/generators/vulcanize/templates/monit/config/rubber/role/web_tools/monit-admin-nginx.conf +10 -0
  94. data/generators/vulcanize/templates/monit/config/rubber/rubber-monit.yml +6 -0
  95. data/generators/vulcanize/templates/monit/templates.yml +1 -0
  96. data/generators/vulcanize/templates/munin/config/rubber/common/monit-munin.conf +8 -0
  97. data/generators/vulcanize/templates/munin/config/rubber/common/munin-node.conf +48 -0
  98. data/generators/vulcanize/templates/munin/config/rubber/common/munin-plugins.conf +11 -0
  99. data/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +46 -0
  100. data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-nginx.conf +8 -0
  101. data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-plugins.conf +31 -0
  102. data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin.conf +115 -0
  103. data/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +8 -0
  104. data/generators/vulcanize/templates/munin/script/munin/example_mysql_query.rb +55 -0
  105. data/generators/vulcanize/templates/munin/script/munin/example_simple.rb +24 -0
  106. data/generators/vulcanize/templates/munin/templates.yml +1 -0
  107. data/generators/vulcanize/templates/mysql/config/rubber/common/database.yml +12 -0
  108. data/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +169 -0
  109. data/generators/vulcanize/templates/mysql/config/rubber/role/db/apparmor-mysql.conf +46 -0
  110. data/generators/vulcanize/templates/mysql/config/rubber/role/db/crontab +14 -0
  111. data/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf +10 -0
  112. data/generators/vulcanize/templates/mysql/config/rubber/role/db/my.cnf +163 -0
  113. data/generators/vulcanize/templates/mysql/config/rubber/role/mysql_slave/mysql_slave_munin_plugin +51 -0
  114. data/generators/vulcanize/templates/mysql/config/rubber/rubber-mysql.yml +47 -0
  115. data/generators/vulcanize/templates/mysql/templates.yml +1 -0
  116. data/generators/vulcanize/templates/mysql_cluster/config/rubber/common/mysql_cluster_migrations.rb +13 -0
  117. data/generators/vulcanize/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +177 -0
  118. data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_data/my.cnf +15 -0
  119. data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_mgm/ndb_mgmd.cnf +39 -0
  120. data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +10 -0
  121. data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/my.cnf +23 -0
  122. data/generators/vulcanize/templates/mysql_cluster/config/rubber/rubber-mysql_cluster.yml +32 -0
  123. data/generators/vulcanize/templates/mysql_cluster/templates.yml +1 -0
  124. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/database.yml +16 -0
  125. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf +10 -0
  126. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy +153 -0
  127. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.conf +10 -0
  128. data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.lua +5 -0
  129. data/generators/vulcanize/templates/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +52 -0
  130. data/generators/vulcanize/templates/mysql_proxy/config/rubber/rubber-mysql_proxy.yml +11 -0
  131. data/generators/vulcanize/templates/mysql_proxy/templates.yml +1 -0
  132. data/generators/vulcanize/templates/nginx/config/rubber/deploy-nginx.rb +45 -0
  133. data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/crontab +9 -0
  134. data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/monit-nginx.conf +8 -0
  135. data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/nginx.conf +42 -0
  136. data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/nginx-tools.conf +55 -0
  137. data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-index.html +30 -0
  138. data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-nginx.auth +7 -0
  139. data/generators/vulcanize/templates/nginx/config/rubber/rubber-nginx.yml +10 -0
  140. data/generators/vulcanize/templates/nginx/templates.yml +1 -0
  141. data/generators/vulcanize/templates/node/INSTALL_NOTES +20 -0
  142. data/generators/vulcanize/templates/node/config/rubber/deploy-node.rb +33 -0
  143. data/generators/vulcanize/templates/node/config/rubber/rubber-node.yml +1 -0
  144. data/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb +45 -0
  145. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-memory.conf +34 -0
  146. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-sudoers.conf +8 -0
  147. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger.conf +47 -0
  148. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf +48 -0
  149. data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +41 -0
  150. data/generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml +15 -0
  151. data/generators/vulcanize/templates/passenger/templates.yml +3 -0
  152. data/generators/vulcanize/templates/postgresql/config/rubber/common/database.yml +12 -0
  153. data/generators/vulcanize/templates/postgresql/config/rubber/deploy-postgresql.rb +158 -0
  154. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/crontab +14 -0
  155. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/monit-postgresql.conf +10 -0
  156. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/munin-postgresql.conf +7 -0
  157. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/pg_hba.conf +89 -0
  158. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql-sysctl.conf +6 -0
  159. data/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql.conf +531 -0
  160. data/generators/vulcanize/templates/postgresql/config/rubber/rubber-postgresql.yml +45 -0
  161. data/generators/vulcanize/templates/postgresql/templates.yml +1 -0
  162. data/generators/vulcanize/templates/redis/config/rubber/deploy-redis.rb +76 -0
  163. data/generators/vulcanize/templates/redis/config/rubber/role/redis/crontab +8 -0
  164. data/generators/vulcanize/templates/redis/config/rubber/role/redis/monit-redis.conf +9 -0
  165. data/generators/vulcanize/templates/redis/config/rubber/role/redis/redis.conf +320 -0
  166. data/generators/vulcanize/templates/redis/config/rubber/rubber-redis.yml +9 -0
  167. data/generators/vulcanize/templates/redis/templates.yml +1 -0
  168. data/generators/vulcanize/templates/resque/config/initializers/resque.rb +15 -0
  169. data/generators/vulcanize/templates/resque/config/rubber/common/resque.yml +5 -0
  170. data/generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb +58 -0
  171. data/generators/vulcanize/templates/resque/config/rubber/role/resque_web/monit-resque_web.conf +14 -0
  172. data/generators/vulcanize/templates/resque/config/rubber/role/resque_worker/monit-resque_worker.conf +19 -0
  173. data/generators/vulcanize/templates/resque/config/rubber/rubber-resque.yml +18 -0
  174. data/generators/vulcanize/templates/resque/script/resque_worker_management.rb +144 -0
  175. data/generators/vulcanize/templates/resque/templates.rb +1 -0
  176. data/generators/vulcanize/templates/resque/templates.yml +3 -0
  177. data/generators/vulcanize/templates/sphinx/config/rubber/common/sphinx.yml +46 -0
  178. data/generators/vulcanize/templates/sphinx/config/rubber/deploy-sphinx.rb +112 -0
  179. data/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/crontab +11 -0
  180. data/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/monit-sphinx.conf +13 -0
  181. data/generators/vulcanize/templates/sphinx/config/rubber/rubber-sphinx.yml +6 -0
  182. data/generators/vulcanize/templates/sphinx/templates.yml +1 -0
  183. data/generators/vulcanize/vulcanize_generator.rb +184 -0
  184. data/lib/capistrano/hostcmd.rb +12 -0
  185. data/lib/generators/vulcanize/USAGE +6 -0
  186. data/lib/generators/vulcanize/templates/apache/config/rubber/deploy-apache.rb +51 -0
  187. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/deflate.conf +10 -0
  188. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/expires.conf +9 -0
  189. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/headers.conf +6 -0
  190. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/monit-apache.conf +8 -0
  191. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/ports.conf +8 -0
  192. data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/setenvif.conf +52 -0
  193. data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +79 -0
  194. data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache.auth +7 -0
  195. data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +34 -0
  196. data/lib/generators/vulcanize/templates/apache/config/rubber/rubber-apache.yml +6 -0
  197. data/lib/generators/vulcanize/templates/apache/templates.yml +1 -0
  198. data/lib/generators/vulcanize/templates/base/Capfile +14 -0
  199. data/lib/generators/vulcanize/templates/base/Rakefile +23 -0
  200. data/lib/generators/vulcanize/templates/base/config/deploy.rb +56 -0
  201. data/lib/generators/vulcanize/templates/base/config/rubber/common/crontab +22 -0
  202. data/lib/generators/vulcanize/templates/base/config/rubber/common/monit-postfix.conf +8 -0
  203. data/lib/generators/vulcanize/templates/base/config/rubber/common/rubber.profile +13 -0
  204. data/lib/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +92 -0
  205. data/lib/generators/vulcanize/templates/base/config/rubber/deploy-util.rb +97 -0
  206. data/lib/generators/vulcanize/templates/base/config/rubber/rubber-dns.yml +78 -0
  207. data/lib/generators/vulcanize/templates/base/config/rubber/rubber-rvm.yml +33 -0
  208. data/lib/generators/vulcanize/templates/base/config/rubber/rubber.yml +241 -0
  209. data/lib/generators/vulcanize/templates/base/lib/tasks/rubber.rake +15 -0
  210. data/lib/generators/vulcanize/templates/base/script/cron-rake +18 -0
  211. data/lib/generators/vulcanize/templates/base/script/cron-runner +18 -0
  212. data/lib/generators/vulcanize/templates/base/script/cron-sh +67 -0
  213. data/lib/generators/vulcanize/templates/base/templates.rb +11 -0
  214. data/lib/generators/vulcanize/templates/base/templates.yml +6 -0
  215. data/lib/generators/vulcanize/templates/cassandra/config/rubber/deploy-cassandra.rb +88 -0
  216. data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.in.sh +60 -0
  217. data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.yaml +210 -0
  218. data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/log4j-server.properties +45 -0
  219. data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/monit-cassandra.conf +8 -0
  220. data/lib/generators/vulcanize/templates/cassandra/config/rubber/rubber-cassandra.yml +18 -0
  221. data/lib/generators/vulcanize/templates/cassandra/templates.yml +1 -0
  222. data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf +23 -0
  223. data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/nginx/nginx-mongrel.conf +113 -0
  224. data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/rubber-complete.yml +41 -0
  225. data/lib/generators/vulcanize/templates/complete_mongrel_mysql/templates.yml +6 -0
  226. data/lib/generators/vulcanize/templates/complete_passenger/config/rubber/role/haproxy/haproxy-passenger.conf +21 -0
  227. data/lib/generators/vulcanize/templates/complete_passenger/config/rubber/rubber-complete.yml +40 -0
  228. data/lib/generators/vulcanize/templates/complete_passenger/templates.rb +9 -0
  229. data/lib/generators/vulcanize/templates/complete_passenger/templates.yml +9 -0
  230. data/lib/generators/vulcanize/templates/complete_passenger_mysql/templates.yml +4 -0
  231. data/lib/generators/vulcanize/templates/complete_passenger_postgresql/templates.yml +4 -0
  232. data/lib/generators/vulcanize/templates/cruise/config/rubber/deploy-cruise.rb +72 -0
  233. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/cruise +40 -0
  234. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/my.cnf +165 -0
  235. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/production.rb +8 -0
  236. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/site_config.rb +76 -0
  237. data/lib/generators/vulcanize/templates/cruise/config/rubber/role/web_tools/cruise-nginx.conf +11 -0
  238. data/lib/generators/vulcanize/templates/cruise/config/rubber/rubber-cruise.yml +18 -0
  239. data/lib/generators/vulcanize/templates/cruise/templates.yml +1 -0
  240. data/lib/generators/vulcanize/templates/haproxy/config/rubber/deploy-haproxy.rb +45 -0
  241. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-base.conf +26 -0
  242. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-default.conf +8 -0
  243. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/monit-haproxy.conf +9 -0
  244. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +11 -0
  245. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslogd-default.conf +21 -0
  246. data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/web_tools/haproxy-nginx.conf +10 -0
  247. data/lib/generators/vulcanize/templates/haproxy/config/rubber/rubber-haproxy.yml +7 -0
  248. data/lib/generators/vulcanize/templates/haproxy/templates.yml +1 -0
  249. data/lib/generators/vulcanize/templates/jetty/config/rubber/deploy-jetty.rb +59 -0
  250. data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.sh +589 -0
  251. data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.xml +199 -0
  252. data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/monit-jetty.conf +9 -0
  253. data/lib/generators/vulcanize/templates/jetty/config/rubber/rubber-jetty.yml +10 -0
  254. data/lib/generators/vulcanize/templates/jetty/templates.yml +1 -0
  255. data/lib/generators/vulcanize/templates/memcached/config/memcached.yml +28 -0
  256. data/lib/generators/vulcanize/templates/memcached/config/rubber/common/memcached.yml +14 -0
  257. data/lib/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached.conf +52 -0
  258. data/lib/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached_munin_plugin +249 -0
  259. data/lib/generators/vulcanize/templates/memcached/config/rubber/rubber-memcached.yml +7 -0
  260. data/lib/generators/vulcanize/templates/memcached/templates.yml +1 -0
  261. data/lib/generators/vulcanize/templates/minimal_mysql/templates.yml +7 -0
  262. data/lib/generators/vulcanize/templates/minimal_nodb/templates.yml +6 -0
  263. data/lib/generators/vulcanize/templates/mongrel/config/rubber/deploy-mongrel.rb +75 -0
  264. data/lib/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/mongrel_cluster.yml +12 -0
  265. data/lib/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/monit-mongrel.conf +20 -0
  266. data/lib/generators/vulcanize/templates/mongrel/config/rubber/rubber-mongrel.yml +9 -0
  267. data/lib/generators/vulcanize/templates/mongrel/templates.yml +1 -0
  268. data/lib/generators/vulcanize/templates/monit/config/rubber/common/monit-default.conf +15 -0
  269. data/lib/generators/vulcanize/templates/monit/config/rubber/common/monit.conf +252 -0
  270. data/lib/generators/vulcanize/templates/monit/config/rubber/deploy-monit.rb +33 -0
  271. data/lib/generators/vulcanize/templates/monit/config/rubber/role/web_tools/monit-admin-nginx.conf +10 -0
  272. data/lib/generators/vulcanize/templates/monit/config/rubber/rubber-monit.yml +6 -0
  273. data/lib/generators/vulcanize/templates/monit/templates.yml +1 -0
  274. data/lib/generators/vulcanize/templates/munin/config/rubber/common/monit-munin.conf +8 -0
  275. data/lib/generators/vulcanize/templates/munin/config/rubber/common/munin-node.conf +48 -0
  276. data/lib/generators/vulcanize/templates/munin/config/rubber/common/munin-plugins.conf +11 -0
  277. data/lib/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +46 -0
  278. data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-nginx.conf +8 -0
  279. data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-plugins.conf +31 -0
  280. data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin.conf +115 -0
  281. data/lib/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +8 -0
  282. data/lib/generators/vulcanize/templates/munin/script/munin/example_mysql_query.rb +55 -0
  283. data/lib/generators/vulcanize/templates/munin/script/munin/example_simple.rb +24 -0
  284. data/lib/generators/vulcanize/templates/munin/templates.yml +1 -0
  285. data/lib/generators/vulcanize/templates/mysql/config/rubber/common/database.yml +12 -0
  286. data/lib/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +169 -0
  287. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/apparmor-mysql.conf +46 -0
  288. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/crontab +14 -0
  289. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf +10 -0
  290. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/my.cnf +163 -0
  291. data/lib/generators/vulcanize/templates/mysql/config/rubber/role/mysql_slave/mysql_slave_munin_plugin +51 -0
  292. data/lib/generators/vulcanize/templates/mysql/config/rubber/rubber-mysql.yml +47 -0
  293. data/lib/generators/vulcanize/templates/mysql/templates.yml +1 -0
  294. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/common/mysql_cluster_migrations.rb +13 -0
  295. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +177 -0
  296. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_data/my.cnf +15 -0
  297. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_mgm/ndb_mgmd.cnf +39 -0
  298. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +10 -0
  299. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/my.cnf +23 -0
  300. data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/rubber-mysql_cluster.yml +32 -0
  301. data/lib/generators/vulcanize/templates/mysql_cluster/templates.yml +1 -0
  302. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/database.yml +16 -0
  303. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf +10 -0
  304. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy +153 -0
  305. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.conf +10 -0
  306. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.lua +5 -0
  307. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +52 -0
  308. data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/rubber-mysql_proxy.yml +11 -0
  309. data/lib/generators/vulcanize/templates/mysql_proxy/templates.yml +1 -0
  310. data/lib/generators/vulcanize/templates/nginx/config/rubber/deploy-nginx.rb +45 -0
  311. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/crontab +9 -0
  312. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/monit-nginx.conf +8 -0
  313. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/nginx.conf +42 -0
  314. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/nginx-tools.conf +55 -0
  315. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-index.html +30 -0
  316. data/lib/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-nginx.auth +7 -0
  317. data/lib/generators/vulcanize/templates/nginx/config/rubber/rubber-nginx.yml +10 -0
  318. data/lib/generators/vulcanize/templates/nginx/templates.yml +1 -0
  319. data/lib/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb +45 -0
  320. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-memory.conf +34 -0
  321. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-sudoers.conf +8 -0
  322. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger.conf +47 -0
  323. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf +48 -0
  324. data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +41 -0
  325. data/lib/generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml +15 -0
  326. data/lib/generators/vulcanize/templates/passenger/templates.yml +3 -0
  327. data/lib/generators/vulcanize/templates/postgresql/config/rubber/common/database.yml +12 -0
  328. data/lib/generators/vulcanize/templates/postgresql/config/rubber/deploy-postgresql.rb +158 -0
  329. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/crontab +14 -0
  330. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/monit-postgresql.conf +10 -0
  331. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/munin-postgresql.conf +7 -0
  332. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/pg_hba.conf +89 -0
  333. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql-sysctl.conf +6 -0
  334. data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql.conf +531 -0
  335. data/lib/generators/vulcanize/templates/postgresql/config/rubber/rubber-postgresql.yml +45 -0
  336. data/lib/generators/vulcanize/templates/postgresql/templates.yml +1 -0
  337. data/lib/generators/vulcanize/templates/redis/config/rubber/deploy-redis.rb +76 -0
  338. data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/crontab +8 -0
  339. data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/monit-redis.conf +9 -0
  340. data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/redis.conf +320 -0
  341. data/lib/generators/vulcanize/templates/redis/config/rubber/rubber-redis.yml +9 -0
  342. data/lib/generators/vulcanize/templates/redis/templates.yml +1 -0
  343. data/lib/generators/vulcanize/templates/resque/config/initializers/resque.rb +15 -0
  344. data/lib/generators/vulcanize/templates/resque/config/rubber/common/resque.yml +5 -0
  345. data/lib/generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb +58 -0
  346. data/lib/generators/vulcanize/templates/resque/config/rubber/role/resque_web/monit-resque_web.conf +14 -0
  347. data/lib/generators/vulcanize/templates/resque/config/rubber/role/resque_worker/monit-resque_worker.conf +19 -0
  348. data/lib/generators/vulcanize/templates/resque/config/rubber/rubber-resque.yml +18 -0
  349. data/lib/generators/vulcanize/templates/resque/script/resque_worker_management.rb +144 -0
  350. data/lib/generators/vulcanize/templates/resque/templates.rb +1 -0
  351. data/lib/generators/vulcanize/templates/resque/templates.yml +3 -0
  352. data/lib/generators/vulcanize/templates/sphinx/config/rubber/common/sphinx.yml +46 -0
  353. data/lib/generators/vulcanize/templates/sphinx/config/rubber/deploy-sphinx.rb +112 -0
  354. data/lib/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/crontab +11 -0
  355. data/lib/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/monit-sphinx.conf +13 -0
  356. data/lib/generators/vulcanize/templates/sphinx/config/rubber/rubber-sphinx.yml +6 -0
  357. data/lib/generators/vulcanize/templates/sphinx/templates.yml +1 -0
  358. data/lib/generators/vulcanize/vulcanize_generator.rb +184 -0
  359. data/lib/rubber.rb +76 -0
  360. data/lib/rubber/capistrano.rb +1 -0
  361. data/lib/rubber/cloud.rb +13 -0
  362. data/lib/rubber/cloud/aws.rb +362 -0
  363. data/lib/rubber/cloud/base.rb +16 -0
  364. data/lib/rubber/configuration.rb +47 -0
  365. data/lib/rubber/dns.rb +13 -0
  366. data/lib/rubber/dns/base.rb +84 -0
  367. data/lib/rubber/dns/dyndns.rb +77 -0
  368. data/lib/rubber/dns/nettica.rb +117 -0
  369. data/lib/rubber/dns/zerigo.rb +115 -0
  370. data/lib/rubber/environment.rb +177 -0
  371. data/lib/rubber/generator.rb +209 -0
  372. data/lib/rubber/instance.rb +176 -0
  373. data/lib/rubber/railtie.rb +14 -0
  374. data/lib/rubber/recipes/rubber.rb +96 -0
  375. data/lib/rubber/recipes/rubber/bundles.rb +30 -0
  376. data/lib/rubber/recipes/rubber/deploy.rb +90 -0
  377. data/lib/rubber/recipes/rubber/instances.rb +453 -0
  378. data/lib/rubber/recipes/rubber/load_balancers.rb +44 -0
  379. data/lib/rubber/recipes/rubber/security_groups.rb +189 -0
  380. data/lib/rubber/recipes/rubber/setup.rb +534 -0
  381. data/lib/rubber/recipes/rubber/spot_requests.rb +23 -0
  382. data/lib/rubber/recipes/rubber/static_ips.rb +190 -0
  383. data/lib/rubber/recipes/rubber/tags.rb +12 -0
  384. data/lib/rubber/recipes/rubber/utils.rb +226 -0
  385. data/lib/rubber/recipes/rubber/volumes.rb +265 -0
  386. data/lib/rubber/tag.rb +16 -0
  387. data/lib/rubber/tasks/rubber.rb +279 -0
  388. data/lib/rubber/util.rb +72 -0
  389. data/rails/init.rb +6 -0
  390. data/test/environment_test.rb +144 -0
  391. data/test/generator_test.rb +370 -0
  392. data/test/instance_test.rb +96 -0
  393. data/test/test_helper.rb +14 -0
  394. data/test/util_test.rb +19 -0
  395. data/test/zerigo_test.rb +88 -0
  396. metadata +540 -0
@@ -0,0 +1,589 @@
1
+ <%-
2
+ @path = "#{rubber_env.jetty_dir}/bin/jetty.sh"
3
+ @perms = 0744
4
+ %>
5
+
6
+ #!/bin/bash
7
+ #
8
+ # Startup script for jetty under *nix systems (it works under NT/cygwin too).
9
+
10
+ # To get the service to restart correctly on reboot, uncomment below (3 lines):
11
+ # ========================
12
+ # chkconfig: 3 99 99
13
+ # description: Jetty 7 webserver
14
+ # processname: jetty
15
+ # ========================
16
+
17
+ # Configuration files
18
+ #
19
+ # /etc/default/jetty
20
+ # If it exists, this is read at the start of script. It may perform any
21
+ # sequence of shell commands, like setting relevant environment variables.
22
+ #
23
+ # $HOME/.jettyrc
24
+ # If it exists, this is read at the start of script. It may perform any
25
+ # sequence of shell commands, like setting relevant environment variables.
26
+ #
27
+ # /etc/jetty.conf
28
+ # If found, and no configurations were given on the command line,
29
+ # the file will be used as this script's configuration.
30
+ # Each line in the file may contain:
31
+ # - A comment denoted by the pound (#) sign as first non-blank character.
32
+ # - The path to a regular file, which will be passed to jetty as a
33
+ # config.xml file.
34
+ # - The path to a directory. Each *.xml file in the directory will be
35
+ # passed to jetty as a config.xml file.
36
+ #
37
+ # The files will be checked for existence before being passed to jetty.
38
+ #
39
+ # $JETTY_HOME/etc/jetty.xml
40
+ # If found, used as this script's configuration file, but only if
41
+ # /etc/jetty.conf was not present. See above.
42
+ #
43
+ # Configuration variables
44
+ #
45
+ # JAVA_HOME
46
+ # Home of Java installation.
47
+ #
48
+ # JAVA
49
+ # Command to invoke Java. If not set, $JAVA_HOME/bin/java will be
50
+ # used.
51
+ #
52
+ # JAVA_OPTIONS
53
+ # Extra options to pass to the JVM
54
+
55
+ JAVA_OPTIONS="<%= rubber_env.jetty_jvm_options %>"
56
+
57
+ #
58
+ # JETTY_HOME
59
+ # Where Jetty is installed. If not set, the script will try go
60
+ # guess it by first looking at the invocation path for the script,
61
+ # and then by looking in standard locations as $HOME/opt/jetty
62
+ # and /opt/jetty. The java system property "jetty.home" will be
63
+ # set to this value for use by configure.xml files, f.e.:
64
+ #
65
+ # <Arg><SystemProperty name="jetty.home" default="."/>/webapps/jetty.war</Arg>
66
+ #
67
+ # JETTY_PORT
68
+ # Override the default port for Jetty servers. If not set then the
69
+ # default value in the xml configuration file will be used. The java
70
+ # system property "jetty.port" will be set to this value for use in
71
+ # configure.xml files. For example, the following idiom is widely
72
+ # used in the demo config files to respect this property in Listener
73
+ # configuration elements:
74
+ #
75
+ # <Set name="Port"><SystemProperty name="jetty.port" default="8080"/></Set>
76
+ #
77
+ # Note: that the config file could ignore this property simply by saying:
78
+ #
79
+ # <Set name="Port">8080</Set>
80
+ #
81
+ # JETTY_RUN
82
+ # Where the jetty.pid file should be stored. It defaults to the
83
+ # first available of /var/run, /usr/var/run, and /tmp if not set.
84
+ #
85
+ # JETTY_PID
86
+ # The Jetty PID file, defaults to $JETTY_RUN/jetty.pid
87
+ #
88
+ # JETTY_ARGS
89
+ # The default arguments to pass to jetty.
90
+ #
91
+ # JETTY_USER
92
+ # if set, then used as a username to run the server as
93
+ #
94
+ # Set to 0 if you do not want to use start-stop-daemon (especially on SUSE boxes)
95
+ START_STOP_DAEMON=1
96
+
97
+ usage()
98
+ {
99
+ echo "Usage: $0 {start|stop|run|restart|check|supervise} [ CONFIGS ... ] "
100
+ exit 1
101
+ }
102
+
103
+ [ $# -gt 0 ] || usage
104
+
105
+
106
+ ##################################################
107
+ # Some utility functions
108
+ ##################################################
109
+ findDirectory()
110
+ {
111
+ OP=$1
112
+ shift
113
+ for L in $* ; do
114
+ [ $OP $L ] || continue
115
+ echo $L
116
+ break
117
+ done
118
+ }
119
+
120
+ running()
121
+ {
122
+ [ -f $1 ] || return 1
123
+ PID=$(cat $1)
124
+ ps -p $PID >/dev/null 2>/dev/null || return 1
125
+ return 0
126
+ }
127
+
128
+ ##################################################
129
+ # Get the action & configs
130
+ ##################################################
131
+
132
+ ACTION=$1
133
+ shift
134
+ ARGS="$*"
135
+ NO_START=0
136
+
137
+ ##################################################
138
+ # See if there's a default configuration file
139
+ ##################################################
140
+ if [ -f /etc/default/jetty7 ] ; then
141
+ . /etc/default/jetty7
142
+ elif [ -f /etc/default/jetty ] ; then
143
+ . /etc/default/jetty
144
+ fi
145
+
146
+
147
+ ##################################################
148
+ # See if there's a user-specific configuration file
149
+ ##################################################
150
+ if [ -f $HOME/.jettyrc ] ; then
151
+ . $HOME/.jettyrc
152
+ fi
153
+
154
+ ##################################################
155
+ # Set tmp if not already set.
156
+ ##################################################
157
+
158
+ if [ -z "$TMP" ]
159
+ then
160
+ TMP=/tmp
161
+ fi
162
+
163
+ ##################################################
164
+ # Jetty's hallmark
165
+ ##################################################
166
+ JETTY_INSTALL_TRACE_FILE="etc/jetty.xml"
167
+ TMPJ=$TMP/j$$
168
+
169
+
170
+ ##################################################
171
+ # Try to determine JETTY_HOME if not set
172
+ ##################################################
173
+ if [ -z "$JETTY_HOME" ]
174
+ then
175
+ JETTY_HOME_1=`dirname "$0"`
176
+ JETTY_HOME_1=`dirname "$JETTY_HOME_1"`
177
+ if [ -f "${JETTY_HOME_1}/${JETTY_INSTALL_TRACE_FILE}" ] ;
178
+ then
179
+ JETTY_HOME=${JETTY_HOME_1}
180
+ fi
181
+ fi
182
+
183
+
184
+ ##################################################
185
+ # if no JETTY_HOME, search likely locations.
186
+ ##################################################
187
+ if [ "$JETTY_HOME" = "" ] ; then
188
+ STANDARD_LOCATIONS=" \
189
+ /usr/share \
190
+ /usr/share/java \
191
+ $HOME \
192
+ $HOME/src \
193
+ ${HOME}/opt/ \
194
+ /opt \
195
+ /java \
196
+ /usr/local \
197
+ /usr/local/share \
198
+ /usr/local/share/java \
199
+ /home \
200
+ "
201
+ JETTY_DIR_NAMES=" \
202
+ jetty-7 \
203
+ jetty7 \
204
+ jetty-7.* \
205
+ jetty \
206
+ Jetty-7 \
207
+ Jetty7 \
208
+ Jetty-7.* \
209
+ Jetty \
210
+ "
211
+
212
+ JETTY_HOME=
213
+ for L in $STANDARD_LOCATIONS
214
+ do
215
+ for N in $JETTY_DIR_NAMES
216
+ do
217
+ if [ -d $L/$N ] && [ -f "$L/${N}/${JETTY_INSTALL_TRACE_FILE}" ] ;
218
+ then
219
+ JETTY_HOME="$L/$N"
220
+ fi
221
+ done
222
+ [ ! -z "$JETTY_HOME" ] && break
223
+ done
224
+ fi
225
+
226
+
227
+ ##################################################
228
+ # No JETTY_HOME yet? We're out of luck!
229
+ ##################################################
230
+ if [ -z "$JETTY_HOME" ] ; then
231
+ echo "** ERROR: JETTY_HOME not set, you need to set it or install in a standard location"
232
+ exit 1
233
+ fi
234
+
235
+ cd $JETTY_HOME
236
+ JETTY_HOME=`pwd`
237
+
238
+ #####################################################
239
+ # Check that jetty is where we think it is
240
+ #####################################################
241
+ if [ ! -r $JETTY_HOME/$JETTY_INSTALL_TRACE_FILE ]
242
+ then
243
+ echo "** ERROR: Oops! Jetty doesn't appear to be installed in $JETTY_HOME"
244
+ echo "** ERROR: $JETTY_HOME/$JETTY_INSTALL_TRACE_FILE is not readable!"
245
+ exit 1
246
+ fi
247
+
248
+ ##################################################
249
+ # Try to find this script's configuration file,
250
+ # but only if no configurations were given on the
251
+ # command line.
252
+ ##################################################
253
+ if [ -z "$JETTY_CONF" ]
254
+ then
255
+ if [ -f /etc/jetty.conf ]
256
+ then
257
+ JETTY_CONF=/etc/jetty.conf
258
+ elif [ -f "${JETTY_HOME}/etc/jetty.conf" ]
259
+ then
260
+ JETTY_CONF="${JETTY_HOME}/etc/jetty.conf"
261
+ fi
262
+ fi
263
+
264
+ ##################################################
265
+ # Read the configuration file if one exists
266
+ ##################################################
267
+ CONFIG_LINES=
268
+ if [ -f "$JETTY_CONF" ] && [ -r "$JETTY_CONF" ]
269
+ then
270
+ CONFIG_LINES=`cat $JETTY_CONF | grep -v "^[:space:]*#" | tr "\n" " "`
271
+ fi
272
+
273
+ #####################################################
274
+ # Find a location for the pid file
275
+ #####################################################
276
+ if [ -z "$JETTY_RUN" ]
277
+ then
278
+ JETTY_RUN=`findDirectory -w /var/run /usr/var/run /tmp`
279
+ fi
280
+
281
+ #####################################################
282
+ # Find a PID for the pid file
283
+ #####################################################
284
+ if [ -z "$JETTY_PID" ]
285
+ then
286
+ JETTY_PID="$JETTY_RUN/jetty.pid"
287
+ fi
288
+
289
+
290
+ ##################################################
291
+ # Check for JAVA_HOME
292
+ ##################################################
293
+ if [ -z "$JAVA_HOME" ]
294
+ then
295
+ # If a java runtime is not defined, search the following
296
+ # directories for a JVM and sort by version. Use the highest
297
+ # version number.
298
+
299
+ # Java search path
300
+ JAVA_LOCATIONS="\
301
+ /usr/java \
302
+ /usr/bin \
303
+ /usr/local/bin \
304
+ /usr/local/java \
305
+ /usr/local/jdk \
306
+ /usr/local/jre \
307
+ /usr/lib/jvm \
308
+ /opt/java \
309
+ /opt/jdk \
310
+ /opt/jre \
311
+ "
312
+ JAVA_NAMES="java jdk jre"
313
+ for N in $JAVA_NAMES ; do
314
+ for L in $JAVA_LOCATIONS ; do
315
+ [ -d $L ] || continue
316
+ find $L -name "$N" ! -type d | grep -v threads | while read J ; do
317
+ [ -x $J ] || continue
318
+ VERSION=`eval $J -version 2>&1`
319
+ [ $? = 0 ] || continue
320
+ VERSION=`expr "$VERSION" : '.*"\(1.[0-9\.]*\)["_]'`
321
+ [ "$VERSION" = "" ] && continue
322
+ expr $VERSION \< 1.2 >/dev/null && continue
323
+ echo $VERSION:$J
324
+ done
325
+ done
326
+ done | sort | tail -1 > $TMPJ
327
+ JAVA=`cat $TMPJ | cut -d: -f2`
328
+ JVERSION=`cat $TMPJ | cut -d: -f1`
329
+
330
+ JAVA_HOME=`dirname $JAVA`
331
+ while [ ! -z "$JAVA_HOME" -a "$JAVA_HOME" != "/" -a ! -f "$JAVA_HOME/lib/tools.jar" ] ; do
332
+ JAVA_HOME=`dirname $JAVA_HOME`
333
+ done
334
+ [ "$JAVA_HOME" = "" ] && JAVA_HOME=
335
+
336
+ echo "Found JAVA=$JAVA in JAVA_HOME=$JAVA_HOME"
337
+ fi
338
+
339
+
340
+ ##################################################
341
+ # Determine which JVM of version >1.2
342
+ # Try to use JAVA_HOME
343
+ ##################################################
344
+ if [ "$JAVA" = "" -a "$JAVA_HOME" != "" ]
345
+ then
346
+ if [ ! -z "$JAVACMD" ]
347
+ then
348
+ JAVA="$JAVACMD"
349
+ else
350
+ [ -x $JAVA_HOME/bin/jre -a ! -d $JAVA_HOME/bin/jre ] && JAVA=$JAVA_HOME/bin/jre
351
+ [ -x $JAVA_HOME/bin/java -a ! -d $JAVA_HOME/bin/java ] && JAVA=$JAVA_HOME/bin/java
352
+ fi
353
+ fi
354
+
355
+ if [ "$JAVA" = "" ]
356
+ then
357
+ echo "Cannot find a JRE or JDK. Please set JAVA_HOME to a >=1.2 JRE" 2>&2
358
+ exit 1
359
+ fi
360
+
361
+ JAVA_VERSION=`expr "$($JAVA -version 2>&1 | head -1)" : '.*1\.\([0-9]\)'`
362
+
363
+ #####################################################
364
+ # See if JETTY_PORT is defined
365
+ #####################################################
366
+ if [ "$JETTY_PORT" != "" ]
367
+ then
368
+ JAVA_OPTIONS="$JAVA_OPTIONS -Djetty.port=$JETTY_PORT"
369
+ fi
370
+
371
+ #####################################################
372
+ # See if JETTY_LOGS is defined
373
+ #####################################################
374
+ if [ "$JETTY_LOGS" != "" ]
375
+ then
376
+ JAVA_OPTIONS="$JAVA_OPTIONS -Djetty.logs=$JETTY_LOGS"
377
+ fi
378
+
379
+ #####################################################
380
+ # Are we running on Windows? Could be, with Cygwin/NT.
381
+ #####################################################
382
+ case "`uname`" in
383
+ CYGWIN*) PATH_SEPARATOR=";";;
384
+ *) PATH_SEPARATOR=":";;
385
+ esac
386
+
387
+
388
+ #####################################################
389
+ # Add jetty properties to Java VM options.
390
+ #####################################################
391
+ JAVA_OPTIONS="$JAVA_OPTIONS -Djetty.home=$JETTY_HOME -Djava.io.tmpdir=$TMP"
392
+
393
+ [ -f $JETTY_HOME/etc/start.config ] && JAVA_OPTIONS="-DSTART=$JETTY_HOME/etc/start.config $JAVA_OPTIONS"
394
+
395
+ #####################################################
396
+ # This is how the Jetty server will be started
397
+ #####################################################
398
+
399
+ JETTY_START=$JETTY_HOME/start.jar
400
+ [ ! -f $JETTY_START ] && JETTY_START=$JETTY_HOME/lib/start.jar
401
+
402
+ RUN_ARGS="$JAVA_OPTIONS -jar $JETTY_START --fromDaemon $JETTY_ARGS $ARGS"
403
+ RUN_CMD="$JAVA $RUN_ARGS"
404
+
405
+ #####################################################
406
+ # Comment these out after you're happy with what
407
+ # the script is doing.
408
+ #####################################################
409
+ #echo "JETTY_HOME = $JETTY_HOME"
410
+ #echo "JETTY_CONF = $JETTY_CONF"
411
+ #echo "JETTY_RUN = $JETTY_RUN"
412
+ #echo "JETTY_PID = $JETTY_PID"
413
+ #echo "JETTY_ARGS = $JETTY_ARGS"
414
+ #echo "ARGS = $ARGS"
415
+ #echo "JAVA_OPTIONS = $JAVA_OPTIONS"
416
+ #echo "JAVA = $JAVA"
417
+
418
+
419
+ ##################################################
420
+ # Do the action
421
+ ##################################################
422
+ case "$ACTION" in
423
+ start)
424
+ echo -n "Starting Jetty: "
425
+
426
+ if [ "$NO_START" = "1" ]; then
427
+ echo "Not starting jetty - NO_START=1 in /etc/default/jetty7";
428
+ exit 0;
429
+ fi
430
+
431
+
432
+ if [ "$START_STOP_DAEMON" = "1" ] && type start-stop-daemon > /dev/null 2>&1
433
+ then
434
+ [ x$JETTY_USER = x ] && JETTY_USER=$(whoami)
435
+ [ $UID = 0 ] && CH_USER="-c $JETTY_USER"
436
+ if start-stop-daemon -S -p$JETTY_PID $CH_USER -d $JETTY_HOME -b -m -a $JAVA -- $RUN_ARGS
437
+ then
438
+ sleep 1
439
+ if running $JETTY_PID
440
+ then
441
+ echo OK
442
+ else
443
+ echo FAILED
444
+ fi
445
+ fi
446
+
447
+ else
448
+
449
+ if [ -f $JETTY_PID ]
450
+ then
451
+ if running $JETTY_PID
452
+ then
453
+ echo "Already Running!!"
454
+ exit 1
455
+ else
456
+ # dead pid file - remove
457
+ rm -f $JETTY_PID
458
+ fi
459
+ fi
460
+
461
+ if [ x$JETTY_USER != x ]
462
+ then
463
+ touch $JETTY_PID
464
+ chown $JETTY_USER $JETTY_PID
465
+ su - $JETTY_USER -c "
466
+ $RUN_CMD &
467
+ PID=\$!
468
+ disown \$PID
469
+ echo \$PID > $JETTY_PID"
470
+ else
471
+ $RUN_CMD &
472
+ PID=$!
473
+ disown $PID
474
+ echo $PID > $JETTY_PID
475
+ fi
476
+
477
+ echo "STARTED Jetty `date`"
478
+ fi
479
+
480
+ ;;
481
+
482
+ stop)
483
+ echo -n "Stopping Jetty: "
484
+ if [ "$START_STOP_DAEMON" = "1" ] && type start-stop-daemon > /dev/null 2>&1; then
485
+ start-stop-daemon -K -p $JETTY_PID -d $JETTY_HOME -a $JAVA -s HUP
486
+ sleep 1
487
+ if running $JETTY_PID
488
+ then
489
+ sleep 3
490
+ if running $JETTY_PID
491
+ then
492
+ sleep 30
493
+ if running $JETTY_PID
494
+ then
495
+ start-stop-daemon -K -p $JETTY_PID -d $JETTY_HOME -a $JAVA -s KILL
496
+ fi
497
+ fi
498
+ fi
499
+
500
+ rm -f $JETTY_PID
501
+ echo OK
502
+ else
503
+ PID=`cat $JETTY_PID 2>/dev/null`
504
+ TIMEOUT=30
505
+ while running $JETTY_PID && [ $TIMEOUT -gt 0 ]
506
+ do
507
+ kill $PID 2>/dev/null
508
+ sleep 1
509
+ let TIMEOUT=$TIMEOUT-1
510
+ done
511
+
512
+ [ $TIMEOUT -gt 0 ] || kill -9 $PID 2>/dev/null
513
+
514
+ rm -f $JETTY_PID
515
+ echo OK
516
+ fi
517
+ ;;
518
+
519
+ restart)
520
+ JETTY_SH=$0
521
+ if [ ! -f $JETTY_SH ]; then
522
+ if [ ! -f $JETTY_HOME/bin/jetty.sh ]; then
523
+ echo "$JETTY_HOME/bin/jetty.sh does not exist."
524
+ exit 1
525
+ fi
526
+ JETTY_SH=$JETTY_HOME/bin/jetty.sh
527
+ fi
528
+ $JETTY_SH stop $*
529
+ sleep 5
530
+ $JETTY_SH start $*
531
+ ;;
532
+
533
+ supervise)
534
+ #
535
+ # Under control of daemontools supervise monitor which
536
+ # handles restarts and shutdowns via the svc program.
537
+ #
538
+ exec $RUN_CMD
539
+ ;;
540
+
541
+ run|demo)
542
+ echo "Running Jetty: "
543
+
544
+ if [ -f $JETTY_PID ]
545
+ then
546
+ if running $JETTY_PID
547
+ then
548
+ echo "Already Running!!"
549
+ exit 1
550
+ else
551
+ # dead pid file - remove
552
+ rm -f $JETTY_PID
553
+ fi
554
+ fi
555
+
556
+ exec $RUN_CMD
557
+ ;;
558
+
559
+ check)
560
+ echo "Checking arguments to Jetty: "
561
+ echo "JETTY_HOME = $JETTY_HOME"
562
+ echo "JETTY_CONF = $JETTY_CONF"
563
+ echo "JETTY_RUN = $JETTY_RUN"
564
+ echo "JETTY_PID = $JETTY_PID"
565
+ echo "JETTY_PORT = $JETTY_PORT"
566
+ echo "JETTY_LOGS = $JETTY_LOGS"
567
+ echo "JAVA_OPTIONS = $JAVA_OPTIONS"
568
+ echo "JAVA = $JAVA"
569
+ echo "CLASSPATH = $CLASSPATH"
570
+ echo "RUN_CMD = $RUN_CMD"
571
+ echo
572
+
573
+ if [ -f $JETTY_RUN/jetty.pid ]
574
+ then
575
+ echo "Jetty running pid="`cat $JETTY_RUN/jetty.pid`
576
+ exit 0
577
+ fi
578
+ exit 1
579
+ ;;
580
+
581
+ *)
582
+ usage
583
+ ;;
584
+ esac
585
+
586
+ exit 0
587
+
588
+
589
+