rubber-jcarnegie 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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,15 @@
1
+ passenger_version: 3.0.1
2
+ passenger_root: "#{rvm_gem_home}/gems/passenger-#{passenger_version}"
3
+ passenger_ruby: "#{rvm_prefix}/wrappers/#{`bash -l -c 'rvm strings #{rvm_ruby}'`.strip}/ruby"
4
+ passenger_lib: "#{passenger_root}/ext/apache2/mod_passenger.so"
5
+ passenger_listen_port: 7000
6
+ passenger_listen_ssl_port: 7001
7
+ max_app_connections: 20
8
+
9
+ role_dependencies:
10
+ passenger: [apache]
11
+
12
+ roles:
13
+ passenger:
14
+ packages: [apache2-mpm-prefork, apache2-prefork-dev, libcurl4-openssl-dev]
15
+ gems: [fastthread, rack, [passenger, "#{passenger_version}"]]
@@ -0,0 +1,3 @@
1
+ description: Phusion Passenger module (Apache2)
2
+ dependent_templates:
3
+ - apache
@@ -0,0 +1,12 @@
1
+ <%
2
+ @path = "#{RUBBER_ROOT}/config/database.yml"
3
+ %>
4
+
5
+ <%= RUBBER_ENV %>:
6
+ adapter: postgresql
7
+ encoding: unicode
8
+ database: <%= rubber_env.db_name %>
9
+ username: <%= rubber_env.db_user %>
10
+ password: <%= rubber_env.db_pass %>
11
+ host: <%= rubber_instances.for_role('db', 'primary' => true).first.full_name %>
12
+ pool: 5
@@ -0,0 +1,158 @@
1
+
2
+ namespace :rubber do
3
+
4
+ namespace :postgresql do
5
+
6
+ rubber.allow_optional_tasks(self)
7
+
8
+ before "rubber:install_packages", "rubber:postgresql:setup_apt_sources"
9
+
10
+ task :setup_apt_sources, :roles => [:postgresql_master, :postgresql_save] do
11
+ rsudo "add-apt-repository ppa:pitti/postgresql"
12
+ end
13
+
14
+ after "rubber:create", "rubber:postgresql:validate_db_roles"
15
+
16
+ task :validate_db_roles do
17
+ db_instances = rubber_instances.for_role("postgresql_slave")
18
+ db_instances.each do |instance|
19
+ if instance.role_names.find {|n| n == 'postgresql_master'}
20
+ fatal "Cannot have a postgresql slave and master on the same instance, please remove slave role for #{instance.name}"
21
+ end
22
+ end
23
+ end
24
+
25
+ after "rubber:bootstrap", "rubber:postgresql:bootstrap"
26
+
27
+
28
+ # Bootstrap the production database config. Db bootstrap is special - the
29
+ # user could be requiring the rails env inside some of their config
30
+ # templates, which creates a catch 22 situation with the db, so we try and
31
+ # bootstrap the db separate from the rest of the config
32
+ task :bootstrap, :roles => [:postgresql_master, :postgresql_slave] do
33
+
34
+ # Conditionally bootstrap for each node/role only if that node has not
35
+ # been boostrapped for that role before
36
+ master_instances = rubber_instances.for_role("postgresql_master") & rubber_instances.filtered
37
+ master_instances.each do |ic|
38
+ task_name = "_bootstrap_postgresql_master_#{ic.full_name}".to_sym()
39
+ task task_name, :hosts => ic.full_name do
40
+ env = rubber_cfg.environment.bind("postgresql_master", ic.name)
41
+ exists = capture("echo $(ls #{env.postgresql_data_dir}/ 2> /dev/null)")
42
+ if exists.strip.size == 0
43
+ common_bootstrap("postgresql_master")
44
+
45
+ create_user_cmd = "CREATE USER #{env.db_user} WITH NOSUPERUSER CREATEDB NOCREATEROLE"
46
+ create_user_cmd << "PASSWORD '#{env.db_pass}'" if env.db_pass
47
+ rubber.sudo_script "create_master_db", <<-ENDSCRIPT
48
+ sudo -u postgres psql -c "#{create_user_cmd}"
49
+ sudo -u postgres psql -c "CREATE DATABASE #{env.db_name} WITH OWNER #{env.db_user}"
50
+ ENDSCRIPT
51
+ end
52
+ end
53
+ send task_name
54
+ end
55
+
56
+ # Wait for postgresql 9.0 to be available before allowing slaves
57
+ #
58
+ # slave_instances = rubber_instances.for_role("postgresql_slave") & rubber_instances.filtered
59
+ # slave_instances.each do |ic|
60
+ # task_name = "_bootstrap_postgresql_slave_#{ic.full_name}".to_sym()
61
+ # task task_name, :hosts => ic.full_name do
62
+ # env = rubber_cfg.environment.bind("postgresql_slave", ic.name)
63
+ # exists = capture("echo $(ls #{env.db_data_dir}/ 2> /dev/null)")
64
+ # if exists.strip.size == 0
65
+ # common_bootstrap("postgresql_slave")
66
+ #
67
+ # source = master = rubber_instances.for_role("postgresql_master").first
68
+ #
69
+ # slave_pub_key = capture("cat /root/.ssh/id_dsa.pub")
70
+ # sudo "echo \"#{slave_pub_key}\" >> /root/.ssh/authorized_keys", :hosts => [master.full_name]
71
+ #
72
+ # base_backup_script = <<-ENDSCRIPT
73
+ # sudo -u postgres psql -c "SELECT pg_start_backup('rubber_create_slave')"
74
+ # tar --exclude pg_xlog -czf /tmp/postgresql-data.tgz #{env.postgresql_data_dir}
75
+ # tar -czf /tmp/postgresql-archive.tgz #{env.postgresql_archive_dir}
76
+ # sudo -u postgres psql -c "SELECT pg_stop_backup()"
77
+ # ENDSCRIPT
78
+ #
79
+ # rubber.sudo_script "create_slave_db_from_master", base_backup_script, :hosts => [master.full_name]
80
+ #
81
+ # rsudo "psql -u root -e \"start slave;\""
82
+ # end
83
+ # end
84
+ # send task_name
85
+ # end
86
+
87
+ end
88
+
89
+ after "rubber:munin:custom_install", "rubber:postgresql:install_munin_plugins"
90
+ after "rubber:postgresql:install_munin_plugins", "rubber:munin:restart"
91
+ task :install_munin_plugins, :roles => [:postgresql_master, :postgresql_slave] do
92
+ regular_plugins = %w[bgwriter checkpoints connections_db users xlog]
93
+ parameterized_plugins = %w[cache connections locks querylength scans transactions tuples]
94
+
95
+ commands = ['rm -f /etc/munin/plugins/postgres_*']
96
+
97
+ regular_plugins.each do |name|
98
+ commands << "ln -s /usr/share/munin/plugins/postgres_#{name} /etc/munin/plugins/postgres_#{name}"
99
+ end
100
+
101
+ parameterized_plugins.each do |name|
102
+ commands << "ln -s /usr/share/munin/plugins/postgres_#{name}_ /etc/munin/plugins/postgres_#{name}_#{rubber_env.db_name}"
103
+ end
104
+
105
+ rubber.sudo_script "install_postgresql_munin_plugins", <<-ENDSCRIPT
106
+ #{commands.join(';')}
107
+ ENDSCRIPT
108
+ end
109
+
110
+ # TODO: Make the setup/update happen just once per host
111
+ def common_bootstrap(role)
112
+ # postgresql package install starts postgresql, so stop it
113
+ rsudo "#{rubber_env.postgresql_ctl} stop" rescue nil
114
+
115
+ # After everything installed on machines, we need the source tree
116
+ # on hosts in order to run rubber:config for bootstrapping the db
117
+ rubber.update_code_for_bootstrap
118
+
119
+ # Gen just the conf for the given postgresql role
120
+ rubber.run_config(:RUBBER_ENV => RUBBER_ENV, :FILE => "role/#{role}|role/db/", :FORCE => true, :deploy_path => release_path)
121
+
122
+ # reconfigure postgresql so that it sets up data dir in /mnt with correct files
123
+ dirs = [rubber_env.postgresql_data_dir, rubber_env.postgresql_archive_dir]
124
+ sudo_script 'reconfigure-postgresql', <<-ENDSCRIPT
125
+ mkdir -p #{dirs.join(' ')}
126
+ chown -R postgres:postgres #{dirs.join(' ')}
127
+
128
+ sudo -u postgres /usr/lib/postgresql/#{rubber_env.postgresql_ver}/bin/initdb -D #{rubber_env.postgresql_data_dir}
129
+
130
+ #{rubber_env.postgresql_ctl} start
131
+ ENDSCRIPT
132
+ sleep 5
133
+ end
134
+
135
+ desc <<-DESC
136
+ Starts the postgresql daemons
137
+ DESC
138
+ task :start, :roles => [:postgresql_master, :postgresql_slave] do
139
+ rsudo "#{rubber_env.postgresql_ctl} start"
140
+ end
141
+
142
+ desc <<-DESC
143
+ Stops the postgresql daemons
144
+ DESC
145
+ task :stop, :roles => [:postgresql_master, :postgresql_slave] do
146
+ rsudo "#{rubber_env.postgresql_ctl} stop"
147
+ end
148
+
149
+ desc <<-DESC
150
+ Restarts the postgresql daemons
151
+ DESC
152
+ task :restart, :roles => [:postgresql_master, :postgresql_slave] do
153
+ rsudo "#{rubber_env.postgresql_ctl} restart"
154
+ end
155
+
156
+ end
157
+
158
+ end
@@ -0,0 +1,14 @@
1
+ <%
2
+ @read_cmd = 'crontab -l'
3
+ @write_cmd = 'crontab -'
4
+ @additive = ["# rubber-postgresql-start", "# rubber-postgresql-end"]
5
+ %>
6
+
7
+ <%
8
+ # Backup db every 3 hours to secondary db if available, else primary db
9
+ backup_db_host = rubber_instances.for_role('db', {}).first rescue nil
10
+ backup_db_host ||= rubber_instances.for_role('db', 'primary' => true).first
11
+ if backup_db_host.name == rubber_env.host
12
+ %>
13
+ 0 */3 * * * BACKUP_DIR=/mnt/db_backups DBUSER=<%= rubber_env.db_user %> DBPASS=<%= rubber_env.db_pass %> DBNAME=<%= rubber_env.db_name %> DBHOST=<%= backup_db_host.full_name %> <%= RUBBER_ROOT %>/script/cron-rake rubber:backup_db
14
+ <% end %>
@@ -0,0 +1,10 @@
1
+ <%
2
+ @path = '/etc/monit/monit.d/monit-postgresql.conf'
3
+ %>
4
+
5
+ check process postgresql with pidfile <%= rubber_env.postgresql_pid_file %>
6
+ group postgresql-<%= RUBBER_ENV %>
7
+ start program = "<%= rubber_env.postgresql_ctl %> restart"
8
+ stop program = "<%= rubber_env.postgresql_ctl %> stop"
9
+ if failed host 127.0.0.1 port 5432 protocol pgsql then alert
10
+ if 5 restarts within 5 cycles then timeout
@@ -0,0 +1,7 @@
1
+ <%
2
+ @path = '/etc/munin/plugin-conf.d/postgresql'
3
+ %>
4
+
5
+ [postgres_*]
6
+ user postgres
7
+ env.PGUSER postgres
@@ -0,0 +1,89 @@
1
+ <%
2
+ @path = "#{rubber_env.postgresql_conf_dir}/pg_hba.conf"
3
+ %>
4
+ # PostgreSQL Client Authentication Configuration File
5
+ # ===================================================
6
+ #
7
+ # Refer to the "Client Authentication" section in the
8
+ # PostgreSQL documentation for a complete description
9
+ # of this file. A short synopsis follows.
10
+ #
11
+ # This file controls: which hosts are allowed to connect, how clients
12
+ # are authenticated, which PostgreSQL user names they can use, which
13
+ # databases they can access. Records take one of these forms:
14
+ #
15
+ # local DATABASE USER METHOD [OPTIONS]
16
+ # host DATABASE USER CIDR-ADDRESS METHOD [OPTIONS]
17
+ # hostssl DATABASE USER CIDR-ADDRESS METHOD [OPTIONS]
18
+ # hostnossl DATABASE USER CIDR-ADDRESS METHOD [OPTIONS]
19
+ #
20
+ # (The uppercase items must be replaced by actual values.)
21
+ #
22
+ # The first field is the connection type: "local" is a Unix-domain socket,
23
+ # "host" is either a plain or SSL-encrypted TCP/IP socket, "hostssl" is an
24
+ # SSL-encrypted TCP/IP socket, and "hostnossl" is a plain TCP/IP socket.
25
+ #
26
+ # DATABASE can be "all", "sameuser", "samerole", a database name, or
27
+ # a comma-separated list thereof.
28
+ #
29
+ # USER can be "all", a user name, a group name prefixed with "+", or
30
+ # a comma-separated list thereof. In both the DATABASE and USER fields
31
+ # you can also write a file name prefixed with "@" to include names from
32
+ # a separate file.
33
+ #
34
+ # CIDR-ADDRESS specifies the set of hosts the record matches.
35
+ # It is made up of an IP address and a CIDR mask that is an integer
36
+ # (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that specifies
37
+ # the number of significant bits in the mask. Alternatively, you can write
38
+ # an IP address and netmask in separate columns to specify the set of hosts.
39
+ #
40
+ # METHOD can be "trust", "reject", "md5", "password", "gss", "sspi", "krb5",
41
+ # "ident", "pam", "ldap" or "cert". Note that "password" sends passwords
42
+ # in clear text; "md5" is preferred since it sends encrypted passwords.
43
+ #
44
+ # OPTIONS are a set of options for the authentication in the format
45
+ # NAME=VALUE. The available options depend on the different authentication
46
+ # methods - refer to the "Client Authentication" section in the documentation
47
+ # for a list of which options are available for which authentication methods.
48
+ #
49
+ # Database and user names containing spaces, commas, quotes and other special
50
+ # characters must be quoted. Quoting one of the keywords "all", "sameuser" or
51
+ # "samerole" makes the name lose its special character, and just match a
52
+ # database or username with that name.
53
+ #
54
+ # This file is read on server startup and when the postmaster receives
55
+ # a SIGHUP signal. If you edit the file on a running system, you have
56
+ # to SIGHUP the postmaster for the changes to take effect. You can use
57
+ # "pg_ctl reload" to do that.
58
+
59
+ # Put your actual configuration here
60
+ # ----------------------------------
61
+ #
62
+ # If you want to allow non-local connections, you need to add more
63
+ # "host" records. In that case you will also need to make PostgreSQL listen
64
+ # on a non-local interface via the listen_addresses configuration parameter,
65
+ # or via the -i or -h command line switches.
66
+ #
67
+
68
+
69
+
70
+
71
+ # DO NOT DISABLE!
72
+ # If you change this first entry you will need to make sure that the
73
+ # database
74
+ # super user can access the database using some other method.
75
+ # Noninteractive
76
+ # access to all databases is required during automatic maintenance
77
+ # (custom daily cronjobs, replication, and similar tasks).
78
+ #
79
+ # Database administrative login by UNIX sockets
80
+ local all postgres ident
81
+
82
+ # TYPE DATABASE USER CIDR-ADDRESS METHOD
83
+ <%
84
+ scheme = rubber_env.db_pass ? 'md5' : 'trust'
85
+ %>
86
+ local all <%= rubber_env.db_user %> <%= scheme %>
87
+ host all all 127.0.0.1/32 <%= scheme %>
88
+ host all all ::1/128 <%= scheme %>
89
+ host all <%= rubber_env.db_user %> 10.0.0.1/8 <%= scheme %>
@@ -0,0 +1,6 @@
1
+ <%
2
+ @path = "/etc/sysctl.d/30-postgresql.conf"
3
+ @post = "service procps start"
4
+ %>
5
+ kernel.shmmax=1610612736
6
+ kernel.shmall=393216
@@ -0,0 +1,531 @@
1
+ <%
2
+ @path = "#{rubber_env.postgresql_conf_dir}/postgresql.conf"
3
+ %>
4
+ # -----------------------------
5
+ # PostgreSQL configuration file
6
+ # -----------------------------
7
+ #
8
+ # This file consists of lines of the form:
9
+ #
10
+ # name = value
11
+ #
12
+ # (The "=" is optional.) Whitespace may be used. Comments are introduced with
13
+ # "#" anywhere on a line. The complete list of parameter names and allowed
14
+ # values can be found in the PostgreSQL documentation.
15
+ #
16
+ # The commented-out settings shown in this file represent the default values.
17
+ # Re-commenting a setting is NOT sufficient to revert it to the default value;
18
+ # you need to reload the server.
19
+ #
20
+ # This file is read on server startup and when the server receives a SIGHUP
21
+ # signal. If you edit the file on a running system, you have to SIGHUP the
22
+ # server for the changes to take effect, or use "pg_ctl reload". Some
23
+ # parameters, which are marked below, require a server shutdown and restart to
24
+ # take effect.
25
+ #
26
+ # Any parameter can also be given as a command-line option to the server, e.g.,
27
+ # "postgres -c log_connections=on". Some parameters can be changed at run time
28
+ # with the "SET" SQL command.
29
+ #
30
+ # Memory units: kB = kilobytes Time units: ms = milliseconds
31
+ # MB = megabytes s = seconds
32
+ # GB = gigabytes min = minutes
33
+ # h = hours
34
+ # d = days
35
+
36
+
37
+ #------------------------------------------------------------------------------
38
+ # FILE LOCATIONS
39
+ #------------------------------------------------------------------------------
40
+
41
+ # The default values of these variables are driven from the -D command-line
42
+ # option or PGDATA environment variable, represented here as ConfigDir.
43
+
44
+ data_directory = '<%= rubber_env.postgresql_data_dir %>' # use data in another directory
45
+ # (change requires restart)
46
+ hba_file = '<%= rubber_env.postgresql_conf_dir %>/pg_hba.conf' # host-based authentication file
47
+ # (change requires restart)
48
+ ident_file = '<%= rubber_env.postgresql_conf_dir %>/pg_ident.conf' # ident configuration file
49
+ # (change requires restart)
50
+
51
+ # If external_pid_file is not explicitly set, no extra PID file is written.
52
+ external_pid_file = '<%= rubber_env.postgresql_pid_file %>' # write an extra PID file
53
+ # (change requires restart)
54
+
55
+
56
+ #------------------------------------------------------------------------------
57
+ # CONNECTIONS AND AUTHENTICATION
58
+ #------------------------------------------------------------------------------
59
+
60
+ # - Connection Settings -
61
+
62
+ listen_addresses = '*' # what IP address(es) to listen on;
63
+ # comma-separated list of addresses;
64
+ # defaults to 'localhost', '*' = all
65
+ # (change requires restart)
66
+ port = 5432 # (change requires restart)
67
+ max_connections = 100 # (change requires restart)
68
+ # Note: Increasing max_connections costs ~400 bytes of shared memory per
69
+ # connection slot, plus lock space (see max_locks_per_transaction).
70
+ #superuser_reserved_connections = 3 # (change requires restart)
71
+ unix_socket_directory = '/var/run/postgresql' # (change requires restart)
72
+ #unix_socket_group = '' # (change requires restart)
73
+ #unix_socket_permissions = 0777 # begin with 0 to use octal notation
74
+ # (change requires restart)
75
+ #bonjour = off # advertise server via Bonjour
76
+ # (change requires restart)
77
+ #bonjour_name = '' # defaults to the computer name
78
+ # (change requires restart)
79
+
80
+ # - Security and Authentication -
81
+
82
+ #authentication_timeout = 1min # 1s-600s
83
+ #ssl = off # (change requires restart)
84
+ #ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH' # allowed SSL ciphers
85
+ # (change requires restart)
86
+ #ssl_renegotiation_limit = 512MB # amount of data between renegotiations
87
+ #password_encryption = on
88
+ #db_user_namespace = off
89
+
90
+ # Kerberos and GSSAPI
91
+ #krb_server_keyfile = ''
92
+ #krb_srvname = 'postgres' # (Kerberos only)
93
+ #krb_caseins_users = off
94
+
95
+ # - TCP Keepalives -
96
+ # see "man 7 tcp" for details
97
+
98
+ #tcp_keepalives_idle = 0 # TCP_KEEPIDLE, in seconds;
99
+ # 0 selects the system default
100
+ #tcp_keepalives_interval = 0 # TCP_KEEPINTVL, in seconds;
101
+ # 0 selects the system default
102
+ #tcp_keepalives_count = 0 # TCP_KEEPCNT;
103
+ # 0 selects the system default
104
+
105
+
106
+ #------------------------------------------------------------------------------
107
+ # RESOURCE USAGE (except WAL)
108
+ #------------------------------------------------------------------------------
109
+
110
+ # - Memory -
111
+
112
+ shared_buffers = 28MB # min 128kB
113
+ # (change requires restart)
114
+ #temp_buffers = 8MB # min 800kB
115
+ #max_prepared_transactions = 0 # zero disables the feature
116
+ # (change requires restart)
117
+ # Note: Increasing max_prepared_transactions costs ~600 bytes of shared memory
118
+ # per transaction slot, plus lock space (see max_locks_per_transaction).
119
+ # It is not advisable to set max_prepared_transactions nonzero unless you
120
+ # actively intend to use prepared transactions.
121
+ #work_mem = 1MB # min 64kB
122
+ #maintenance_work_mem = 16MB # min 1MB
123
+ #max_stack_depth = 2MB # min 100kB
124
+
125
+ # - Kernel Resource Usage -
126
+
127
+ #max_files_per_process = 1000 # min 25
128
+ # (change requires restart)
129
+ #shared_preload_libraries = '' # (change requires restart)
130
+
131
+ # - Cost-Based Vacuum Delay -
132
+
133
+ #vacuum_cost_delay = 0ms # 0-100 milliseconds
134
+ #vacuum_cost_page_hit = 1 # 0-10000 credits
135
+ #vacuum_cost_page_miss = 10 # 0-10000 credits
136
+ #vacuum_cost_page_dirty = 20 # 0-10000 credits
137
+ #vacuum_cost_limit = 200 # 1-10000 credits
138
+
139
+ # - Background Writer -
140
+
141
+ #bgwriter_delay = 200ms # 10-10000ms between rounds
142
+ #bgwriter_lru_maxpages = 100 # 0-1000 max buffers written/round
143
+ #bgwriter_lru_multiplier = 2.0 # 0-10.0 multipler on buffers scanned/round
144
+
145
+ # - Asynchronous Behavior -
146
+
147
+ #effective_io_concurrency = 1 # 1-1000. 0 disables prefetching
148
+
149
+
150
+ #------------------------------------------------------------------------------
151
+ # WRITE AHEAD LOG
152
+ #------------------------------------------------------------------------------
153
+
154
+ # - Settings -
155
+
156
+ #wal_level = minimal # minimal, archive, or hot_standby
157
+ # (change requires restart)
158
+ #fsync = on # turns forced synchronization on or off
159
+ #synchronous_commit = on # immediate fsync at commit
160
+ #wal_sync_method = fsync # the default is the first option
161
+ # supported by the operating system:
162
+ # open_datasync
163
+ # fdatasync
164
+ # fsync
165
+ # fsync_writethrough
166
+ # open_sync
167
+ #full_page_writes = on # recover from partial page writes
168
+ #wal_buffers = 64kB # min 32kB
169
+ # (change requires restart)
170
+ #wal_writer_delay = 200ms # 1-10000 milliseconds
171
+
172
+ #commit_delay = 0 # range 0-100000, in microseconds
173
+ #commit_siblings = 5 # range 1-1000
174
+
175
+ # - Checkpoints -
176
+
177
+ #checkpoint_segments = 3 # in logfile segments, min 1, 16MB each
178
+ #checkpoint_timeout = 5min # range 30s-1h
179
+ #checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0
180
+ #checkpoint_warning = 30s # 0 disables
181
+
182
+ # - Archiving -
183
+
184
+ #archive_mode = off # allows archiving to be done
185
+ # (change requires restart)
186
+ #archive_command = '' # command to use to archive a logfile segment
187
+ #archive_timeout = 0 # force a logfile segment switch after this
188
+ # number of seconds; 0 disables
189
+
190
+ # - Streaming Replication -
191
+
192
+ #max_wal_senders = 0 # max number of walsender processes
193
+ # (change requires restart)
194
+ #wal_sender_delay = 200ms # walsender cycle time, 1-10000 milliseconds
195
+ #wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables
196
+ #vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed
197
+
198
+ # - Standby Servers -
199
+
200
+ #hot_standby = off # "on" allows queries during recovery
201
+ # (change requires restart)
202
+ #max_standby_archive_delay = 30s # max delay before canceling queries
203
+ # when reading WAL from archive;
204
+ # -1 allows indefinite delay
205
+ #max_standby_streaming_delay = 30s # max delay before canceling queries
206
+ # when reading streaming WAL;
207
+ # -1 allows indefinite delay
208
+
209
+
210
+ #------------------------------------------------------------------------------
211
+ # QUERY TUNING
212
+ #------------------------------------------------------------------------------
213
+
214
+ # - Planner Method Configuration -
215
+
216
+ #enable_bitmapscan = on
217
+ #enable_hashagg = on
218
+ #enable_hashjoin = on
219
+ #enable_indexscan = on
220
+ #enable_material = on
221
+ #enable_mergejoin = on
222
+ #enable_nestloop = on
223
+ #enable_seqscan = on
224
+ #enable_sort = on
225
+ #enable_tidscan = on
226
+
227
+ # - Planner Cost Constants -
228
+
229
+ #seq_page_cost = 1.0 # measured on an arbitrary scale
230
+ #random_page_cost = 4.0 # same scale as above
231
+ #cpu_tuple_cost = 0.01 # same scale as above
232
+ #cpu_index_tuple_cost = 0.005 # same scale as above
233
+ #cpu_operator_cost = 0.0025 # same scale as above
234
+ #effective_cache_size = 128MB
235
+
236
+ # - Genetic Query Optimizer -
237
+
238
+ #geqo = on
239
+ #geqo_threshold = 12
240
+ #geqo_effort = 5 # range 1-10
241
+ #geqo_pool_size = 0 # selects default based on effort
242
+ #geqo_generations = 0 # selects default based on effort
243
+ #geqo_selection_bias = 2.0 # range 1.5-2.0
244
+ #geqo_seed = 0.0 # range 0.0-1.0
245
+
246
+ # - Other Planner Options -
247
+
248
+ #default_statistics_target = 100 # range 1-10000
249
+ #constraint_exclusion = partition # on, off, or partition
250
+ #cursor_tuple_fraction = 0.1 # range 0.0-1.0
251
+ #from_collapse_limit = 8
252
+ #join_collapse_limit = 8 # 1 disables collapsing of explicit
253
+ # JOIN clauses
254
+
255
+
256
+ #------------------------------------------------------------------------------
257
+ # ERROR REPORTING AND LOGGING
258
+ #------------------------------------------------------------------------------
259
+
260
+ # - Where to Log -
261
+
262
+ #log_destination = 'stderr' # Valid values are combinations of
263
+ # stderr, csvlog, syslog, and eventlog,
264
+ # depending on platform. csvlog
265
+ # requires logging_collector to be on.
266
+
267
+ # This is used when logging to stderr:
268
+ #logging_collector = off # Enable capturing of stderr and csvlog
269
+ # into log files. Required to be on for
270
+ # csvlogs.
271
+ # (change requires restart)
272
+
273
+ # These are only used if logging_collector is on:
274
+ #log_directory = 'pg_log' # directory where log files are written,
275
+ # can be absolute or relative to PGDATA
276
+ #log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
277
+ # can include strftime() escapes
278
+ #log_truncate_on_rotation = off # If on, an existing log file of the
279
+ # same name as the new log file will be
280
+ # truncated rather than appended to.
281
+ # But such truncation only occurs on
282
+ # time-driven rotation, not on restarts
283
+ # or size-driven rotation. Default is
284
+ # off, meaning append to existing files
285
+ # in all cases.
286
+ #log_rotation_age = 1d # Automatic rotation of logfiles will
287
+ # happen after that time. 0 disables.
288
+ #log_rotation_size = 10MB # Automatic rotation of logfiles will
289
+ # happen after that much log output.
290
+ # 0 disables.
291
+
292
+ # These are relevant when logging to syslog:
293
+ #syslog_facility = 'LOCAL0'
294
+ #syslog_ident = 'postgres'
295
+
296
+ #silent_mode = off # Run server silently.
297
+ # DO NOT USE without syslog or
298
+ # logging_collector
299
+ # (change requires restart)
300
+
301
+
302
+ # - When to Log -
303
+
304
+ #client_min_messages = notice # values in order of decreasing detail:
305
+ # debug5
306
+ # debug4
307
+ # debug3
308
+ # debug2
309
+ # debug1
310
+ # log
311
+ # notice
312
+ # warning
313
+ # error
314
+
315
+ #log_min_messages = warning # values in order of decreasing detail:
316
+ # debug5
317
+ # debug4
318
+ # debug3
319
+ # debug2
320
+ # debug1
321
+ # info
322
+ # notice
323
+ # warning
324
+ # error
325
+ # log
326
+ # fatal
327
+ # panic
328
+
329
+ #log_min_error_statement = error # values in order of decreasing detail:
330
+ # debug5
331
+ # debug4
332
+ # debug3
333
+ # debug2
334
+ # debug1
335
+ # info
336
+ # notice
337
+ # warning
338
+ # error
339
+ # log
340
+ # fatal
341
+ # panic (effectively off)
342
+
343
+ log_min_duration_statement = 1 # -1 is disabled, 0 logs all statements
344
+ # and their durations, > 0 logs only
345
+ # statements running at least this number
346
+ # of milliseconds
347
+
348
+
349
+ # - What to Log -
350
+
351
+ #debug_print_parse = off
352
+ #debug_print_rewritten = off
353
+ #debug_print_plan = off
354
+ #debug_pretty_print = on
355
+ #log_checkpoints = off
356
+ #log_connections = off
357
+ #log_disconnections = off
358
+ #log_duration = off
359
+ #log_error_verbosity = default # terse, default, or verbose messages
360
+ #log_hostname = off
361
+ log_line_prefix = '%t' # special values:
362
+ # %a = application name
363
+ # %u = user name
364
+ # %d = database name
365
+ # %r = remote host and port
366
+ # %h = remote host
367
+ # %p = process ID
368
+ # %t = timestamp without milliseconds
369
+ # %m = timestamp with milliseconds
370
+ # %i = command tag
371
+ # %e = SQL state
372
+ # %c = session ID
373
+ # %l = session line number
374
+ # %s = session start timestamp
375
+ # %v = virtual transaction ID
376
+ # %x = transaction ID (0 if none)
377
+ # %q = stop here in non-session
378
+ # processes
379
+ # %% = '%'
380
+ # e.g. '<%u%%%d> '
381
+ #log_lock_waits = off # log lock waits >= deadlock_timeout
382
+ #log_statement = 'none' # none, ddl, mod, all
383
+ #log_temp_files = -1 # log temporary files equal or larger
384
+ # than the specified size in kilobytes;
385
+ # -1 disables, 0 logs all temp files
386
+ #log_timezone = unknown # actually, defaults to TZ environment
387
+ # setting
388
+
389
+
390
+ #------------------------------------------------------------------------------
391
+ # RUNTIME STATISTICS
392
+ #------------------------------------------------------------------------------
393
+
394
+ # - Query/Index Statistics Collector -
395
+
396
+ #track_activities = on
397
+ track_counts = on
398
+ #track_functions = none # none, pl, all
399
+ #track_activity_query_size = 1024 # (change requires restart)
400
+ #update_process_title = on
401
+ #stats_temp_directory = 'pg_stat_tmp'
402
+
403
+
404
+ # - Statistics Monitoring -
405
+
406
+ #log_parser_stats = off
407
+ #log_planner_stats = off
408
+ #log_executor_stats = off
409
+ #log_statement_stats = off
410
+
411
+
412
+ #------------------------------------------------------------------------------
413
+ # AUTOVACUUM PARAMETERS
414
+ #------------------------------------------------------------------------------
415
+
416
+ autovacuum = on # Enable autovacuum subprocess? 'on'
417
+ # requires track_counts to also be on.
418
+ #log_autovacuum_min_duration = -1 # -1 disables, 0 logs all actions and
419
+ # their durations, > 0 logs only
420
+ # actions running at least this number
421
+ # of milliseconds.
422
+ #autovacuum_max_workers = 3 # max number of autovacuum subprocesses
423
+ # (change requires restart)
424
+ #autovacuum_naptime = 1min # time between autovacuum runs
425
+ #autovacuum_vacuum_threshold = 50 # min number of row updates before
426
+ # vacuum
427
+ #autovacuum_analyze_threshold = 50 # min number of row updates before
428
+ # analyze
429
+ #autovacuum_vacuum_scale_factor = 0.2 # fraction of table size before vacuum
430
+ #autovacuum_analyze_scale_factor = 0.1 # fraction of table size before analyze
431
+ #autovacuum_freeze_max_age = 200000000 # maximum XID age before forced vacuum
432
+ # (change requires restart)
433
+ #autovacuum_vacuum_cost_delay = 20ms # default vacuum cost delay for
434
+ # autovacuum, in milliseconds;
435
+ # -1 means use vacuum_cost_delay
436
+ #autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for
437
+ # autovacuum, -1 means use
438
+ # vacuum_cost_limit
439
+
440
+
441
+ #------------------------------------------------------------------------------
442
+ # CLIENT CONNECTION DEFAULTS
443
+ #------------------------------------------------------------------------------
444
+
445
+ # - Statement Behavior -
446
+
447
+ #search_path = '"$user",public' # schema names
448
+ #default_tablespace = '' # a tablespace name, '' uses the default
449
+ #temp_tablespaces = '' # a list of tablespace names, '' uses
450
+ # only default tablespace
451
+ #check_function_bodies = on
452
+ #default_transaction_isolation = 'read committed'
453
+ #default_transaction_read_only = off
454
+ #session_replication_role = 'origin'
455
+ #statement_timeout = 0 # in milliseconds, 0 is disabled
456
+ #vacuum_freeze_min_age = 50000000
457
+ #vacuum_freeze_table_age = 150000000
458
+ #bytea_output = 'hex' # hex, escape
459
+ #xmlbinary = 'base64'
460
+ #xmloption = 'content'
461
+
462
+ # - Locale and Formatting -
463
+
464
+ datestyle = 'iso, mdy'
465
+ #intervalstyle = 'postgres'
466
+ #timezone = unknown # actually, defaults to TZ environment
467
+ # setting
468
+ #timezone_abbreviations = 'Default' # Select the set of available time zone
469
+ # abbreviations. Currently, there are
470
+ # Default
471
+ # Australia
472
+ # India
473
+ # You can create your own file in
474
+ # share/timezonesets/.
475
+ #extra_float_digits = 0 # min -15, max 3
476
+ #client_encoding = sql_ascii # actually, defaults to database
477
+ # encoding
478
+
479
+ # These settings are initialized by initdb, but they can be changed.
480
+ lc_messages = 'en_US.UTF-8' # locale for system error message
481
+ # strings
482
+ lc_monetary = 'en_US.UTF-8' # locale for monetary formatting
483
+ lc_numeric = 'en_US.UTF-8' # locale for number formatting
484
+ lc_time = 'en_US.UTF-8' # locale for time formatting
485
+
486
+ # default configuration for text search
487
+ default_text_search_config = 'pg_catalog.english'
488
+
489
+ # - Other Defaults -
490
+
491
+ #dynamic_library_path = '$libdir'
492
+ #local_preload_libraries = ''
493
+
494
+
495
+ #------------------------------------------------------------------------------
496
+ # LOCK MANAGEMENT
497
+ #------------------------------------------------------------------------------
498
+
499
+ #deadlock_timeout = 1s
500
+ #max_locks_per_transaction = 64 # min 10
501
+ # (change requires restart)
502
+ # Note: Each lock table slot uses ~270 bytes of shared memory, and there are
503
+ # max_locks_per_transaction * (max_connections + max_prepared_transactions)
504
+ # lock table slots.
505
+
506
+
507
+ #------------------------------------------------------------------------------
508
+ # VERSION/PLATFORM COMPATIBILITY
509
+ #------------------------------------------------------------------------------
510
+
511
+ # - Previous PostgreSQL Versions -
512
+
513
+ #array_nulls = on
514
+ #backslash_quote = safe_encoding # on, off, or safe_encoding
515
+ #default_with_oids = off
516
+ #escape_string_warning = on
517
+ #lo_compat_privileges = off
518
+ #sql_inheritance = on
519
+ #standard_conforming_strings = off
520
+ #synchronize_seqscans = on
521
+
522
+ # - Other Platforms and Clients -
523
+
524
+ #transform_null_equals = off
525
+
526
+
527
+ #------------------------------------------------------------------------------
528
+ # CUSTOMIZED OPTIONS
529
+ #------------------------------------------------------------------------------
530
+
531
+ #custom_variable_classes = '' # list of custom variable class names