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.
- data/CHANGELOG +477 -0
- data/COPYING +339 -0
- data/README +6 -0
- data/TODO +11 -0
- data/VERSION +1 -0
- data/bin/vulcanize +25 -0
- data/generators/vulcanize/USAGE +6 -0
- data/generators/vulcanize/templates/apache/config/rubber/deploy-apache.rb +51 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/deflate.conf +10 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/expires.conf +9 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/headers.conf +6 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/monit-apache.conf +8 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/ports.conf +8 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/setenvif.conf +52 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +79 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache.auth +7 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +34 -0
- data/generators/vulcanize/templates/apache/config/rubber/rubber-apache.yml +6 -0
- data/generators/vulcanize/templates/apache/templates.yml +1 -0
- data/generators/vulcanize/templates/base/Capfile +14 -0
- data/generators/vulcanize/templates/base/Rakefile +23 -0
- data/generators/vulcanize/templates/base/config/deploy.rb +56 -0
- data/generators/vulcanize/templates/base/config/rubber/common/crontab +22 -0
- data/generators/vulcanize/templates/base/config/rubber/common/monit-postfix.conf +8 -0
- data/generators/vulcanize/templates/base/config/rubber/common/rubber.profile +13 -0
- data/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +92 -0
- data/generators/vulcanize/templates/base/config/rubber/deploy-util.rb +97 -0
- data/generators/vulcanize/templates/base/config/rubber/rubber-dns.yml +78 -0
- data/generators/vulcanize/templates/base/config/rubber/rubber-rvm.yml +33 -0
- data/generators/vulcanize/templates/base/config/rubber/rubber.yml +241 -0
- data/generators/vulcanize/templates/base/lib/tasks/rubber.rake +15 -0
- data/generators/vulcanize/templates/base/script/cron-rake +18 -0
- data/generators/vulcanize/templates/base/script/cron-runner +18 -0
- data/generators/vulcanize/templates/base/script/cron-sh +67 -0
- data/generators/vulcanize/templates/base/templates.rb +11 -0
- data/generators/vulcanize/templates/base/templates.yml +6 -0
- data/generators/vulcanize/templates/cassandra/config/rubber/deploy-cassandra.rb +88 -0
- data/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.in.sh +60 -0
- data/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.yaml +210 -0
- data/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/log4j-server.properties +45 -0
- data/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/monit-cassandra.conf +8 -0
- data/generators/vulcanize/templates/cassandra/config/rubber/rubber-cassandra.yml +18 -0
- data/generators/vulcanize/templates/cassandra/templates.yml +1 -0
- data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf +23 -0
- data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/nginx/nginx-mongrel.conf +113 -0
- data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/rubber-complete.yml +41 -0
- data/generators/vulcanize/templates/complete_mongrel_mysql/templates.yml +6 -0
- data/generators/vulcanize/templates/complete_passenger/config/rubber/role/haproxy/haproxy-passenger.conf +21 -0
- data/generators/vulcanize/templates/complete_passenger/config/rubber/rubber-complete.yml +40 -0
- data/generators/vulcanize/templates/complete_passenger/templates.rb +9 -0
- data/generators/vulcanize/templates/complete_passenger/templates.yml +9 -0
- data/generators/vulcanize/templates/complete_passenger_mysql/templates.yml +4 -0
- data/generators/vulcanize/templates/complete_passenger_postgresql/templates.yml +4 -0
- data/generators/vulcanize/templates/cruise/config/rubber/deploy-cruise.rb +72 -0
- data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/cruise +40 -0
- data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/my.cnf +165 -0
- data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/production.rb +8 -0
- data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/site_config.rb +76 -0
- data/generators/vulcanize/templates/cruise/config/rubber/role/web_tools/cruise-nginx.conf +11 -0
- data/generators/vulcanize/templates/cruise/config/rubber/rubber-cruise.yml +18 -0
- data/generators/vulcanize/templates/cruise/templates.yml +1 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/deploy-haproxy.rb +45 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-base.conf +26 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-default.conf +8 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/monit-haproxy.conf +9 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +11 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslogd-default.conf +21 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/role/web_tools/haproxy-nginx.conf +10 -0
- data/generators/vulcanize/templates/haproxy/config/rubber/rubber-haproxy.yml +7 -0
- data/generators/vulcanize/templates/haproxy/templates.yml +1 -0
- data/generators/vulcanize/templates/jetty/config/rubber/deploy-jetty.rb +59 -0
- data/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.sh +589 -0
- data/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.xml +199 -0
- data/generators/vulcanize/templates/jetty/config/rubber/role/jetty/monit-jetty.conf +9 -0
- data/generators/vulcanize/templates/jetty/config/rubber/rubber-jetty.yml +10 -0
- data/generators/vulcanize/templates/jetty/templates.yml +1 -0
- data/generators/vulcanize/templates/memcached/config/memcached.yml +28 -0
- data/generators/vulcanize/templates/memcached/config/rubber/common/memcached.yml +14 -0
- data/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached.conf +52 -0
- data/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached_munin_plugin +249 -0
- data/generators/vulcanize/templates/memcached/config/rubber/rubber-memcached.yml +7 -0
- data/generators/vulcanize/templates/memcached/templates.yml +1 -0
- data/generators/vulcanize/templates/minimal_mysql/templates.yml +7 -0
- data/generators/vulcanize/templates/minimal_nodb/templates.yml +6 -0
- data/generators/vulcanize/templates/mongrel/config/rubber/deploy-mongrel.rb +75 -0
- data/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/mongrel_cluster.yml +12 -0
- data/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/monit-mongrel.conf +20 -0
- data/generators/vulcanize/templates/mongrel/config/rubber/rubber-mongrel.yml +9 -0
- data/generators/vulcanize/templates/mongrel/templates.yml +1 -0
- data/generators/vulcanize/templates/monit/config/rubber/common/monit-default.conf +15 -0
- data/generators/vulcanize/templates/monit/config/rubber/common/monit.conf +252 -0
- data/generators/vulcanize/templates/monit/config/rubber/deploy-monit.rb +33 -0
- data/generators/vulcanize/templates/monit/config/rubber/role/web_tools/monit-admin-nginx.conf +10 -0
- data/generators/vulcanize/templates/monit/config/rubber/rubber-monit.yml +6 -0
- data/generators/vulcanize/templates/monit/templates.yml +1 -0
- data/generators/vulcanize/templates/munin/config/rubber/common/monit-munin.conf +8 -0
- data/generators/vulcanize/templates/munin/config/rubber/common/munin-node.conf +48 -0
- data/generators/vulcanize/templates/munin/config/rubber/common/munin-plugins.conf +11 -0
- data/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +46 -0
- data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-nginx.conf +8 -0
- data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-plugins.conf +31 -0
- data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin.conf +115 -0
- data/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +8 -0
- data/generators/vulcanize/templates/munin/script/munin/example_mysql_query.rb +55 -0
- data/generators/vulcanize/templates/munin/script/munin/example_simple.rb +24 -0
- data/generators/vulcanize/templates/munin/templates.yml +1 -0
- data/generators/vulcanize/templates/mysql/config/rubber/common/database.yml +12 -0
- data/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +169 -0
- data/generators/vulcanize/templates/mysql/config/rubber/role/db/apparmor-mysql.conf +46 -0
- data/generators/vulcanize/templates/mysql/config/rubber/role/db/crontab +14 -0
- data/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf +10 -0
- data/generators/vulcanize/templates/mysql/config/rubber/role/db/my.cnf +163 -0
- data/generators/vulcanize/templates/mysql/config/rubber/role/mysql_slave/mysql_slave_munin_plugin +51 -0
- data/generators/vulcanize/templates/mysql/config/rubber/rubber-mysql.yml +47 -0
- data/generators/vulcanize/templates/mysql/templates.yml +1 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/common/mysql_cluster_migrations.rb +13 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +177 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_data/my.cnf +15 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_mgm/ndb_mgmd.cnf +39 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +10 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/my.cnf +23 -0
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/rubber-mysql_cluster.yml +32 -0
- data/generators/vulcanize/templates/mysql_cluster/templates.yml +1 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/database.yml +16 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf +10 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy +153 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.conf +10 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.lua +5 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +52 -0
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/rubber-mysql_proxy.yml +11 -0
- data/generators/vulcanize/templates/mysql_proxy/templates.yml +1 -0
- data/generators/vulcanize/templates/nginx/config/rubber/deploy-nginx.rb +45 -0
- data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/crontab +9 -0
- data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/monit-nginx.conf +8 -0
- data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/nginx.conf +42 -0
- data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/nginx-tools.conf +55 -0
- data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-index.html +30 -0
- data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-nginx.auth +7 -0
- data/generators/vulcanize/templates/nginx/config/rubber/rubber-nginx.yml +10 -0
- data/generators/vulcanize/templates/nginx/templates.yml +1 -0
- data/generators/vulcanize/templates/node/INSTALL_NOTES +20 -0
- data/generators/vulcanize/templates/node/config/rubber/deploy-node.rb +33 -0
- data/generators/vulcanize/templates/node/config/rubber/rubber-node.yml +1 -0
- data/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb +45 -0
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-memory.conf +34 -0
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-sudoers.conf +8 -0
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger.conf +47 -0
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf +48 -0
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +41 -0
- data/generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml +15 -0
- data/generators/vulcanize/templates/passenger/templates.yml +3 -0
- data/generators/vulcanize/templates/postgresql/config/rubber/common/database.yml +12 -0
- data/generators/vulcanize/templates/postgresql/config/rubber/deploy-postgresql.rb +158 -0
- data/generators/vulcanize/templates/postgresql/config/rubber/role/db/crontab +14 -0
- data/generators/vulcanize/templates/postgresql/config/rubber/role/db/monit-postgresql.conf +10 -0
- data/generators/vulcanize/templates/postgresql/config/rubber/role/db/munin-postgresql.conf +7 -0
- data/generators/vulcanize/templates/postgresql/config/rubber/role/db/pg_hba.conf +89 -0
- data/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql-sysctl.conf +6 -0
- data/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql.conf +531 -0
- data/generators/vulcanize/templates/postgresql/config/rubber/rubber-postgresql.yml +45 -0
- data/generators/vulcanize/templates/postgresql/templates.yml +1 -0
- data/generators/vulcanize/templates/redis/config/rubber/deploy-redis.rb +76 -0
- data/generators/vulcanize/templates/redis/config/rubber/role/redis/crontab +8 -0
- data/generators/vulcanize/templates/redis/config/rubber/role/redis/monit-redis.conf +9 -0
- data/generators/vulcanize/templates/redis/config/rubber/role/redis/redis.conf +320 -0
- data/generators/vulcanize/templates/redis/config/rubber/rubber-redis.yml +9 -0
- data/generators/vulcanize/templates/redis/templates.yml +1 -0
- data/generators/vulcanize/templates/resque/config/initializers/resque.rb +15 -0
- data/generators/vulcanize/templates/resque/config/rubber/common/resque.yml +5 -0
- data/generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb +58 -0
- data/generators/vulcanize/templates/resque/config/rubber/role/resque_web/monit-resque_web.conf +14 -0
- data/generators/vulcanize/templates/resque/config/rubber/role/resque_worker/monit-resque_worker.conf +19 -0
- data/generators/vulcanize/templates/resque/config/rubber/rubber-resque.yml +18 -0
- data/generators/vulcanize/templates/resque/script/resque_worker_management.rb +144 -0
- data/generators/vulcanize/templates/resque/templates.rb +1 -0
- data/generators/vulcanize/templates/resque/templates.yml +3 -0
- data/generators/vulcanize/templates/sphinx/config/rubber/common/sphinx.yml +46 -0
- data/generators/vulcanize/templates/sphinx/config/rubber/deploy-sphinx.rb +112 -0
- data/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/crontab +11 -0
- data/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/monit-sphinx.conf +13 -0
- data/generators/vulcanize/templates/sphinx/config/rubber/rubber-sphinx.yml +6 -0
- data/generators/vulcanize/templates/sphinx/templates.yml +1 -0
- data/generators/vulcanize/vulcanize_generator.rb +184 -0
- data/lib/capistrano/hostcmd.rb +12 -0
- data/lib/generators/vulcanize/USAGE +6 -0
- data/lib/generators/vulcanize/templates/apache/config/rubber/deploy-apache.rb +51 -0
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/deflate.conf +10 -0
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/expires.conf +9 -0
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/headers.conf +6 -0
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/monit-apache.conf +8 -0
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/ports.conf +8 -0
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/setenvif.conf +52 -0
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +79 -0
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache.auth +7 -0
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +34 -0
- data/lib/generators/vulcanize/templates/apache/config/rubber/rubber-apache.yml +6 -0
- data/lib/generators/vulcanize/templates/apache/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/base/Capfile +14 -0
- data/lib/generators/vulcanize/templates/base/Rakefile +23 -0
- data/lib/generators/vulcanize/templates/base/config/deploy.rb +56 -0
- data/lib/generators/vulcanize/templates/base/config/rubber/common/crontab +22 -0
- data/lib/generators/vulcanize/templates/base/config/rubber/common/monit-postfix.conf +8 -0
- data/lib/generators/vulcanize/templates/base/config/rubber/common/rubber.profile +13 -0
- data/lib/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +92 -0
- data/lib/generators/vulcanize/templates/base/config/rubber/deploy-util.rb +97 -0
- data/lib/generators/vulcanize/templates/base/config/rubber/rubber-dns.yml +78 -0
- data/lib/generators/vulcanize/templates/base/config/rubber/rubber-rvm.yml +33 -0
- data/lib/generators/vulcanize/templates/base/config/rubber/rubber.yml +241 -0
- data/lib/generators/vulcanize/templates/base/lib/tasks/rubber.rake +15 -0
- data/lib/generators/vulcanize/templates/base/script/cron-rake +18 -0
- data/lib/generators/vulcanize/templates/base/script/cron-runner +18 -0
- data/lib/generators/vulcanize/templates/base/script/cron-sh +67 -0
- data/lib/generators/vulcanize/templates/base/templates.rb +11 -0
- data/lib/generators/vulcanize/templates/base/templates.yml +6 -0
- data/lib/generators/vulcanize/templates/cassandra/config/rubber/deploy-cassandra.rb +88 -0
- data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.in.sh +60 -0
- data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.yaml +210 -0
- data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/log4j-server.properties +45 -0
- data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/monit-cassandra.conf +8 -0
- data/lib/generators/vulcanize/templates/cassandra/config/rubber/rubber-cassandra.yml +18 -0
- data/lib/generators/vulcanize/templates/cassandra/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf +23 -0
- data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/nginx/nginx-mongrel.conf +113 -0
- data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/rubber-complete.yml +41 -0
- data/lib/generators/vulcanize/templates/complete_mongrel_mysql/templates.yml +6 -0
- data/lib/generators/vulcanize/templates/complete_passenger/config/rubber/role/haproxy/haproxy-passenger.conf +21 -0
- data/lib/generators/vulcanize/templates/complete_passenger/config/rubber/rubber-complete.yml +40 -0
- data/lib/generators/vulcanize/templates/complete_passenger/templates.rb +9 -0
- data/lib/generators/vulcanize/templates/complete_passenger/templates.yml +9 -0
- data/lib/generators/vulcanize/templates/complete_passenger_mysql/templates.yml +4 -0
- data/lib/generators/vulcanize/templates/complete_passenger_postgresql/templates.yml +4 -0
- data/lib/generators/vulcanize/templates/cruise/config/rubber/deploy-cruise.rb +72 -0
- data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/cruise +40 -0
- data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/my.cnf +165 -0
- data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/production.rb +8 -0
- data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/site_config.rb +76 -0
- data/lib/generators/vulcanize/templates/cruise/config/rubber/role/web_tools/cruise-nginx.conf +11 -0
- data/lib/generators/vulcanize/templates/cruise/config/rubber/rubber-cruise.yml +18 -0
- data/lib/generators/vulcanize/templates/cruise/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/deploy-haproxy.rb +45 -0
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-base.conf +26 -0
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-default.conf +8 -0
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/monit-haproxy.conf +9 -0
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +11 -0
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslogd-default.conf +21 -0
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/web_tools/haproxy-nginx.conf +10 -0
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/rubber-haproxy.yml +7 -0
- data/lib/generators/vulcanize/templates/haproxy/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/jetty/config/rubber/deploy-jetty.rb +59 -0
- data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.sh +589 -0
- data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.xml +199 -0
- data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/monit-jetty.conf +9 -0
- data/lib/generators/vulcanize/templates/jetty/config/rubber/rubber-jetty.yml +10 -0
- data/lib/generators/vulcanize/templates/jetty/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/memcached/config/memcached.yml +28 -0
- data/lib/generators/vulcanize/templates/memcached/config/rubber/common/memcached.yml +14 -0
- data/lib/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached.conf +52 -0
- data/lib/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached_munin_plugin +249 -0
- data/lib/generators/vulcanize/templates/memcached/config/rubber/rubber-memcached.yml +7 -0
- data/lib/generators/vulcanize/templates/memcached/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/minimal_mysql/templates.yml +7 -0
- data/lib/generators/vulcanize/templates/minimal_nodb/templates.yml +6 -0
- data/lib/generators/vulcanize/templates/mongrel/config/rubber/deploy-mongrel.rb +75 -0
- data/lib/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/mongrel_cluster.yml +12 -0
- data/lib/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/monit-mongrel.conf +20 -0
- data/lib/generators/vulcanize/templates/mongrel/config/rubber/rubber-mongrel.yml +9 -0
- data/lib/generators/vulcanize/templates/mongrel/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/monit/config/rubber/common/monit-default.conf +15 -0
- data/lib/generators/vulcanize/templates/monit/config/rubber/common/monit.conf +252 -0
- data/lib/generators/vulcanize/templates/monit/config/rubber/deploy-monit.rb +33 -0
- data/lib/generators/vulcanize/templates/monit/config/rubber/role/web_tools/monit-admin-nginx.conf +10 -0
- data/lib/generators/vulcanize/templates/monit/config/rubber/rubber-monit.yml +6 -0
- data/lib/generators/vulcanize/templates/monit/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/munin/config/rubber/common/monit-munin.conf +8 -0
- data/lib/generators/vulcanize/templates/munin/config/rubber/common/munin-node.conf +48 -0
- data/lib/generators/vulcanize/templates/munin/config/rubber/common/munin-plugins.conf +11 -0
- data/lib/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +46 -0
- data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-nginx.conf +8 -0
- data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-plugins.conf +31 -0
- data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin.conf +115 -0
- data/lib/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +8 -0
- data/lib/generators/vulcanize/templates/munin/script/munin/example_mysql_query.rb +55 -0
- data/lib/generators/vulcanize/templates/munin/script/munin/example_simple.rb +24 -0
- data/lib/generators/vulcanize/templates/munin/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/mysql/config/rubber/common/database.yml +12 -0
- data/lib/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +169 -0
- data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/apparmor-mysql.conf +46 -0
- data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/crontab +14 -0
- data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf +10 -0
- data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/my.cnf +163 -0
- data/lib/generators/vulcanize/templates/mysql/config/rubber/role/mysql_slave/mysql_slave_munin_plugin +51 -0
- data/lib/generators/vulcanize/templates/mysql/config/rubber/rubber-mysql.yml +47 -0
- data/lib/generators/vulcanize/templates/mysql/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/common/mysql_cluster_migrations.rb +13 -0
- data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +177 -0
- data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_data/my.cnf +15 -0
- data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_mgm/ndb_mgmd.cnf +39 -0
- data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +10 -0
- data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/my.cnf +23 -0
- data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/rubber-mysql_cluster.yml +32 -0
- data/lib/generators/vulcanize/templates/mysql_cluster/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/database.yml +16 -0
- data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf +10 -0
- data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy +153 -0
- data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.conf +10 -0
- data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.lua +5 -0
- data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +52 -0
- data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/rubber-mysql_proxy.yml +11 -0
- data/lib/generators/vulcanize/templates/mysql_proxy/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/nginx/config/rubber/deploy-nginx.rb +45 -0
- data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/crontab +9 -0
- data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/monit-nginx.conf +8 -0
- data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/nginx.conf +42 -0
- data/lib/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/nginx-tools.conf +55 -0
- data/lib/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-index.html +30 -0
- data/lib/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-nginx.auth +7 -0
- data/lib/generators/vulcanize/templates/nginx/config/rubber/rubber-nginx.yml +10 -0
- data/lib/generators/vulcanize/templates/nginx/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb +45 -0
- data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-memory.conf +34 -0
- data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-sudoers.conf +8 -0
- data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger.conf +47 -0
- data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf +48 -0
- data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +41 -0
- data/lib/generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml +15 -0
- data/lib/generators/vulcanize/templates/passenger/templates.yml +3 -0
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/common/database.yml +12 -0
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/deploy-postgresql.rb +158 -0
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/crontab +14 -0
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/monit-postgresql.conf +10 -0
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/munin-postgresql.conf +7 -0
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/pg_hba.conf +89 -0
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql-sysctl.conf +6 -0
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql.conf +531 -0
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/rubber-postgresql.yml +45 -0
- data/lib/generators/vulcanize/templates/postgresql/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/redis/config/rubber/deploy-redis.rb +76 -0
- data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/crontab +8 -0
- data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/monit-redis.conf +9 -0
- data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/redis.conf +320 -0
- data/lib/generators/vulcanize/templates/redis/config/rubber/rubber-redis.yml +9 -0
- data/lib/generators/vulcanize/templates/redis/templates.yml +1 -0
- data/lib/generators/vulcanize/templates/resque/config/initializers/resque.rb +15 -0
- data/lib/generators/vulcanize/templates/resque/config/rubber/common/resque.yml +5 -0
- data/lib/generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb +58 -0
- data/lib/generators/vulcanize/templates/resque/config/rubber/role/resque_web/monit-resque_web.conf +14 -0
- data/lib/generators/vulcanize/templates/resque/config/rubber/role/resque_worker/monit-resque_worker.conf +19 -0
- data/lib/generators/vulcanize/templates/resque/config/rubber/rubber-resque.yml +18 -0
- data/lib/generators/vulcanize/templates/resque/script/resque_worker_management.rb +144 -0
- data/lib/generators/vulcanize/templates/resque/templates.rb +1 -0
- data/lib/generators/vulcanize/templates/resque/templates.yml +3 -0
- data/lib/generators/vulcanize/templates/sphinx/config/rubber/common/sphinx.yml +46 -0
- data/lib/generators/vulcanize/templates/sphinx/config/rubber/deploy-sphinx.rb +112 -0
- data/lib/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/crontab +11 -0
- data/lib/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/monit-sphinx.conf +13 -0
- data/lib/generators/vulcanize/templates/sphinx/config/rubber/rubber-sphinx.yml +6 -0
- data/lib/generators/vulcanize/templates/sphinx/templates.yml +1 -0
- data/lib/generators/vulcanize/vulcanize_generator.rb +184 -0
- data/lib/rubber.rb +76 -0
- data/lib/rubber/capistrano.rb +1 -0
- data/lib/rubber/cloud.rb +13 -0
- data/lib/rubber/cloud/aws.rb +362 -0
- data/lib/rubber/cloud/base.rb +16 -0
- data/lib/rubber/configuration.rb +47 -0
- data/lib/rubber/dns.rb +13 -0
- data/lib/rubber/dns/base.rb +84 -0
- data/lib/rubber/dns/dyndns.rb +77 -0
- data/lib/rubber/dns/nettica.rb +117 -0
- data/lib/rubber/dns/zerigo.rb +115 -0
- data/lib/rubber/environment.rb +177 -0
- data/lib/rubber/generator.rb +209 -0
- data/lib/rubber/instance.rb +176 -0
- data/lib/rubber/railtie.rb +14 -0
- data/lib/rubber/recipes/rubber.rb +96 -0
- data/lib/rubber/recipes/rubber/bundles.rb +30 -0
- data/lib/rubber/recipes/rubber/deploy.rb +90 -0
- data/lib/rubber/recipes/rubber/instances.rb +453 -0
- data/lib/rubber/recipes/rubber/load_balancers.rb +44 -0
- data/lib/rubber/recipes/rubber/security_groups.rb +189 -0
- data/lib/rubber/recipes/rubber/setup.rb +534 -0
- data/lib/rubber/recipes/rubber/spot_requests.rb +23 -0
- data/lib/rubber/recipes/rubber/static_ips.rb +190 -0
- data/lib/rubber/recipes/rubber/tags.rb +12 -0
- data/lib/rubber/recipes/rubber/utils.rb +226 -0
- data/lib/rubber/recipes/rubber/volumes.rb +265 -0
- data/lib/rubber/tag.rb +16 -0
- data/lib/rubber/tasks/rubber.rb +279 -0
- data/lib/rubber/util.rb +72 -0
- data/rails/init.rb +6 -0
- data/test/environment_test.rb +144 -0
- data/test/generator_test.rb +370 -0
- data/test/instance_test.rb +96 -0
- data/test/test_helper.rb +14 -0
- data/test/util_test.rb +19 -0
- data/test/zerigo_test.rb +88 -0
- metadata +540 -0
data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.in.sh
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@path = "#{rubber_env.cassandra_dir}/bin/cassandra.in.sh"
|
|
3
|
+
%>
|
|
4
|
+
|
|
5
|
+
# Licensed to the Apache Software Foundation (ASF) under one
|
|
6
|
+
# or more contributor license agreements. See the NOTICE file
|
|
7
|
+
# distributed with this work for additional information
|
|
8
|
+
# regarding copyright ownership. The ASF licenses this file
|
|
9
|
+
# to you under the Apache License, Version 2.0 (the
|
|
10
|
+
# "License"); you may not use this file except in compliance
|
|
11
|
+
# with the License. You may obtain a copy of the License at
|
|
12
|
+
#
|
|
13
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
+
#
|
|
15
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
16
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
17
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
18
|
+
# See the License for the specific language governing permissions and
|
|
19
|
+
# limitations under the License.
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
cassandra_home=`dirname $0`/..
|
|
23
|
+
|
|
24
|
+
# The directory where Cassandra's configs live (required)
|
|
25
|
+
CASSANDRA_CONF=$cassandra_home/conf
|
|
26
|
+
|
|
27
|
+
# This can be the path to a jar file, or a directory containing the
|
|
28
|
+
# compiled classes. NOTE: This isn't needed by the startup script,
|
|
29
|
+
# it's just used here in constructing the classpath.
|
|
30
|
+
cassandra_bin=$cassandra_home/build/classes
|
|
31
|
+
#cassandra_bin=$cassandra_home/build/cassandra.jar
|
|
32
|
+
|
|
33
|
+
# JAVA_HOME can optionally be set here
|
|
34
|
+
#JAVA_HOME=/usr/local/jdk6
|
|
35
|
+
|
|
36
|
+
# The java classpath (required)
|
|
37
|
+
CLASSPATH=$CASSANDRA_CONF:$cassandra_bin
|
|
38
|
+
|
|
39
|
+
for jar in $cassandra_home/lib/*.jar; do
|
|
40
|
+
CLASSPATH=$CLASSPATH:$jar
|
|
41
|
+
done
|
|
42
|
+
|
|
43
|
+
# Arguments to pass to the JVM
|
|
44
|
+
JVM_OPTS=" \
|
|
45
|
+
-ea \
|
|
46
|
+
-Xms128M \
|
|
47
|
+
-Xmx1G \
|
|
48
|
+
-XX:TargetSurvivorRatio=90 \
|
|
49
|
+
-XX:+AggressiveOpts \
|
|
50
|
+
-XX:+UseParNewGC \
|
|
51
|
+
-XX:+UseConcMarkSweepGC \
|
|
52
|
+
-XX:+CMSParallelRemarkEnabled \
|
|
53
|
+
-XX:+HeapDumpOnOutOfMemoryError \
|
|
54
|
+
-XX:SurvivorRatio=128 \
|
|
55
|
+
-XX:MaxTenuringThreshold=0 \
|
|
56
|
+
-Dcom.sun.management.jmxremote.port=<%= rubber_env.cassandra_jmx_port %> \
|
|
57
|
+
-Dcom.sun.management.jmxremote.ssl=false \
|
|
58
|
+
-Dcom.sun.management.jmxremote.authenticate=false"
|
|
59
|
+
|
|
60
|
+
ulimit -n 65536
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@path = "#{rubber_env.cassandra_dir}/conf/cassandra.yaml"
|
|
3
|
+
@post = "mkdir -p #{rubber_env.cassandra_data_dir} #{rubber_env.cassandra_commitlog_dir} #{rubber_env.cassandra_log_dir}"
|
|
4
|
+
%>
|
|
5
|
+
# Cassandra storage config YAML
|
|
6
|
+
# See http://wiki.apache.org/cassandra/StorageConfiguration for
|
|
7
|
+
# explanations of configuration directives.
|
|
8
|
+
|
|
9
|
+
# name of the cluster
|
|
10
|
+
cluster_name: '<%= rubber_env.app_name %>_<%= Rubber.env %>_cluster'
|
|
11
|
+
|
|
12
|
+
# Set to true to make new [non-seed] nodes automatically migrate the
|
|
13
|
+
# right data to themselves.
|
|
14
|
+
auto_bootstrap: <%= rubber_instances.for_role("cassandra").size > 1 ? "true" : "false" %>
|
|
15
|
+
|
|
16
|
+
# authentication backend, implementing IAuthenticator; used to limit keyspace access
|
|
17
|
+
authenticator: org.apache.cassandra.auth.AllowAllAuthenticator
|
|
18
|
+
|
|
19
|
+
# any IPartitioner may be used, including your own as long as it is on
|
|
20
|
+
# the classpath. Out of the box, Cassandra provides
|
|
21
|
+
# org.apache.cassandra.dht.RandomPartitioner
|
|
22
|
+
# org.apache.cassandra.dht.OrderPreservingPartitioner, and
|
|
23
|
+
# org.apache.cassandra.dht.CollatingOrderPreservingPartitioner.
|
|
24
|
+
partitioner: org.apache.cassandra.dht.RandomPartitioner
|
|
25
|
+
|
|
26
|
+
# directories where Cassandra should store data on disk.
|
|
27
|
+
data_file_directories:
|
|
28
|
+
- <%= rubber_env.cassandra_data_dir %>
|
|
29
|
+
|
|
30
|
+
# Addresses of hosts that are deemed contact points.
|
|
31
|
+
# Cassandra nodes use this list of hosts to find each other and learn
|
|
32
|
+
# the topology of the ring. You must change this if you are running
|
|
33
|
+
# multiple nodes!
|
|
34
|
+
<%
|
|
35
|
+
seeds = rubber_instances.for_role('cassandra_seed')
|
|
36
|
+
seeds = rubber_instances.for_role('cassandra') if seeds.size == 0
|
|
37
|
+
seed_hosts = seeds.collect { |i| i.full_name }
|
|
38
|
+
%>
|
|
39
|
+
seeds:
|
|
40
|
+
<% seed_hosts.each do |host| %>
|
|
41
|
+
- <%= host %>
|
|
42
|
+
<% end %>
|
|
43
|
+
|
|
44
|
+
# Access mode. mmapped i/o is substantially faster, but only practical on
|
|
45
|
+
# a 64bit machine (which notably does not include EC2 "small" instances)
|
|
46
|
+
# or relatively small datasets. "auto", the safe choice, will enable
|
|
47
|
+
# mmapping on a 64bit JVM. Other values are "mmap", "mmap_index_only"
|
|
48
|
+
# (which may allow you to get part of the benefits of mmap on a 32bit
|
|
49
|
+
# machine by mmapping only index files) and "standard".
|
|
50
|
+
# (The buffer size settings that follow only apply to standard,
|
|
51
|
+
# non-mmapped i/o.)
|
|
52
|
+
disk_access_mode: auto
|
|
53
|
+
|
|
54
|
+
# Unlike most systems, in Cassandra writes are faster than reads, so
|
|
55
|
+
# you can afford more of those in parallel. A good rule of thumb is 2
|
|
56
|
+
# concurrent reads per processor core. Increase ConcurrentWrites to
|
|
57
|
+
# the number of clients writing at once if you enable CommitLogSync +
|
|
58
|
+
# CommitLogSyncDelay. -->
|
|
59
|
+
concurrent_reads: 8
|
|
60
|
+
concurrent_writes: 32
|
|
61
|
+
|
|
62
|
+
# Buffer size to use when performing contiguous column slices.
|
|
63
|
+
# Increase this to the size of the column slices you typically perform
|
|
64
|
+
sliced_buffer_size_in_kb: 64
|
|
65
|
+
|
|
66
|
+
# TCP port, for commands and data
|
|
67
|
+
storage_port: <%= rubber_env.cassandra_storage_port %>
|
|
68
|
+
|
|
69
|
+
# Address to bind to and tell other nodes to connect to. You _must_
|
|
70
|
+
# change this if you want multiple nodes to be able to communicate!
|
|
71
|
+
listen_address: <%= rubber_env.full_host %>
|
|
72
|
+
|
|
73
|
+
# The address to bind the Thrift RPC service to
|
|
74
|
+
rpc_address: <%= rubber_env.full_host %>
|
|
75
|
+
# port for Thrift to listen on
|
|
76
|
+
rpc_port: <%= rubber_env.cassandra_rpc_port %>
|
|
77
|
+
# Whether or not to use a framed transport for Thrift.
|
|
78
|
+
thrift_framed_transport: false
|
|
79
|
+
snapshot_before_compaction: false
|
|
80
|
+
|
|
81
|
+
# The threshold size in megabytes the binary memtable must grow to,
|
|
82
|
+
# before it's submitted for flushing to disk.
|
|
83
|
+
binary_memtable_throughput_in_mb: 256
|
|
84
|
+
# Number of minutes to keep a memtable in memory
|
|
85
|
+
memtable_flush_after_mins: 60
|
|
86
|
+
# Size of the memtable in memory before it is dumped
|
|
87
|
+
memtable_throughput_in_mb: 64
|
|
88
|
+
# Number of objects in millions in the memtable before it is dumped
|
|
89
|
+
memtable_operations_in_millions: 0.3
|
|
90
|
+
# Buffer size to use when flushing !memtables to disk.
|
|
91
|
+
flush_data_buffer_size_in_mb: 32
|
|
92
|
+
# Increase (decrease) the index buffer size relative to the data
|
|
93
|
+
# buffer if you have few (many) columns per key.
|
|
94
|
+
flush_index_buffer_size_in_mb: 8
|
|
95
|
+
|
|
96
|
+
column_index_size_in_kb: 64
|
|
97
|
+
row_warning_threshold_in_mb: 512
|
|
98
|
+
|
|
99
|
+
# commit log
|
|
100
|
+
commitlog_directory: <%= rubber_env.cassandra_commitlog_dir %>
|
|
101
|
+
|
|
102
|
+
# Size to allow commitlog to grow to before creating a new segment
|
|
103
|
+
commitlog_rotation_threshold_in_mb: 128
|
|
104
|
+
|
|
105
|
+
# commitlog_sync may be either "periodic" or "batch."
|
|
106
|
+
# When in batch mode, Cassandra won't ack writes until the commit log
|
|
107
|
+
# has been fsynced to disk. It will wait up to
|
|
108
|
+
# CommitLogSyncBatchWindowInMS milliseconds for other writes, before
|
|
109
|
+
# performing the sync.
|
|
110
|
+
commitlog_sync: periodic
|
|
111
|
+
|
|
112
|
+
# the other option is "timed," where writes may be acked immediately
|
|
113
|
+
# and the CommitLog is simply synced every commitlog_sync_period_in_ms
|
|
114
|
+
# milliseconds.
|
|
115
|
+
commitlog_sync_period_in_ms: 10000
|
|
116
|
+
|
|
117
|
+
# Time to wait for a reply from other nodes before failing the command
|
|
118
|
+
rpc_timeout_in_ms: 10000
|
|
119
|
+
|
|
120
|
+
# time to wait before garbage collecting tombstones (deletion markers)
|
|
121
|
+
gc_grace_seconds: 864000
|
|
122
|
+
|
|
123
|
+
# endpoint_snitch -- Set this to a class that implements
|
|
124
|
+
# IEndpointSnitch, which will let Cassandra know enough
|
|
125
|
+
# about your network topology to route requests efficiently.
|
|
126
|
+
# Out of the box, Cassandra provides
|
|
127
|
+
# org.apache.cassandra.locator.SimpleSnitch,
|
|
128
|
+
# org.apache.cassandra.locator.RackInferringSnitch, and
|
|
129
|
+
# org.apache.cassandra.locator.PropertyFileSnitch.
|
|
130
|
+
endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
|
|
131
|
+
|
|
132
|
+
# A ColumnFamily is the Cassandra concept closest to a relational table.
|
|
133
|
+
#
|
|
134
|
+
# Keyspaces are separate groups of ColumnFamilies. Except in very
|
|
135
|
+
# unusual circumstances you will have one Keyspace per application.
|
|
136
|
+
#
|
|
137
|
+
# Keyspace required parameters:
|
|
138
|
+
# - name: name of the keyspace; "system" and "definitions" are
|
|
139
|
+
# reserved for Cassandra Internals.
|
|
140
|
+
# - replica_placement_strategy: the class that determines how replicas
|
|
141
|
+
# are distributed among nodes. Must implement IReplicaPlacementStrategy.
|
|
142
|
+
# Out of the box, Cassandra provides
|
|
143
|
+
# org.apache.cassandra.locator.RackUnawareStrategy and
|
|
144
|
+
# org.apache.cassandra.locator.RackAwareStrategy. RackAwareStrategy
|
|
145
|
+
# place one replica in each of two datacenter, and other replicas in
|
|
146
|
+
# different racks in one.
|
|
147
|
+
# - replication_factor: Number of replicas of each row
|
|
148
|
+
# - column_families: column families associated with this keyspace
|
|
149
|
+
#
|
|
150
|
+
# ColumnFamily required parameters:
|
|
151
|
+
# - name: name of the ColumnFamily. Must not contain the character "-".
|
|
152
|
+
# - compare_with: tells Cassandra how to sort the columns for slicing
|
|
153
|
+
# operations. The default is BytesType, which is a straightforward
|
|
154
|
+
# lexical comparison of the bytes in each column. Other options are
|
|
155
|
+
# AsciiType, UTF8Type, LexicalUUIDType, TimeUUIDType, and LongType.
|
|
156
|
+
# You can also specify the fully-qualified class name to a class of
|
|
157
|
+
# your choice extending org.apache.cassandra.db.marshal.AbstractType.
|
|
158
|
+
#
|
|
159
|
+
# ColumnFamily optional parameters:
|
|
160
|
+
# - keys_cached: specifies the number of keys per sstable whose
|
|
161
|
+
# locations we keep in memory in "mostly LRU" order. (JUST the key
|
|
162
|
+
# locations, NOT any column values.) Specify a fraction (value less
|
|
163
|
+
# than 1) or an absolute number of keys to cache. Defaults to 200000
|
|
164
|
+
# keys.
|
|
165
|
+
# - rows_cached: specifies the number of rows whose entire contents we
|
|
166
|
+
# cache in memory. Do not use this on ColumnFamilies with large rows,
|
|
167
|
+
# or ColumnFamilies with high write:read ratios. Specify a fraction
|
|
168
|
+
# (value less than 1) or an absolute number of rows to cache.
|
|
169
|
+
# Defaults to 0. (i.e. row caching is off by default)
|
|
170
|
+
# - comment: used to attach additional human-readable information about
|
|
171
|
+
# the column family to its definition.
|
|
172
|
+
# - read_repair_chance: specifies the probability with which read
|
|
173
|
+
# repairs should be invoked on non-quorum reads. must be between 0
|
|
174
|
+
# and 1. defaults to 1.0 (always read repair).
|
|
175
|
+
# - preload_row_cache: If true, will populate row cache on startup.
|
|
176
|
+
# Defaults to false.
|
|
177
|
+
#
|
|
178
|
+
keyspaces:
|
|
179
|
+
- name: <%= rubber_env.app_name.capitalize %>
|
|
180
|
+
replica_placement_strategy: org.apache.cassandra.locator.RackUnawareStrategy
|
|
181
|
+
replication_factor: 1
|
|
182
|
+
column_families:
|
|
183
|
+
- name: Standard1
|
|
184
|
+
compare_with: BytesType
|
|
185
|
+
|
|
186
|
+
- name: Standard2
|
|
187
|
+
compare_with: UTF8Type
|
|
188
|
+
read_repair_chance: 0.1
|
|
189
|
+
keys_cached: 100
|
|
190
|
+
|
|
191
|
+
- name: StandardByUUID1
|
|
192
|
+
compare_with: TimeUUIDType
|
|
193
|
+
|
|
194
|
+
- name: Super1
|
|
195
|
+
column_type: Super
|
|
196
|
+
compare_with: BytesType
|
|
197
|
+
compare_subcolumns_with: BytesType
|
|
198
|
+
|
|
199
|
+
- name: Super2
|
|
200
|
+
column_type: Super
|
|
201
|
+
compare_subcolumns_with: UTF8Type
|
|
202
|
+
preload_row_cache: true
|
|
203
|
+
rows_cached: 10000
|
|
204
|
+
keys_cached: 50
|
|
205
|
+
comment: 'A column family with supercolumns, whose column and subcolumn names are UTF8 strings'
|
|
206
|
+
|
|
207
|
+
- name: Super3
|
|
208
|
+
column_type: Super
|
|
209
|
+
compare_with: LongType
|
|
210
|
+
comment: 'A column family with supercolumns, whose column names are Longs (8 bytes)'
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@path = "#{rubber_env.cassandra_dir}/conf/log4j-server.properties"
|
|
3
|
+
%>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
# Licensed to the Apache Software Foundation (ASF) under one
|
|
7
|
+
# or more contributor license agreements. See the NOTICE file
|
|
8
|
+
# distributed with this work for additional information
|
|
9
|
+
# regarding copyright ownership. The ASF licenses this file
|
|
10
|
+
# to you under the Apache License, Version 2.0 (the
|
|
11
|
+
# "License"); you may not use this file except in compliance
|
|
12
|
+
# with the License. You may obtain a copy of the License at
|
|
13
|
+
#
|
|
14
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
+
#
|
|
16
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
17
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
+
# See the License for the specific language governing permissions and
|
|
20
|
+
# limitations under the License.
|
|
21
|
+
|
|
22
|
+
# for production, you should probably set the root to INFO
|
|
23
|
+
# and the pattern to %c instead of %l. (%l is slower.)
|
|
24
|
+
|
|
25
|
+
# output messages into a rolling log file as well as stdout
|
|
26
|
+
log4j.rootLogger=INFO,stdout,R
|
|
27
|
+
|
|
28
|
+
# stdout
|
|
29
|
+
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
|
30
|
+
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
|
31
|
+
log4j.appender.stdout.layout.ConversionPattern=%5p %d{HH:mm:ss,SSS} %m%n
|
|
32
|
+
|
|
33
|
+
# rolling log file
|
|
34
|
+
log4j.appender.R=org.apache.log4j.RollingFileAppender
|
|
35
|
+
log4j.appender.file.maxFileSize=20MB
|
|
36
|
+
log4j.appender.file.maxBackupIndex=50
|
|
37
|
+
log4j.appender.R.layout=org.apache.log4j.PatternLayout
|
|
38
|
+
log4j.appender.R.layout.ConversionPattern=%5p [%t] %d{ISO8601} %F (line %L) %m%n
|
|
39
|
+
# Edit the next line to point to your logs directory
|
|
40
|
+
log4j.appender.R.File=<%= rubber_env.cassandra_log_dir %>/system.log
|
|
41
|
+
|
|
42
|
+
# Application logging options
|
|
43
|
+
#log4j.logger.com.facebook=DEBUG
|
|
44
|
+
#log4j.logger.com.facebook.infrastructure.gms=DEBUG
|
|
45
|
+
#log4j.logger.com.facebook.infrastructure.db=DEBUG
|
data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/monit-cassandra.conf
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@path = '/etc/monit/monit.d/monit-cassandra.conf'
|
|
3
|
+
%>
|
|
4
|
+
check process cassandra with pidfile <%= rubber_env.cassandra_pid_file %>
|
|
5
|
+
group cassandra-<%= RUBBER_ENV %>
|
|
6
|
+
start program = "<%= rubber_env.cassandra_dir %>/bin/cassandra -p <%= rubber_env.cassandra_pid_file %>"
|
|
7
|
+
stop program = "kill `cat <%= rubber_env.cassandra_pid_file %>`"
|
|
8
|
+
if failed host <%= rubber_env.host %> port <%= rubber_env.cassandra_rpc_port %> with timeout 10 seconds for 10 cycles then restart
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
cassandra_version: 2010-05-05_14-04-54
|
|
2
|
+
cassandra_prefix: /usr/local
|
|
3
|
+
cassandra_dir: "#{cassandra_prefix}/apache-cassandra-#{cassandra_version}"
|
|
4
|
+
cassandra_data_dir: "/var/lib/cassandra/data"
|
|
5
|
+
cassandra_commitlog_dir: "/var/lib/cassandra/commitlog"
|
|
6
|
+
cassandra_log_dir: "/var/log/cassandra"
|
|
7
|
+
cassandra_pid_file: "/var/run/cassandra.pid"
|
|
8
|
+
cassandra_pkg_url: "http://hudson.zones.apache.org/hudson/job/Cassandra/lastSuccessfulBuild/artifact/cassandra/build/apache-cassandra-#{cassandra_version}-bin.tar.gz"
|
|
9
|
+
cassandra_rpc_port: 9160
|
|
10
|
+
cassandra_storage_port: 7070
|
|
11
|
+
cassandra_jmx_port: 8181
|
|
12
|
+
|
|
13
|
+
role_dependencies:
|
|
14
|
+
cassandra_seed: [cassandra]
|
|
15
|
+
|
|
16
|
+
roles:
|
|
17
|
+
cassandra:
|
|
18
|
+
packages: [openjdk-6-jdk]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
description: The Cassandra distributed data store
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@path = "/etc/haproxy/haproxy.cfg"
|
|
3
|
+
@additive = ["# start haproxy mongrel", "# end haproxy mongrel"]
|
|
4
|
+
%>
|
|
5
|
+
|
|
6
|
+
listen mongrel_proxy 0.0.0.0:<%= rubber_env.haproxy_listen_port %>
|
|
7
|
+
<%
|
|
8
|
+
# Since we do "fair" load balancing to the mongrels, we don't want to share mongrels
|
|
9
|
+
# between haproxy instances otherwise we still end up with requests getting queued behind
|
|
10
|
+
# slow ones.
|
|
11
|
+
app_hosts = rubber_instances.for_role('app').collect { |i| i.name }
|
|
12
|
+
haproxy_hosts = rubber_instances.for_role('haproxy').collect { |i| i.name }
|
|
13
|
+
ports = (rubber_env.mongrel_base_port.to_i ... rubber_env.mongrel_base_port.to_i + rubber_env.mongrel_count.to_i).to_a
|
|
14
|
+
host_count = haproxy_hosts.size
|
|
15
|
+
host_mod = haproxy_hosts.sort.index(rubber_env.host) rescue 0
|
|
16
|
+
ports = ports.find_all {|x| x % host_count == host_mod}
|
|
17
|
+
%>
|
|
18
|
+
<% app_hosts.each do |server| %>
|
|
19
|
+
<% ports.each do |port| %>
|
|
20
|
+
server <%= server %>_<%= port %> <%= server %>:<%= port %> maxconn 1 check
|
|
21
|
+
<% end %>
|
|
22
|
+
<% end %>
|
|
23
|
+
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@path = "/etc/nginx/rubber/mongrel.conf"
|
|
3
|
+
%>
|
|
4
|
+
|
|
5
|
+
upstream haproxy_mongrel
|
|
6
|
+
{
|
|
7
|
+
<% rubber_instances.for_role('haproxy').each do |ic| %>
|
|
8
|
+
server <%= ic.name %>:<%= rubber_env.haproxy_listen_port %>;
|
|
9
|
+
<% end %>
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<% %w[http https].each do |protocol| %>
|
|
14
|
+
|
|
15
|
+
# This server is setup to serve www over <%= protocol %>.
|
|
16
|
+
server
|
|
17
|
+
{
|
|
18
|
+
<% if protocol == 'https' %>
|
|
19
|
+
listen <%= rubber_env.web_ssl_port %>;
|
|
20
|
+
ssl on;
|
|
21
|
+
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
|
|
22
|
+
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
|
|
23
|
+
# ssl_certificate <%= RUBBER_ROOT %>/config/snapmylife.com.crt;
|
|
24
|
+
# ssl_certificate_key <%= RUBBER_ROOT %>/config/snapmylife.com.key;
|
|
25
|
+
<% else %>
|
|
26
|
+
listen <%= rubber_env.web_port %>;
|
|
27
|
+
<% end %>
|
|
28
|
+
|
|
29
|
+
client_max_body_size 10M;
|
|
30
|
+
|
|
31
|
+
server_name <%= rubber_env.domain %>;
|
|
32
|
+
|
|
33
|
+
if ( $host = www.<%= rubber_env.domain %>)
|
|
34
|
+
{
|
|
35
|
+
rewrite ^\/(.*)$ http://<%= rubber_env.domain %>/$1 permanent;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
root <%= RUBBER_ROOT + "/public" %>;
|
|
39
|
+
|
|
40
|
+
# this rewrites all the requests to the maintenance.html
|
|
41
|
+
# page if it exists in the doc root. This is for capistrano's
|
|
42
|
+
# disable web task
|
|
43
|
+
if (-f $document_root/system/maintenance.html)
|
|
44
|
+
{
|
|
45
|
+
rewrite ^(.*)$ /system/maintenance.html last;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
location /
|
|
50
|
+
{
|
|
51
|
+
<%# nginx -> rails is http, so this tells rails the source protocol was https %>
|
|
52
|
+
<%= 'proxy_set_header X_FORWARDED_PROTO https;' if protocol == 'https' %>
|
|
53
|
+
|
|
54
|
+
# needed to forward user's IP address to rails
|
|
55
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
56
|
+
|
|
57
|
+
# needed for HTTPS
|
|
58
|
+
proxy_set_header Host $http_host;
|
|
59
|
+
proxy_redirect false;
|
|
60
|
+
proxy_max_temp_file_size 0;
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
# If the file exists as a static file serve it directly without
|
|
64
|
+
# running all the other rewrite tests on it
|
|
65
|
+
if (-f $request_filename)
|
|
66
|
+
{
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
# check for index.html for directory index
|
|
71
|
+
# if its there on the filesystem then rewite
|
|
72
|
+
# the url to add /index.html to the end of it
|
|
73
|
+
# and then break to send it to the next config rules.
|
|
74
|
+
if (-f $request_filename/index.html)
|
|
75
|
+
{
|
|
76
|
+
rewrite (.*) $1/index.html break;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
# this is the meat of the rails page caching config
|
|
80
|
+
# it adds .html to the end of the url and then checks
|
|
81
|
+
# the filesystem for that file. If it exists, then we
|
|
82
|
+
# rewite the url to have explicit .html on the end
|
|
83
|
+
# and then send it on its way to the next config rule.
|
|
84
|
+
# if there is no file on the fs then it sets all the
|
|
85
|
+
# necessary headers and proxies to our upstream mongrels
|
|
86
|
+
if (-f $request_filename.html)
|
|
87
|
+
{
|
|
88
|
+
rewrite (.*) $1.html break;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (!-f $request_filename)
|
|
92
|
+
{
|
|
93
|
+
proxy_pass http://haproxy_mongrel;
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
# catch errors from proxy so we can display our error page
|
|
99
|
+
proxy_intercept_errors on;
|
|
100
|
+
|
|
101
|
+
error_page 500 502 503 504 /500.html;
|
|
102
|
+
location = /500.html
|
|
103
|
+
{
|
|
104
|
+
root <%= RUBBER_ROOT + "/public" %>;
|
|
105
|
+
}
|
|
106
|
+
error_page 404 /404.html;
|
|
107
|
+
location = /404.html
|
|
108
|
+
{
|
|
109
|
+
root <%= RUBBER_ROOT + "/public" %>;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
<% end %>
|