rubber 1.3.2 → 1.5.0
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 +7 -0
- data/VERSION +1 -1
- data/bin/vulcanize +16 -32
- data/generators/vulcanize/templates/apache/config/rubber/deploy-apache.rb +6 -6
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/monit-apache.conf +2 -2
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/ports.conf +3 -0
- data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +29 -16
- data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +1 -1
- data/generators/vulcanize/templates/base/Rakefile +21 -0
- data/generators/vulcanize/templates/base/config/rubber/common/crontab +6 -1
- data/generators/vulcanize/templates/base/config/rubber/common/monit-postfix.conf +2 -2
- data/generators/vulcanize/templates/base/config/rubber/common/rubber.profile +3 -4
- data/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +27 -48
- data/generators/vulcanize/templates/base/config/rubber/deploy-util.rb +97 -0
- data/generators/vulcanize/templates/base/config/rubber/rubber-rvm.yml +25 -0
- data/generators/vulcanize/templates/base/config/rubber/rubber.yml +7 -12
- data/generators/vulcanize/templates/base/script/cron-runner +1 -1
- data/generators/vulcanize/templates/base/templates.rb +9 -0
- data/generators/vulcanize/templates/base/templates.yml +5 -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 +58 -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_passenger_mysql → complete_passenger}/config/rubber/role/haproxy/haproxy-passenger.conf +1 -1
- data/generators/vulcanize/templates/{complete_passenger_mysql → complete_passenger}/config/rubber/rubber-complete.yml +0 -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 +1 -7
- data/generators/vulcanize/templates/complete_passenger_postgresql/templates.yml +4 -0
- data/generators/vulcanize/templates/cruise/config/rubber/deploy-cruise.rb +3 -3
- data/generators/vulcanize/templates/cruise/config/rubber/role/cruise/my.cnf +1 -1
- data/generators/vulcanize/templates/haproxy/config/rubber/deploy-haproxy.rb +5 -5
- data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/monit-haproxy.conf +2 -2
- data/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +1 -1
- data/generators/vulcanize/templates/jetty/config/rubber/deploy-jetty.rb +4 -4
- data/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached.conf +1 -1
- data/generators/vulcanize/templates/mongrel/config/rubber/deploy-mongrel.rb +4 -4
- data/generators/vulcanize/templates/monit/config/rubber/common/monit.conf +2 -0
- data/generators/vulcanize/templates/monit/config/rubber/deploy-monit.rb +3 -3
- data/generators/vulcanize/templates/munin/config/rubber/common/monit-munin.conf +2 -2
- data/generators/vulcanize/templates/munin/config/rubber/common/munin-node.conf +1 -1
- data/generators/vulcanize/templates/munin/config/rubber/common/munin-plugins.conf +4 -2
- data/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +4 -4
- data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-plugins.conf +2 -2
- data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin.conf +1 -0
- data/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +1 -1
- data/generators/vulcanize/templates/munin/script/munin/example_mysql_query.rb +6 -8
- data/generators/vulcanize/templates/mysql/config/rubber/common/database.yml +1 -0
- data/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +24 -109
- data/generators/vulcanize/templates/mysql/config/rubber/role/db/apparmor-mysql.conf +1 -1
- data/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf +2 -2
- data/generators/vulcanize/templates/mysql/config/rubber/rubber-mysql.yml +1 -1
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +19 -15
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +2 -2
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf +2 -2
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +3 -3
- data/generators/vulcanize/templates/nginx/config/rubber/deploy-nginx.rb +5 -5
- data/generators/vulcanize/templates/nginx/config/rubber/role/nginx/monit-nginx.conf +2 -2
- data/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb +10 -1
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-memory.conf +1 -1
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-sudoers.conf +2 -2
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger.conf +1 -1
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +3 -3
- data/generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml +2 -2
- data/generators/vulcanize/templates/postgresql/config/rubber/common/database.yml +12 -0
- data/generators/vulcanize/templates/postgresql/config/rubber/deploy-postgresql.rb +131 -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/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 +504 -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 +8 -7
- 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 +46 -27
- 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 +14 -6
- data/generators/vulcanize/templates/resque/script/resque_worker_management.rb +112 -0
- data/generators/vulcanize/templates/resque/templates.rb +1 -0
- data/generators/vulcanize/templates/sphinx/config/rubber/deploy-sphinx.rb +7 -8
- data/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/monit-sphinx.conf +7 -4
- data/generators/vulcanize/vulcanize_generator.rb +154 -49
- 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 +21 -0
- data/lib/generators/vulcanize/templates/base/config/deploy.rb +55 -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 +63 -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 +25 -0
- data/lib/generators/vulcanize/templates/base/config/rubber/rubber.yml +235 -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 +9 -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 +58 -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 +81 -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 +46 -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 +7 -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 +46 -0
- data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +35 -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 +131 -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/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 +504 -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 +37 -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 +141 -0
- data/lib/generators/vulcanize/templates/redis/config/rubber/rubber-redis.yml +4 -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 +112 -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 +172 -0
- data/lib/rubber.rb +42 -6
- data/lib/rubber/cloud/aws.rb +4 -0
- data/lib/rubber/dns/zerigo.rb +9 -3
- data/lib/rubber/environment.rb +1 -1
- data/lib/rubber/generator.rb +8 -8
- data/lib/rubber/instance.rb +1 -1
- data/lib/rubber/railtie.rb +14 -0
- data/lib/rubber/recipes/rubber.rb +6 -0
- data/lib/rubber/recipes/rubber/deploy.rb +3 -3
- data/lib/rubber/recipes/rubber/setup.rb +22 -17
- data/lib/rubber/recipes/rubber/utils.rb +37 -14
- data/lib/rubber/util.rb +36 -1
- data/rails/init.rb +1 -4
- metadata +244 -35
- data/generators/vulcanize/templates/resque/config/rubber/deploy-resque-worker-default.rb +0 -38
- data/generators/vulcanize/templates/resque/config/rubber/role/resque_worker_default/monit-resque_worker_default.conf +0 -19
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
# rvm needs some extra packages to compile/install ruby runtimes
|
|
3
|
+
# curl is required.
|
|
4
|
+
# patch is required (for ree, some ruby head's).
|
|
5
|
+
# For JRuby (if you wish to use it) you will need:
|
|
6
|
+
# aptitude install curl sun-java6-bin sun-java6-jre sun-java6-jdk
|
|
7
|
+
# For MRI & ree (if you wish to use it) you will need:
|
|
8
|
+
# aptitude install curl bison build-essential zlib1g-dev libssl-dev libreadline5-dev libxml2-dev git-core
|
|
9
|
+
# For IronRuby (if you wish to use it) you will need:
|
|
10
|
+
# aptitude install curl mono-2.0-devel
|
|
11
|
+
|
|
12
|
+
packages: [build-essential, git-core, subversion, curl, autoconf, bison, ruby, zlib1g-dev, libssl-dev, libreadline5-dev, libxml2-dev]
|
|
13
|
+
|
|
14
|
+
# REQUIRED: Set to the rvm version string for the ruby version you wish to use
|
|
15
|
+
# Run "rvm list known" to see the list of possible options
|
|
16
|
+
rvm_ruby: 1.9.2-head
|
|
17
|
+
|
|
18
|
+
# When rvm is installed as root, and you set the default, it symlinks ruby executables
|
|
19
|
+
# into /usr/local
|
|
20
|
+
ruby_prefix: /usr/local
|
|
21
|
+
|
|
22
|
+
rvm_prefix: /usr/local/rvm
|
|
23
|
+
|
|
24
|
+
# lets us setup global envoronment to use rvm (also needed when running sudo)
|
|
25
|
+
rvm_prepare: "source #{rvm_prefix}/scripts/rvm"
|
|
@@ -75,10 +75,10 @@ cloud_providers:
|
|
|
75
75
|
|
|
76
76
|
# REQUIRED: the ami and instance type for creating instances
|
|
77
77
|
# The Ubuntu images at http://alestic.com/ work well
|
|
78
|
-
# Ubuntu
|
|
79
|
-
# Ubuntu
|
|
78
|
+
# Ubuntu 10.04 Lucid base install 32-bit ami-2d4aa444
|
|
79
|
+
# Ubuntu 10.04 Lucid base install 64-bit ami-fd4aa494
|
|
80
80
|
#
|
|
81
|
-
image_id: ami-
|
|
81
|
+
image_id: ami-2d4aa444
|
|
82
82
|
# m1.small or m1.large or m1.xlarge
|
|
83
83
|
image_type: m1.small
|
|
84
84
|
|
|
@@ -130,17 +130,10 @@ auto_security_groups: true
|
|
|
130
130
|
# account, or even multiple apps
|
|
131
131
|
isolate_security_groups: true
|
|
132
132
|
|
|
133
|
-
# OPTIONAL: Set if you want to use Ruby Enterprise Edition instead of the standard ubuntu one
|
|
134
|
-
use_enterprise_ruby: false
|
|
135
|
-
|
|
136
|
-
# REE installs into /usr/local, so this lets us setup environment to use it globally
|
|
137
|
-
# instead of system ruby
|
|
138
|
-
ruby_prefix: "#{use_enterprise_ruby ? '/usr/local' : '/usr'}"
|
|
139
|
-
|
|
140
133
|
# OPTIONAL: The packages to install on all instances
|
|
141
134
|
# You can install a specific version of a package by using a sub-array of pkg, version
|
|
142
135
|
# For example, packages: [[rake, 0.7.1], irb]
|
|
143
|
-
packages: [postfix, build-essential,
|
|
136
|
+
packages: [postfix, build-essential, git-core, ec2-ami-tools]
|
|
144
137
|
|
|
145
138
|
# OPTIONAL: gem sources to setup for rubygems
|
|
146
139
|
# gemsources: ["http://rubygems.org", "http://gems.github.com"]
|
|
@@ -148,7 +141,9 @@ packages: [postfix, build-essential, ruby-full, ruby1.8-dev, rake, irb, git-core
|
|
|
148
141
|
# OPTIONAL: The gems to install on all instances
|
|
149
142
|
# You can install a specific version of a gem by using a sub-array of gem, version
|
|
150
143
|
# For example, gem: [[rails, 2.2.2], open4, aws-s3]
|
|
151
|
-
gems: [rubber, rails, open4, aws-s3]
|
|
144
|
+
# gems: [rubber, rails, open4, aws-s3]
|
|
145
|
+
# The above is the correct line once rails3 has been released
|
|
146
|
+
gems: [open4, aws-s3, tzinfo, builder, i18n, memcache-client, rack, rake, rack-test, erubis, mail, text-format, thor, bundler, [rack-mount, 0.4], [rails, 3.0.0.beta3], [rubber, "#{Rubber.version}"]]
|
|
152
147
|
|
|
153
148
|
# OPTIONAL: A string prepended to shell command strings that cause multi
|
|
154
149
|
# statement shell commands to fail fast. You may need to comment this out
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
gem "rubber", Rubber.version if Rubber::Util::is_bundler? && ! Rubber::Util::rubber_as_plugin?
|
|
2
|
+
|
|
3
|
+
if Rubber::Util::is_rails2?
|
|
4
|
+
m.gsub_file('script/cron-runner', /RAILS_RUNNER/, 'script/runner')
|
|
5
|
+
m.gsub_file('Rakefile', /RAILS_TASKS/, "require 'tasks/rails'")
|
|
6
|
+
else
|
|
7
|
+
gsub_file('script/cron-runner', /RAILS_RUNNER/, 'rails runner')
|
|
8
|
+
gsub_file('Rakefile', /RAILS_TASKS/, '')
|
|
9
|
+
end
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
|
|
2
|
+
namespace :rubber do
|
|
3
|
+
|
|
4
|
+
namespace :cassandra do
|
|
5
|
+
|
|
6
|
+
rubber.allow_optional_tasks(self)
|
|
7
|
+
|
|
8
|
+
after "rubber:install_packages", "rubber:cassandra:install"
|
|
9
|
+
|
|
10
|
+
task :install, :roles => :cassandra do
|
|
11
|
+
rubber.sudo_script 'install_cassandra', <<-ENDSCRIPT
|
|
12
|
+
if [[ ! -d "#{rubber_env.cassandra_dir}" ]]; then
|
|
13
|
+
wget -qNP /tmp #{rubber_env.cassandra_pkg_url}
|
|
14
|
+
tar -C #{rubber_env.cassandra_prefix} -zxf /tmp/apache-cassandra-#{rubber_env.cassandra_version}-bin.tar.gz
|
|
15
|
+
wget -nNO #{rubber_env.cassandra_dir}/jmxterm.jar http://downloads.sourceforge.net/project/cyclops-group/jmxterm/1.0-alpha-4/jmxterm-1.0-alpha-4-uber.jar
|
|
16
|
+
fi
|
|
17
|
+
ENDSCRIPT
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
after "rubber:bootstrap", "rubber:cassandra:bootstrap"
|
|
21
|
+
|
|
22
|
+
task :bootstrap, :roles => :cassandra do
|
|
23
|
+
instances = rubber_instances.for_role("cassandra") & rubber_instances.filtered
|
|
24
|
+
instances.each do |ic|
|
|
25
|
+
task_name = "_bootstrap_cassandra_#{ic.full_name}".to_sym()
|
|
26
|
+
task task_name, :hosts => ic.full_name do
|
|
27
|
+
env = rubber_cfg.environment.bind("cassandra", ic.name)
|
|
28
|
+
exists = capture("echo $(ls #{env.cassandra_data_dir}/ 2> /dev/null)")
|
|
29
|
+
if exists.strip.size == 0
|
|
30
|
+
# After everything installed on machines, we need the source tree
|
|
31
|
+
# on hosts in order to run rubber:config for bootstrapping the db
|
|
32
|
+
deploy.update_code
|
|
33
|
+
|
|
34
|
+
# Gen just the conf for cassandra
|
|
35
|
+
rubber.run_config(:RUBBER_ENV => RUBBER_ENV, :FILE => "role/cassandra", :FORCE => true, :deploy_path => release_path)
|
|
36
|
+
|
|
37
|
+
cassandra_start
|
|
38
|
+
|
|
39
|
+
# temporary hack to load initial schema from cassandra.yaml until
|
|
40
|
+
# something better available. Subsequent schema changes should be
|
|
41
|
+
# done using thrift system_* api
|
|
42
|
+
# http://wiki.apache.org/cassandra/FAQ#no_keyspaces
|
|
43
|
+
# http://wiki.apache.org/cassandra/LiveSchemaUpdates
|
|
44
|
+
if instances.size == 1
|
|
45
|
+
rubber.sudo_script "install_cassandra_schema", <<-ENDSCRIPT
|
|
46
|
+
echo run -b org.apache.cassandra.service:type=StorageService loadSchemaFromYAML |\
|
|
47
|
+
java -jar #{rubber_env.cassandra_dir}/jmxterm.jar -n -l #{ic.full_name}:#{rubber_env.cassandra_jmx_port}
|
|
48
|
+
ENDSCRIPT
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
send task_name
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
on :load do
|
|
57
|
+
rubber.serial_task self, :serial_restart, :roles => :cassandra do
|
|
58
|
+
cassandra_stop
|
|
59
|
+
cassandra_start
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
rubber.serial_task self, :serial_reload, :roles => :cassandra do
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def cassandra_stop
|
|
67
|
+
rsudo "pid=`cat #{rubber_env.cassandra_pid_file}` && kill $pid; while ps $pid &> /dev/null; do sleep 1; done"
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def cassandra_start
|
|
71
|
+
rsudo "nohup #{rubber_env.cassandra_dir}/bin/cassandra -p #{rubber_env.cassandra_pid_file} &> #{rubber_env.cassandra_log_dir}/startup.log"
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
task :restart, :roles => :cassandra do
|
|
75
|
+
rubber.cassandra.stop
|
|
76
|
+
rubber.cassandra.start
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
task :stop, :roles => :cassandra do
|
|
80
|
+
cassandra_stop
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
task :start, :roles => :cassandra do
|
|
84
|
+
cassandra_start
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
end
|
|
88
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
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"
|
|
@@ -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)'
|