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
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# rails tries to load this from generator dir, so skip it.
|
|
2
|
+
if __FILE__ !~ /rubber\/generators\/vulcanize/
|
|
3
|
+
|
|
4
|
+
env = ENV['RUBBER_ENV'] ||= (ENV['RAILS_ENV'] || 'development')
|
|
5
|
+
root = File.dirname(__FILE__) + '/../..'
|
|
6
|
+
|
|
7
|
+
# this tries first as a rails plugin then as a gem
|
|
8
|
+
$:.unshift "#{root}/vendor/plugins/rubber/lib/"
|
|
9
|
+
require 'rubber'
|
|
10
|
+
|
|
11
|
+
Rubber::initialize(root, env)
|
|
12
|
+
|
|
13
|
+
require 'rubber/tasks/rubber'
|
|
14
|
+
|
|
15
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# For running rake jobs through cron - only prints output if there is an error
|
|
4
|
+
#
|
|
5
|
+
# author mconway
|
|
6
|
+
# since 8/12/07
|
|
7
|
+
|
|
8
|
+
RAILS_ROOT = File.expand_path("..", File.dirname(__FILE__))
|
|
9
|
+
log = "#{RAILS_ROOT}/log/cron-rake-#{Time.now.tv_sec}.log"
|
|
10
|
+
begin
|
|
11
|
+
ident = File.basename(ARGV[-1]).gsub(/\W+/, "_")
|
|
12
|
+
log = "#{RAILS_ROOT}/log/cron-rake-#{ident}.log"
|
|
13
|
+
rescue
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
Dir.chdir(RAILS_ROOT)
|
|
17
|
+
args = %W{-l #{log} -- rake --trace} + ARGV
|
|
18
|
+
system "script/cron-sh", *args
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# For running jobs through cron - only prints output if there is an error
|
|
4
|
+
#
|
|
5
|
+
# author mconway
|
|
6
|
+
# since 8/12/07
|
|
7
|
+
|
|
8
|
+
RAILS_ROOT = File.expand_path("..", File.dirname(__FILE__))
|
|
9
|
+
log = "#{RAILS_ROOT}/log/cron-runner-#{Time.now.tv_sec}.log"
|
|
10
|
+
begin
|
|
11
|
+
ident = File.basename(ARGV[-1]).gsub(/\W+/, "_")
|
|
12
|
+
log = "#{RAILS_ROOT}/log/cron-runner-#{ident}.log"
|
|
13
|
+
rescue
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
Dir.chdir(RAILS_ROOT)
|
|
17
|
+
args = %W{-e -l #{log} -- RAILS_RUNNER} + ARGV
|
|
18
|
+
system "script/cron-sh", *args
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# For running shell commands through cron - only prints output if there is an error
|
|
4
|
+
#
|
|
5
|
+
# author mconway
|
|
6
|
+
# since 8/12/07
|
|
7
|
+
|
|
8
|
+
require 'optparse'
|
|
9
|
+
require 'ostruct'
|
|
10
|
+
require 'rubygems'
|
|
11
|
+
require 'open4'
|
|
12
|
+
|
|
13
|
+
options = OpenStruct.new
|
|
14
|
+
options.logfile = "/tmp/cron-sh-#{Time.now.tv_sec}.log"
|
|
15
|
+
options.echoerr = false
|
|
16
|
+
options.echoout = false
|
|
17
|
+
|
|
18
|
+
opts = OptionParser.new do |opts|
|
|
19
|
+
opts.banner = "Usage: cron-sh [options] <shell command>"
|
|
20
|
+
opts.separator "Runs the given command, sending all stdout/stderr to a logfile, but echoing"
|
|
21
|
+
opts.separator "the entire file if the command exits with an error"
|
|
22
|
+
opts.separator ""
|
|
23
|
+
opts.separator "Specific options:"
|
|
24
|
+
|
|
25
|
+
opts.on("-l", "--log logfile", "Log to given file instead of a default") do |val|
|
|
26
|
+
options.logfile = val
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
opts.on("-o", "--[no-]echoout", "Log _and_ echo stdout") do |val|
|
|
30
|
+
options.echoout = true
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
opts.on("-e", "--[no-]echoerr", "Log _and_ echo stderr") do |val|
|
|
34
|
+
options.echoerr = true
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
opts.on_tail("-h", "--help", "Show this message") do
|
|
38
|
+
puts opts
|
|
39
|
+
exit
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
cmd = opts.parse(ARGV)
|
|
44
|
+
|
|
45
|
+
status = Open4::popen4(*cmd) do |pid, stdin, stdout, stderr|
|
|
46
|
+
File.open(options.logfile, "w") do | fh |
|
|
47
|
+
threads = []
|
|
48
|
+
threads << Thread.new(stdout) do |stdout|
|
|
49
|
+
stdout.each { |line| $stdout.puts line if options.echoout; fh.print line; fh.flush }
|
|
50
|
+
end
|
|
51
|
+
threads << Thread.new(stderr) do |stderr|
|
|
52
|
+
stderr.each { |line| $stderr.puts line if options.echoerr; fh.print line; fh.flush }
|
|
53
|
+
end
|
|
54
|
+
threads.each { |t| t.join }
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
result = status.exitstatus
|
|
59
|
+
if result != 0
|
|
60
|
+
puts ""
|
|
61
|
+
puts "*** Process exited with non-zero error code, full output follows"
|
|
62
|
+
puts "*** Command was: #{cmd.join(' ')}"
|
|
63
|
+
puts ""
|
|
64
|
+
puts IO.read(options.logfile)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
exit(result)
|
|
@@ -0,0 +1,11 @@
|
|
|
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_LOADER/, "require(File.join(File.dirname(__FILE__), 'config', 'boot'))")
|
|
6
|
+
m.gsub_file('Rakefile', /RAILS_TASKS/, "require 'tasks/rails'")
|
|
7
|
+
else
|
|
8
|
+
gsub_file('script/cron-runner', /RAILS_RUNNER/, 'rails runner')
|
|
9
|
+
gsub_file('Rakefile', /RAILS_LOADER/, '')
|
|
10
|
+
gsub_file('Rakefile', /RAILS_TASKS/, '')
|
|
11
|
+
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 -qNO #{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,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)'
|