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,97 @@
|
|
|
1
|
+
namespace :rubber do
|
|
2
|
+
namespace :util do
|
|
3
|
+
|
|
4
|
+
rubber.allow_optional_tasks(self)
|
|
5
|
+
|
|
6
|
+
desc <<-DESC
|
|
7
|
+
Backup database using rake task rubber:backup_db
|
|
8
|
+
DESC
|
|
9
|
+
task :backup do
|
|
10
|
+
master_instances = rubber_instances.for_role('db', 'primary' => true)
|
|
11
|
+
slaves = rubber_instances.for_role('db', {})
|
|
12
|
+
|
|
13
|
+
# Select only one instance for backup. Favor slave database.
|
|
14
|
+
selected_db_instance = (slaves+master_instances).first
|
|
15
|
+
|
|
16
|
+
task_name = "_backup_db_#{selected_db_instance.full_name}".to_sym()
|
|
17
|
+
task task_name, :hosts => selected_db_instance.full_name do
|
|
18
|
+
rsudo "cd #{current_path} && RUBBER_ENV=#{RUBBER_ENV} BACKUP_DIR=/mnt/db_backups DBUSER=#{rubber_env.db_user} DBPASS=#{rubber_env.db_pass} DBNAME=#{rubber_env.db_name} DBHOST=#{selected_db_instance.full_name} rake rubber:backup_db"
|
|
19
|
+
end
|
|
20
|
+
send task_name
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
desc <<-DESC
|
|
24
|
+
Restore database from s3 using rake task rubber:restore_db_s3
|
|
25
|
+
DESC
|
|
26
|
+
task :restore_s3 do
|
|
27
|
+
master_instances = rubber_instances.for_role('db', 'primary' => true)
|
|
28
|
+
slaves = rubber_instances.for_role('db', {})
|
|
29
|
+
|
|
30
|
+
for instance in master_instances+slaves
|
|
31
|
+
task_name = "_restore_db_s3_#{instance.full_name}".to_sym()
|
|
32
|
+
task task_name, :hosts => instance.full_name do
|
|
33
|
+
rsudo "cd #{current_path} && RUBBER_ENV=#{RUBBER_ENV} BACKUP_DIR=/mnt/db_backups DBUSER=#{rubber_env.db_user} DBPASS=#{rubber_env.db_pass} DBNAME=#{rubber_env.db_name} DBHOST=#{instance.full_name} rake rubber:restore_db_s3"
|
|
34
|
+
end
|
|
35
|
+
send task_name
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
desc <<-DESC
|
|
40
|
+
Overwrite ec2 production database with export from local production database.
|
|
41
|
+
DESC
|
|
42
|
+
task :local_to_ec2 do
|
|
43
|
+
require 'yaml'
|
|
44
|
+
master_instances = rubber_instances.for_role('db', 'primary' => true)
|
|
45
|
+
slaves = rubber_instances.for_role('db', {})
|
|
46
|
+
|
|
47
|
+
# Select only one instance for backup. Favor slave database.
|
|
48
|
+
selected_db_instance = (slaves+master_instances).first
|
|
49
|
+
|
|
50
|
+
task_name = "_load_local_to_#{selected_db_instance.full_name}".to_sym()
|
|
51
|
+
task task_name, :hosts => selected_db_instance.full_name do
|
|
52
|
+
|
|
53
|
+
# Dump Local to tmp folder
|
|
54
|
+
filename = "#{application}.local.#{Time.now.to_i}.sql.gz"
|
|
55
|
+
backup_file = "/tmp/#{filename}"
|
|
56
|
+
on_rollback { delete file }
|
|
57
|
+
FileUtils.mkdir_p(File.dirname(backup_file))
|
|
58
|
+
|
|
59
|
+
# Use database.yml to get connection params
|
|
60
|
+
db = YAML::load(ERB.new(IO.read(File.join(File.dirname(__FILE__), '..','database.yml'))).result)[RUBBER_ENV]
|
|
61
|
+
user = db['username']
|
|
62
|
+
pass = db['passsword']
|
|
63
|
+
pass = nil if pass and pass.strip.size == 0
|
|
64
|
+
host = db['host']
|
|
65
|
+
name = db['database']
|
|
66
|
+
|
|
67
|
+
raise "No db_backup_cmd defined in rubber.yml, cannot backup!" unless rubber_env.db_backup_cmd
|
|
68
|
+
db_backup_cmd = rubber_env.db_backup_cmd.gsub(/%([^%]+)%/, '#{\1}')
|
|
69
|
+
db_backup_cmd = eval('%Q{' + db_backup_cmd + '}')
|
|
70
|
+
|
|
71
|
+
# dbdump (or backup app) needs to be in your path
|
|
72
|
+
puts "Backing up database with command:"
|
|
73
|
+
system(db_backup_cmd)
|
|
74
|
+
puts "Created backup: #{backup_file}"
|
|
75
|
+
|
|
76
|
+
# Upload Local to S3
|
|
77
|
+
cloud_provider = rubber_env.cloud_providers[rubber_env.cloud_provider]
|
|
78
|
+
s3_prefix = "db/"
|
|
79
|
+
backup_bucket = cloud_provider.backup_bucket
|
|
80
|
+
if backup_bucket
|
|
81
|
+
AWS::S3::Base.establish_connection!(:access_key_id => cloud_provider.access_key, :secret_access_key => cloud_provider.secret_access_key)
|
|
82
|
+
unless AWS::S3::Bucket.list.find { |b| b.name == backup_bucket }
|
|
83
|
+
AWS::S3::Bucket.create(backup_bucket)
|
|
84
|
+
end
|
|
85
|
+
dest = "#{s3_prefix}#{File.basename(backup_file)}"
|
|
86
|
+
puts "Saving db dump to S3: #{backup_bucket}:#{dest}"
|
|
87
|
+
AWS::S3::S3Object.store(dest, open(backup_file), backup_bucket)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
send :restore_s3
|
|
91
|
+
|
|
92
|
+
end
|
|
93
|
+
send task_name
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
end
|
|
97
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# OPTIONAL: The dns provider to use. Need to exist in dns_providers below
|
|
2
|
+
# dns_provider: nettica
|
|
3
|
+
|
|
4
|
+
# OPTIONAL: The configuration for each dns provider (nettica|zerigo|dyndns)
|
|
5
|
+
# This lets rubber update a dynamic dns service with the instance alias and ip
|
|
6
|
+
#
|
|
7
|
+
dns_providers:
|
|
8
|
+
nettica:
|
|
9
|
+
user: joe
|
|
10
|
+
password: sekret
|
|
11
|
+
type: A
|
|
12
|
+
ttl: 300
|
|
13
|
+
zerigo:
|
|
14
|
+
email: foo@bar.com
|
|
15
|
+
token: hexxy
|
|
16
|
+
type: A
|
|
17
|
+
ttl: 300
|
|
18
|
+
dyndns:
|
|
19
|
+
user: joe
|
|
20
|
+
password: sekret
|
|
21
|
+
update_url: https://members.dyndns.org/nic/update?hostname=%host%&myip=%ip%'
|
|
22
|
+
|
|
23
|
+
# OPTIONAL: Lets you configure your dns service, for example to add other CNAMES
|
|
24
|
+
# or setup dns round robin, etc. Run "cap rubber:setup_dns_records"
|
|
25
|
+
# to apply them as rubber only sets up instance aliases as part of
|
|
26
|
+
# the standard lifecycle
|
|
27
|
+
#
|
|
28
|
+
# dns_records:
|
|
29
|
+
# # simple A record
|
|
30
|
+
# - host: bar
|
|
31
|
+
# data: 1.1.1.1
|
|
32
|
+
#
|
|
33
|
+
# # more detailed A record
|
|
34
|
+
# - host: bar
|
|
35
|
+
# domain: otherdomain.com
|
|
36
|
+
# data: 1.1.1.1
|
|
37
|
+
# type: A
|
|
38
|
+
# ttl: 300
|
|
39
|
+
#
|
|
40
|
+
# # tld A record
|
|
41
|
+
# - host: ''
|
|
42
|
+
# data: 1.1.1.1
|
|
43
|
+
# type: A
|
|
44
|
+
#
|
|
45
|
+
# # simple CNAME record
|
|
46
|
+
# - host: otherbar
|
|
47
|
+
# domain: foo.com
|
|
48
|
+
# data: bar.foo.com
|
|
49
|
+
# type: CNAME
|
|
50
|
+
# ttl: 300
|
|
51
|
+
#
|
|
52
|
+
# # 2 of the same A records is a round robin dns
|
|
53
|
+
# - host: rr
|
|
54
|
+
# domain: foo.com
|
|
55
|
+
# data: 1.1.1.1
|
|
56
|
+
# type: A
|
|
57
|
+
# ttl: 300
|
|
58
|
+
# - host: rr
|
|
59
|
+
# domain: foo.com
|
|
60
|
+
# data: 1.1.1.2
|
|
61
|
+
# type: A
|
|
62
|
+
# ttl: 300
|
|
63
|
+
#
|
|
64
|
+
# # A record, grabbing ip from instance config
|
|
65
|
+
# - host: baz
|
|
66
|
+
# domain: foo.com
|
|
67
|
+
# data: "#{rubber_instances.for_role('web').first.external_ip}"
|
|
68
|
+
# type: A
|
|
69
|
+
# ttl: 300
|
|
70
|
+
#
|
|
71
|
+
# # MX record
|
|
72
|
+
# - host: ''
|
|
73
|
+
# domain: foo.com
|
|
74
|
+
# data: mail.foo.com
|
|
75
|
+
# type: MX
|
|
76
|
+
# ttl: 300
|
|
77
|
+
# priority: 10
|
|
78
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
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: the version of rvm itself
|
|
15
|
+
rvm_version: 1.1.3
|
|
16
|
+
|
|
17
|
+
# REQUIRED: Set to the rvm version string for the ruby version you wish to use
|
|
18
|
+
# Run "rvm list known" to see the list of possible options
|
|
19
|
+
rvm_ruby: 1.9.2
|
|
20
|
+
|
|
21
|
+
# When rvm is installed as root, and you set the default, it symlinks ruby executables
|
|
22
|
+
# into /usr/local/rvm
|
|
23
|
+
ruby_prefix: /usr/local/rvm
|
|
24
|
+
|
|
25
|
+
rvm_prefix: /usr/local/rvm
|
|
26
|
+
|
|
27
|
+
# lets us setup global envoronment to use rvm (also needed when running sudo)
|
|
28
|
+
rvm_prepare: "source #{rvm_prefix}/scripts/rvm"
|
|
29
|
+
|
|
30
|
+
# dirty hack to get the rvm gem home rather than bundler gem home
|
|
31
|
+
# When we run rubber:config it loads rails/bundler, which forces the bundler gem home, yet deployment only gems
|
|
32
|
+
# like passenger need to be installed in rvm gem home rather than bundler
|
|
33
|
+
rvm_gem_home: "#{$rubber_rvm_gem_home ||= `unset GEM_HOME; bash -l -c 'rvm gemdir'`.strip}"
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# All variables can also be overridden on the role and/or host level by creating
|
|
2
|
+
# a sub level to the config under roles and hosts
|
|
3
|
+
# e.g. to install mysql only on db role, and awstats only on web01:
|
|
4
|
+
#
|
|
5
|
+
# packages: [ruby]
|
|
6
|
+
# roles:
|
|
7
|
+
# db:
|
|
8
|
+
# packages: [mysql]
|
|
9
|
+
# hosts:
|
|
10
|
+
# web01:
|
|
11
|
+
# packages: [awstats]
|
|
12
|
+
|
|
13
|
+
# REQUIRED: The name of your application
|
|
14
|
+
app_name: your_app_name
|
|
15
|
+
|
|
16
|
+
# REQUIRED: The system user to run your app servers as
|
|
17
|
+
app_user: app
|
|
18
|
+
|
|
19
|
+
# REQUIRED: Notification emails (e.g. monit) get sent to this address
|
|
20
|
+
#
|
|
21
|
+
admin_email: root@localhost
|
|
22
|
+
|
|
23
|
+
# OPTIONAL: If not set, you won't be able to access web_tools
|
|
24
|
+
# server (munin stats, monit status, etc)
|
|
25
|
+
# web_tools_user: admin
|
|
26
|
+
# web_tools_password: sekret
|
|
27
|
+
|
|
28
|
+
# REQUIRED: The timezone the server should be in
|
|
29
|
+
timezone: US/Eastern
|
|
30
|
+
|
|
31
|
+
# REQUIRED: the domain all the instances should be associated with
|
|
32
|
+
#
|
|
33
|
+
domain: foo.com
|
|
34
|
+
|
|
35
|
+
# OPTIONAL: See rubber-dns.yml for dns configuration
|
|
36
|
+
# This lets rubber update a dynamic dns service with the instance alias
|
|
37
|
+
# and ip when they are created. It also allows setting up arbitrary
|
|
38
|
+
# dns records (CNAME, MX, Round Robin DNS, etc)
|
|
39
|
+
|
|
40
|
+
# OPTIONAL: Additional rubber file to pull config from if it exists. This file will
|
|
41
|
+
# also be pushed to remote host at RUBBER_ROOT/config/rubber/rubber-secret.yml
|
|
42
|
+
#
|
|
43
|
+
# rubber_secret: "#{File.expand_path('~') + '/.ec2' + (RUBBER_ENV == 'production' ? '' : '_dev') + '/rubber-secret.yml' rescue ''}"
|
|
44
|
+
|
|
45
|
+
# REQUIRED All known cloud providers with the settings needed to configure them
|
|
46
|
+
# There's only one coud provider right now - Amazon Web Services
|
|
47
|
+
# To implement another, clone lib/rubber/cloud/aws.rb
|
|
48
|
+
#
|
|
49
|
+
cloud_providers:
|
|
50
|
+
aws:
|
|
51
|
+
# REQUIRED The amazon keys and account ID (digits only, no dashes) used to access the AWS API
|
|
52
|
+
#
|
|
53
|
+
access_key: XXX
|
|
54
|
+
secret_access_key: YYY
|
|
55
|
+
account: ZZZ
|
|
56
|
+
|
|
57
|
+
# REQUIRED: The name of the amazon keypair and location of its private key
|
|
58
|
+
#
|
|
59
|
+
# NOTE: for some reason Capistrano requires you to have both the public and
|
|
60
|
+
# the private key in the same folder, the public key should have the
|
|
61
|
+
# extension ".pub". The easiest (only?) way to get your hand on this is to
|
|
62
|
+
# create an instance, ssh into it, and copy the file /mnt/openssh_id.pub
|
|
63
|
+
#
|
|
64
|
+
key_name: gsg-keypair
|
|
65
|
+
key_file: "#{Dir[(File.expand_path('~') rescue '/root') + '/.ec2/*' + cloud_providers.aws.key_name].first}"
|
|
66
|
+
|
|
67
|
+
# OPTIONAL: Needed for bundling a running instance using rubber:bundle
|
|
68
|
+
#
|
|
69
|
+
# pk_file: "#{Dir[(File.expand_path('~') rescue '/root') + '/.ec2/pk-*'].first}"
|
|
70
|
+
# cert_file: "#{Dir[(File.expand_path('~') rescue '/root') + '/.ec2/cert-*'].first}"
|
|
71
|
+
# image_bucket: "#{app_name}-images"
|
|
72
|
+
|
|
73
|
+
# OPTIONAL: Needed for backing up database to s3
|
|
74
|
+
# backup_bucket: "#{app_name}-backups"
|
|
75
|
+
|
|
76
|
+
# REQUIRED: the ami and instance type for creating instances
|
|
77
|
+
# The Ubuntu images at http://alestic.com/ work well
|
|
78
|
+
# Ubuntu 10.04 Lucid base install 32-bit ami-6407f20d
|
|
79
|
+
# Ubuntu 10.04 Lucid base install 64-bit ami-ac07f2c5
|
|
80
|
+
#
|
|
81
|
+
# m1.small or m1.large or m1.xlarge
|
|
82
|
+
image_type: m1.small
|
|
83
|
+
image_id: "#{ %w{m1.small c1.medium}.include?(image_type) ? 'ami-6407f20d' : 'ami-ac07f2c5' }"
|
|
84
|
+
|
|
85
|
+
# OPTIONAL: EC2 spot instance request support.
|
|
86
|
+
#
|
|
87
|
+
# Enables the creation of spot instance requests. Rubber will wait synchronously until the request is fulfilled,
|
|
88
|
+
# at which point it will begin initializing the instance, unless spot_instance_request_timeout is set.
|
|
89
|
+
# spot_instance: true
|
|
90
|
+
#
|
|
91
|
+
# The maximum price you would like to pay for your spot instance.
|
|
92
|
+
# spot_price: "0.085"
|
|
93
|
+
#
|
|
94
|
+
# If a spot instance request can't be fulfilled in 3 minutes, fallback to on-demand instance creation. If not set,
|
|
95
|
+
# the default is infinite.
|
|
96
|
+
# spot_instance_request_timeout: 180
|
|
97
|
+
|
|
98
|
+
# REQUIRED the cloud provider to use
|
|
99
|
+
#
|
|
100
|
+
cloud_provider: aws
|
|
101
|
+
|
|
102
|
+
# OPTIONAL: Define security groups
|
|
103
|
+
# Each security group is a name associated with a sequence of maps where the
|
|
104
|
+
# keys are the parameters to the ec2 AuthorizeSecurityGroupIngress API
|
|
105
|
+
# source_security_group_name, source_security_group_owner_id
|
|
106
|
+
# ip_protocol, from_port, to_port, cidr_ip
|
|
107
|
+
#
|
|
108
|
+
security_groups:
|
|
109
|
+
default:
|
|
110
|
+
description: The default security group
|
|
111
|
+
rules:
|
|
112
|
+
- source_group_name: default
|
|
113
|
+
source_group_account: "#{cloud_providers.aws.account}"
|
|
114
|
+
- protocol: tcp
|
|
115
|
+
from_port: 22
|
|
116
|
+
to_port: 22
|
|
117
|
+
source_ips: [0.0.0.0/0]
|
|
118
|
+
|
|
119
|
+
# OPTIONAL: The default security groups to create instances with
|
|
120
|
+
assigned_security_groups: [default]
|
|
121
|
+
|
|
122
|
+
# OPTIONAL: Automatically create security groups for each host and role
|
|
123
|
+
# EC2 doesn't allow one to change what groups an instance belongs to after
|
|
124
|
+
# creation, so its good to have some empty ones predefined.
|
|
125
|
+
auto_security_groups: true
|
|
126
|
+
|
|
127
|
+
# OPTIONAL: Automatically isolate security groups for each appname/environment
|
|
128
|
+
# by mangling their names to be appname_env_groupname
|
|
129
|
+
# This makes it safer to have staging and production coexist on the same EC2
|
|
130
|
+
# account, or even multiple apps
|
|
131
|
+
isolate_security_groups: true
|
|
132
|
+
|
|
133
|
+
# OPTIONAL: The packages to install on all instances
|
|
134
|
+
# You can install a specific version of a package by using a sub-array of pkg, version
|
|
135
|
+
# For example, packages: [[rake, 0.7.1], irb]
|
|
136
|
+
packages: [postfix, build-essential, git-core, ec2-ami-tools]
|
|
137
|
+
|
|
138
|
+
# OPTIONAL: gem sources to setup for rubygems
|
|
139
|
+
# gemsources: ["http://rubygems.org", "http://gems.github.com"]
|
|
140
|
+
|
|
141
|
+
# OPTIONAL: The gems to install on all instances
|
|
142
|
+
# You can install a specific version of a gem by using a sub-array of gem, version
|
|
143
|
+
# For example, gem: [[rails, 2.2.2], open4, aws-s3]
|
|
144
|
+
gems: [open4, aws-s3, bundler, [rubber, "#{Rubber.version}"]]
|
|
145
|
+
|
|
146
|
+
# OPTIONAL: A string prepended to shell command strings that cause multi
|
|
147
|
+
# statement shell commands to fail fast. You may need to comment this out
|
|
148
|
+
# on some platforms, but it works for me on linux/osx with a bash shell
|
|
149
|
+
#
|
|
150
|
+
stop_on_error_cmd: "function error_exit { exit 99; }; trap error_exit ERR"
|
|
151
|
+
|
|
152
|
+
# OPTIONAL: The default set of roles to use when creating a staging instance
|
|
153
|
+
# with "cap rubber:create_staging". By default this uses all the known roles,
|
|
154
|
+
# but this is not always desired for staging, so you can specify a different
|
|
155
|
+
# set here
|
|
156
|
+
#
|
|
157
|
+
staging_roles: "web,app,db:primary=true"
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
# OPTIONAL: Lets one assign amazon elastic IPs (static IPs) to your instances
|
|
161
|
+
# You should typically set this on the role/host level rather than
|
|
162
|
+
# globally , unless you really do want all instances to have a
|
|
163
|
+
# static IP
|
|
164
|
+
#
|
|
165
|
+
# use_static_ip: true
|
|
166
|
+
|
|
167
|
+
# OPTIONAL: Specifies an instance to be created in the given availability zone
|
|
168
|
+
# Availability zones are sepcified by amazon to be somewhat isolated
|
|
169
|
+
# from each other so that hardware failures in one zone shouldn't
|
|
170
|
+
# affect instances in another. As such, it is good to specify these
|
|
171
|
+
# for instances that need to be redundant to reduce your chance of
|
|
172
|
+
# downtime. You should typically set this on the role/host level
|
|
173
|
+
# rather than globally. Use rubber describe:zones to see the list
|
|
174
|
+
# of zones
|
|
175
|
+
# availability_zone: us-east-1a
|
|
176
|
+
|
|
177
|
+
# OPTIONAL: If you want t use Elastic Block Store (EBS) persistent
|
|
178
|
+
# volumes, add them to host specific overrides and they will get created
|
|
179
|
+
# and assigned to the instance. On initial creation, the volume will get
|
|
180
|
+
# attached _and_ formatted, but if your host disapears and you recreate
|
|
181
|
+
# it, the volume will only get remounted thereby preserving your data
|
|
182
|
+
#
|
|
183
|
+
# hosts:
|
|
184
|
+
# my_host:
|
|
185
|
+
# availability_zone: us-east-1a
|
|
186
|
+
# volumes:
|
|
187
|
+
# - size: 100 # size of vol in GBs
|
|
188
|
+
# zone: us-east-1a # zone to create volume in, needs to match host's zone
|
|
189
|
+
# device: /dev/sdh # OS device to attach volume to
|
|
190
|
+
# mount: /mnt/mysql # The directory to mount this volume to
|
|
191
|
+
# filesystem: ext3 # the filesystem to create on volume
|
|
192
|
+
# - size: 10 # size of vol in GBs
|
|
193
|
+
# zone: us-east-1a # zone to create volume in, needs to match host's zone
|
|
194
|
+
# device: /dev/sdi # OS device to attach volume to
|
|
195
|
+
# mount: /mnt/logs # The directory to mount this volume to
|
|
196
|
+
# filesystem: ext3 # the filesystem to create on volume
|
|
197
|
+
#
|
|
198
|
+
# # volumes without mount/filesystem can be used in raid arrays
|
|
199
|
+
#
|
|
200
|
+
# - size: 50 # size of vol in GBs
|
|
201
|
+
# zone: us-east-1a # zone to create volume in, needs to match host's zone
|
|
202
|
+
# device: /dev/sdx # OS device to attach volume to
|
|
203
|
+
# - size: 50 # size of vol in GBs
|
|
204
|
+
# zone: us-east-1a # zone to create volume in, needs to match host's zone
|
|
205
|
+
# device: /dev/sdy # OS device to attach volume to
|
|
206
|
+
#
|
|
207
|
+
# # Use some ephemeral volumes for raid array
|
|
208
|
+
# local_volumes:
|
|
209
|
+
# - partition_device: /dev/sdb
|
|
210
|
+
# zero: false # zeros out disk for improved performance
|
|
211
|
+
# - partition_device: /dev/sdc
|
|
212
|
+
# zero: false # zeros out disk for improved performance
|
|
213
|
+
#
|
|
214
|
+
# # for raid array, you'll need to add mdadm to packages. Likewise,
|
|
215
|
+
# # xfsprogs is needed for xfs filesystem support
|
|
216
|
+
# packages: [xfsprogs, mdadm]
|
|
217
|
+
# raid_volumes:
|
|
218
|
+
# - device: /dev/md0 # OS device to to create raid array on
|
|
219
|
+
# mount: /mnt/fast # The directory to mount this array to
|
|
220
|
+
# filesystem: xfs # the filesystem to create on array
|
|
221
|
+
# filesystem_opts: -f # the filesystem opts in mkfs
|
|
222
|
+
# raid_level: 0 # the raid level to use for the array
|
|
223
|
+
# source_devices: [/dev/sdx, /dev/sdy] # the source EBS devices we are creating raid array from
|
|
224
|
+
|
|
225
|
+
# OPTIONAL: You can also define your own variables here for use when
|
|
226
|
+
# transforming config files, and they will be available in your config
|
|
227
|
+
# templates as <%= rubber_env.var_name %>
|
|
228
|
+
#
|
|
229
|
+
# var_name: var_value
|
|
230
|
+
|
|
231
|
+
# OPTIONAL: Role specific overrides
|
|
232
|
+
# roles:
|
|
233
|
+
# somerole:
|
|
234
|
+
# packages: []
|
|
235
|
+
# somerole2:
|
|
236
|
+
# myconfig: someval
|
|
237
|
+
|
|
238
|
+
# OPTIONAL: Host specific overrides
|
|
239
|
+
# hosts:
|
|
240
|
+
# somehost:
|
|
241
|
+
# packages: []
|