rubber 1.15.0 → 2.0.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +10 -0
- data/CHANGELOG +68 -1
- data/Gemfile +4 -0
- data/{COPYING → LICENSE} +0 -0
- data/Rakefile +89 -0
- data/bin/rubber +17 -0
- data/lib/rubber.rb +12 -6
- data/lib/rubber/cli.rb +30 -0
- data/lib/rubber/cloud.rb +2 -1
- data/lib/rubber/cloud/aws.rb +58 -298
- data/lib/rubber/cloud/aws_table_store.rb +127 -0
- data/lib/rubber/cloud/fog.rb +313 -0
- data/lib/rubber/cloud/fog_storage.rb +143 -0
- data/lib/rubber/commands/config.rb +70 -0
- data/lib/rubber/commands/cron.rb +127 -0
- data/lib/rubber/commands/util.rb +308 -0
- data/lib/rubber/commands/vulcanize.rb +197 -0
- data/lib/rubber/configuration.rb +20 -9
- data/lib/rubber/dns.rb +2 -1
- data/lib/rubber/dns/base.rb +6 -8
- data/lib/rubber/dns/fog.rb +117 -0
- data/lib/rubber/dns/nettica.rb +6 -1
- data/lib/rubber/dns/zerigo.rb +8 -103
- data/lib/rubber/environment.rb +25 -6
- data/lib/rubber/generator.rb +2 -0
- data/lib/rubber/instance.rb +121 -19
- data/lib/rubber/recipes/rubber.rb +3 -4
- data/lib/rubber/recipes/rubber/deploy.rb +12 -12
- data/lib/rubber/recipes/rubber/instances.rb +30 -31
- data/lib/rubber/recipes/rubber/security_groups.rb +2 -2
- data/lib/rubber/recipes/rubber/setup.rb +139 -42
- data/lib/rubber/recipes/rubber/utils.rb +12 -7
- data/lib/rubber/recipes/rubber/volumes.rb +2 -2
- data/lib/rubber/tag.rb +3 -8
- data/lib/rubber/util.rb +43 -22
- data/lib/rubber/version.rb +4 -0
- data/rubber.gemspec +44 -0
- data/{generators/vulcanize/templates → templates}/apache/config/rubber/deploy-apache.rb +2 -2
- data/{generators/vulcanize/templates → templates}/apache/config/rubber/role/apache/deflate.conf +0 -0
- data/{generators/vulcanize/templates → templates}/apache/config/rubber/role/apache/expires.conf +0 -0
- data/{generators/vulcanize/templates → templates}/apache/config/rubber/role/apache/headers.conf +0 -0
- data/{generators/vulcanize/templates → templates}/apache/config/rubber/role/apache/ports.conf +0 -0
- data/{generators/vulcanize/templates → templates}/apache/config/rubber/role/apache/setenvif.conf +0 -0
- data/{generators/vulcanize/templates → templates}/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +51 -23
- data/{lib/generators/vulcanize/templates → templates}/apache/config/rubber/role/web_tools/tools-apache.auth +1 -1
- data/templates/apache/config/rubber/role/web_tools/tools-index.html +38 -0
- data/{generators/vulcanize/templates → templates}/apache/config/rubber/rubber-apache.yml +0 -0
- data/{generators/vulcanize/templates → templates}/apache/templates.yml +0 -0
- data/{lib/generators/vulcanize/templates → templates}/base/Capfile +6 -0
- data/{lib/generators/vulcanize/templates → templates}/base/config/deploy.rb +13 -3
- data/templates/base/config/rubber/common/crontab +21 -0
- data/{generators/vulcanize/templates → templates}/base/config/rubber/common/rsyslog.conf +0 -0
- data/{generators/vulcanize/templates → templates}/base/config/rubber/common/rubber.profile +4 -4
- data/{lib/generators/vulcanize/templates → templates}/base/config/rubber/deploy-setup.rb +1 -1
- data/{lib/generators/vulcanize/templates → templates}/base/config/rubber/deploy-util.rb +17 -23
- data/{lib/generators/vulcanize/templates → templates}/base/config/rubber/rubber-dns.yml +7 -0
- data/{lib/generators/vulcanize/templates → templates}/base/config/rubber/rubber-rvm.yml +6 -6
- data/{lib/generators/vulcanize/templates → templates}/base/config/rubber/rubber.yml +54 -20
- data/templates/base/script/rubber +8 -0
- data/templates/base/templates.rb +7 -0
- data/templates/base/templates.yml +1 -0
- data/{lib/generators/vulcanize/templates → templates}/cassandra/config/rubber/deploy-cassandra.rb +1 -1
- data/{generators/vulcanize/templates → templates}/cassandra/config/rubber/role/cassandra/cassandra.in.sh +0 -0
- data/{generators/vulcanize/templates → templates}/cassandra/config/rubber/role/cassandra/cassandra.yaml +0 -0
- data/{generators/vulcanize/templates → templates}/cassandra/config/rubber/role/cassandra/log4j-server.properties +0 -0
- data/{generators/vulcanize/templates → templates}/cassandra/config/rubber/rubber-cassandra.yml +0 -0
- data/{generators/vulcanize/templates → templates}/cassandra/templates.yml +0 -0
- data/templates/collectd/config/rubber/deploy-collectd.rb +48 -0
- data/templates/collectd/config/rubber/role/collectd/collectd.conf +69 -0
- data/templates/collectd/config/rubber/role/collectd/filters.conf +35 -0
- data/templates/collectd/config/rubber/role/collectd/thresholds.conf +76 -0
- data/templates/collectd/config/rubber/role/collectd/types.db +5 -0
- data/templates/collectd/config/rubber/role/passenger/collectd-passenger.conf +7 -0
- data/templates/collectd/config/rubber/role/passenger/collectd-passenger.rb.conf +77 -0
- data/{lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-sudoers.conf → templates/collectd/config/rubber/role/passenger/passenger-status-sudoers.conf} +1 -1
- data/templates/collectd/config/rubber/role/postgresql/collectd-postgresql.conf +22 -0
- data/templates/collectd/config/rubber/role/postgresql_slave/collectd-postgresql-threshold.conf +23 -0
- data/templates/collectd/config/rubber/rubber-collectd.yml +8 -0
- data/templates/collectd/script/collectd/collectd-runner.rb +107 -0
- data/templates/collectd/script/collectd/role/examples/example_db_query.rb +19 -0
- data/templates/collectd/script/collectd/role/examples/example_simple.rb +1 -0
- data/templates/collectd/script/collectd/role/postgresql_slave/replication_status.rb +31 -0
- data/templates/collectd/script/collectd/role/redis/redis_info.rb +28 -0
- data/templates/collectd/script/collectd/role/resque_worker/global_worker_stats.rb +12 -0
- data/templates/collectd/script/collectd/role/resque_worker/host_worker_stats.rb +70 -0
- data/templates/collectd/script/collectd/role/resque_worker/resque_jobs_processed.rb +8 -0
- data/templates/collectd/templates.yml +2 -0
- data/{generators/vulcanize/templates → templates}/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf +0 -0
- data/{generators/vulcanize/templates → templates}/complete_mongrel_mysql/config/rubber/role/nginx/nginx-mongrel.conf +5 -5
- data/{lib/generators/vulcanize/templates → templates}/complete_mongrel_mysql/config/rubber/rubber-complete.yml +1 -1
- data/{lib/generators/vulcanize/templates → templates}/complete_mongrel_mysql/templates.yml +2 -2
- data/{generators/vulcanize/templates → templates}/complete_passenger/config/rubber/role/haproxy/haproxy-passenger.conf +0 -0
- data/{lib/generators/vulcanize/templates → templates}/complete_passenger/config/rubber/rubber-complete.yml +1 -1
- data/{generators/vulcanize/templates → templates}/complete_passenger/templates.rb +0 -0
- data/{generators/vulcanize/templates → templates}/complete_passenger/templates.yml +4 -2
- data/{generators/vulcanize/templates → templates}/complete_passenger_mysql/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/complete_passenger_nginx/config/rubber/role/haproxy/haproxy-passenger.conf +0 -0
- data/{generators/vulcanize/templates → templates}/complete_passenger_nginx/config/rubber/rubber-complete.yml +0 -0
- data/{generators/vulcanize/templates → templates}/complete_passenger_nginx/templates.rb +0 -0
- data/{generators/vulcanize/templates → templates}/complete_passenger_nginx/templates.yml +2 -2
- data/{generators/vulcanize/templates → templates}/complete_passenger_nginx_mysql/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/complete_passenger_nginx_postgresql/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/complete_passenger_postgresql/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/cruise/config/rubber/deploy-cruise.rb +0 -0
- data/{generators/vulcanize/templates → templates}/cruise/config/rubber/role/cruise/cruise +0 -0
- data/{generators/vulcanize/templates → templates}/cruise/config/rubber/role/cruise/my.cnf +0 -0
- data/{generators/vulcanize/templates → templates}/cruise/config/rubber/role/cruise/production.rb +0 -0
- data/{generators/vulcanize/templates → templates}/cruise/config/rubber/role/cruise/site_config.rb +1 -1
- data/{generators/vulcanize/templates → templates}/cruise/config/rubber/role/web_tools/cruise-nginx.conf +0 -0
- data/{generators/vulcanize/templates → templates}/cruise/config/rubber/rubber-cruise.yml +6 -0
- data/{generators/vulcanize/templates → templates}/cruise/templates.yml +0 -0
- data/templates/elasticsearch/config/rubber/deploy-elasticsearch.rb +47 -0
- data/templates/elasticsearch/config/rubber/role/elasticsearch/elasticsearch-upstart.conf +23 -0
- data/templates/elasticsearch/config/rubber/role/elasticsearch/elasticsearch.yml +348 -0
- data/templates/elasticsearch/config/rubber/role/elasticsearch/logging.yml +48 -0
- data/templates/elasticsearch/config/rubber/rubber-elasticsearch.yml +12 -0
- data/templates/elasticsearch/templates.yml +2 -0
- data/templates/graphite/config/rubber/deploy-graphite.rb +255 -0
- data/templates/graphite/config/rubber/role/collectd/graphite-collectd.conf +19 -0
- data/templates/graphite/config/rubber/role/graphite_server/carbon.conf +232 -0
- data/templates/graphite/config/rubber/role/graphite_server/graphite-collectd-ping.conf +11 -0
- data/templates/graphite/config/rubber/role/graphite_server/graphite_server-upstart.conf +16 -0
- data/templates/graphite/config/rubber/role/graphite_server/storage-schemas.conf +19 -0
- data/templates/graphite/config/rubber/role/graphite_web/crontab +8 -0
- data/templates/graphite/config/rubber/role/graphite_web/dashboard.conf +60 -0
- data/templates/graphite/config/rubber/role/graphite_web/graphite-vhost.conf +62 -0
- data/templates/graphite/config/rubber/role/graphite_web/graphite.wsgi +10 -0
- data/templates/graphite/config/rubber/role/graphite_web/local_settings.py +98 -0
- data/templates/graphite/config/rubber/rubber-graphite.yml +20 -0
- data/templates/graphite/templates.yml +1 -0
- data/templates/graylog/config/initializers/graylog.rb +53 -0
- data/templates/graylog/config/rubber/deploy-graylog.rb +118 -0
- data/templates/graylog/config/rubber/role/common/graylog-rsyslog.conf +32 -0
- data/templates/graylog/config/rubber/role/graylog_server/graylog2.conf +67 -0
- data/templates/graylog/config/rubber/role/graylog_server/graylog_server-upstart.conf +22 -0
- data/templates/graylog/config/rubber/role/graylog_web/crontab +9 -0
- data/templates/graylog/config/rubber/role/graylog_web/email.yml +16 -0
- data/templates/graylog/config/rubber/role/graylog_web/general.yml +27 -0
- data/templates/graylog/config/rubber/role/graylog_web/graylog_web-upstart.conf +21 -0
- data/templates/graylog/config/rubber/role/graylog_web/mongoid.yml +28 -0
- data/templates/graylog/config/rubber/rubber-graylog.yml +42 -0
- data/templates/graylog/templates.rb +5 -0
- data/templates/graylog/templates.yml +5 -0
- data/{lib/generators/vulcanize/templates → templates}/haproxy/config/rubber/deploy-haproxy.rb +2 -2
- data/{generators/vulcanize/templates → templates}/haproxy/config/rubber/role/haproxy/haproxy-base.conf +0 -0
- data/{generators/vulcanize/templates → templates}/haproxy/config/rubber/role/haproxy/haproxy-default.conf +0 -0
- data/{generators/vulcanize/templates → templates}/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +0 -0
- data/{generators/vulcanize/templates → templates}/haproxy/config/rubber/role/haproxy/syslogd-default.conf +0 -0
- data/{generators/vulcanize/templates → templates}/haproxy/config/rubber/role/web_tools/haproxy-nginx.conf +0 -0
- data/templates/haproxy/config/rubber/role/web_tools/rubber-web-tools-haproxy.html +18 -0
- data/{generators/vulcanize/templates → templates}/haproxy/config/rubber/rubber-haproxy.yml +0 -0
- data/{generators/vulcanize/templates → templates}/haproxy/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/jetty/config/rubber/deploy-jetty.rb +0 -0
- data/{generators/vulcanize/templates → templates}/jetty/config/rubber/role/jetty/jetty.sh +0 -0
- data/{generators/vulcanize/templates → templates}/jetty/config/rubber/role/jetty/jetty.xml +0 -0
- data/{generators/vulcanize/templates → templates}/jetty/config/rubber/rubber-jetty.yml +0 -0
- data/{generators/vulcanize/templates → templates}/jetty/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/memcached/config/memcached.yml +0 -0
- data/{generators/vulcanize/templates → templates}/memcached/config/rubber/common/memcached.yml +2 -2
- data/{generators/vulcanize/templates → templates}/memcached/config/rubber/role/memcached/memcached.conf +0 -0
- data/{generators/vulcanize/templates → templates}/memcached/config/rubber/rubber-memcached.yml +0 -0
- data/{generators/vulcanize/templates → templates}/memcached/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/minimal_mysql/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/minimal_nodb/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/minimal_passenger_nginx/config/rubber/rubber-complete.yml +0 -0
- data/{generators/vulcanize/templates → templates}/minimal_passenger_nginx/templates.yml +0 -0
- data/{lib/generators/vulcanize/templates → templates}/mongodb/config/rubber/deploy-mongodb.rb +17 -14
- data/templates/mongodb/config/rubber/role/mongodb/mongodb-defaults.conf +5 -0
- data/{lib/generators/vulcanize/templates → templates}/mongodb/config/rubber/role/mongodb/mongodb.conf +4 -1
- data/{generators/vulcanize/templates → templates}/mongodb/config/rubber/rubber-mongodb.yml +0 -0
- data/templates/mongodb/templates.yml +1 -0
- data/{generators/vulcanize/templates → templates}/mongrel/config/rubber/deploy-mongrel.rb +1 -1
- data/{generators/vulcanize/templates → templates}/mongrel/config/rubber/role/mongrel/mongrel_cluster.yml +3 -3
- data/{lib/generators/vulcanize/templates → templates}/mongrel/config/rubber/rubber-mongrel.yml +1 -1
- data/{generators/vulcanize/templates → templates}/mongrel/templates.yml +0 -0
- data/{lib/generators/vulcanize/templates → templates}/monit/config/rubber/deploy-monit.rb +4 -4
- data/{lib/generators/vulcanize/templates/apache → templates/monit}/config/rubber/role/apache/monit-apache.conf +1 -1
- data/{generators/vulcanize/templates/cassandra → templates/monit}/config/rubber/role/cassandra/monit-cassandra.conf +1 -1
- data/templates/monit/config/rubber/role/elasticsearch/monit-elasticsearch.conf +8 -0
- data/templates/monit/config/rubber/role/graphite_server/monit-graphite_server.conf +8 -0
- data/templates/monit/config/rubber/role/graylog_server/monit-graylog_server.conf +8 -0
- data/templates/monit/config/rubber/role/graylog_web/monit-graylog_web.conf +8 -0
- data/{generators/vulcanize/templates/haproxy → templates/monit}/config/rubber/role/haproxy/monit-haproxy.conf +1 -1
- data/{generators/vulcanize/templates/jetty → templates/monit}/config/rubber/role/jetty/monit-jetty.conf +1 -1
- data/{lib/generators/vulcanize/templates/mongodb/config/rubber/role/mongodb/monit-mongodb.cnf → templates/monit/config/rubber/role/mongodb/monit-mongodb.conf} +2 -2
- data/{generators/vulcanize/templates/mongrel → templates/monit}/config/rubber/role/mongrel/monit-mongrel.conf +4 -4
- data/{generators/vulcanize/templates/monit/config/rubber/common → templates/monit/config/rubber/role/monit}/monit-default.conf +0 -0
- data/{generators/vulcanize/templates/base/config/rubber/common → templates/monit/config/rubber/role/monit}/monit-postfix.conf +0 -0
- data/{generators/vulcanize/templates/monit/config/rubber/common → templates/monit/config/rubber/role/monit}/monit.conf +0 -0
- data/{generators/vulcanize/templates/munin/config/rubber/common → templates/monit/config/rubber/role/munin}/monit-munin.conf +0 -0
- data/{lib/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf → templates/monit/config/rubber/role/mysql/monit-mysql.conf} +1 -1
- data/{lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf → templates/monit/config/rubber/role/mysql_proxy/monit-mysql_proxy.conf} +1 -1
- data/{generators/vulcanize/templates/nginx → templates/monit}/config/rubber/role/nginx/monit-nginx.conf +1 -1
- data/{generators/vulcanize/templates/passenger_nginx → templates/monit}/config/rubber/role/passenger_nginx/monit-nginx.conf +1 -1
- data/{lib/generators/vulcanize/templates/postgresql/config/rubber/role/db → templates/monit/config/rubber/role/postgresql}/monit-postgresql.conf +1 -1
- data/templates/monit/config/rubber/role/redis/monit-redis.conf +8 -0
- data/templates/monit/config/rubber/role/resque_web/monit-resque_web.conf +10 -0
- data/templates/monit/config/rubber/role/resque_worker/monit-resque_pool.conf +8 -0
- data/{generators/vulcanize/templates/sphinx → templates/monit}/config/rubber/role/sphinx/monit-sphinx.conf +4 -4
- data/{generators/vulcanize/templates → templates}/monit/config/rubber/role/web_tools/monit-admin-nginx.conf +0 -0
- data/templates/monit/config/rubber/role/web_tools/rubber-web-tools-monit.html +19 -0
- data/templates/monit/config/rubber/rubber-monit.yml +11 -0
- data/{generators/vulcanize/templates → templates}/monit/templates.yml +1 -0
- data/templates/munin/config/rubber/deploy-munin.rb +81 -0
- data/{generators/vulcanize/templates/memcached → templates/munin}/config/rubber/role/memcached/memcached_munin_plugin +0 -0
- data/{generators/vulcanize/templates/munin/config/rubber/common → templates/munin/config/rubber/role/munin}/munin-node.conf +0 -0
- data/{generators/vulcanize/templates/munin/config/rubber/common → templates/munin/config/rubber/role/munin}/munin-plugins.conf +0 -0
- data/{generators/vulcanize/templates/mysql → templates/munin}/config/rubber/role/mysql_slave/mysql_slave_munin_plugin +0 -0
- data/{generators/vulcanize/templates/passenger → templates/munin}/config/rubber/role/passenger/munin-passenger-memory.conf +0 -0
- data/{generators/vulcanize/templates/passenger → templates/munin}/config/rubber/role/passenger/munin-passenger-sudoers.conf +0 -0
- data/{generators/vulcanize/templates/passenger → templates/munin}/config/rubber/role/passenger/munin-passenger.conf +0 -0
- data/{generators/vulcanize/templates/passenger_nginx → templates/munin}/config/rubber/role/passenger_nginx/munin-passenger-memory.conf +0 -0
- data/{generators/vulcanize/templates/passenger_nginx → templates/munin}/config/rubber/role/passenger_nginx/munin-passenger-sudoers.conf +0 -0
- data/{generators/vulcanize/templates/passenger_nginx → templates/munin}/config/rubber/role/passenger_nginx/munin-passenger.conf +0 -0
- data/{generators/vulcanize/templates/postgresql/config/rubber/role/db → templates/munin/config/rubber/role/postgresql}/munin-postgresql.conf +0 -0
- data/{generators/vulcanize/templates → templates}/munin/config/rubber/role/web_tools/munin-nginx.conf +0 -0
- data/{lib/generators/vulcanize/templates → templates}/munin/config/rubber/role/web_tools/munin-plugins.conf +3 -3
- data/{generators/vulcanize/templates → templates}/munin/config/rubber/role/web_tools/munin.conf +0 -0
- data/templates/munin/config/rubber/role/web_tools/rubber-web-tools-munin.html +16 -0
- data/templates/munin/config/rubber/rubber-munin.yml +12 -0
- data/{lib/generators/vulcanize/templates → templates}/munin/script/munin/example_mysql_query.rb +1 -1
- data/{lib/generators/vulcanize/templates → templates}/munin/script/munin/example_simple.rb +1 -1
- data/{generators/vulcanize/templates → templates}/munin/templates.yml +1 -0
- data/{generators/vulcanize/templates → templates}/mysql/config/rubber/common/database.yml +3 -3
- data/{lib/generators/vulcanize/templates → templates}/mysql/config/rubber/deploy-mysql.rb +1 -15
- data/{generators/vulcanize/templates → templates}/mysql/config/rubber/role/db/apparmor-mysql.conf +0 -0
- data/{lib/generators/vulcanize/templates → templates}/mysql/config/rubber/role/db/crontab +3 -1
- data/{generators/vulcanize/templates → templates}/mysql/config/rubber/role/db/my.cnf +0 -0
- data/{generators/vulcanize/templates → templates}/mysql/config/rubber/rubber-mysql.yml +9 -10
- data/{generators/vulcanize/templates → templates}/mysql/templates.yml +0 -0
- data/{lib/generators/vulcanize/templates → templates}/mysql_cluster/config/rubber/common/mysql_cluster_migrations.rb +1 -1
- data/{generators/vulcanize/templates → templates}/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +3 -3
- data/{generators/vulcanize/templates → templates}/mysql_cluster/config/rubber/role/mysql_data/my.cnf +0 -0
- data/{generators/vulcanize/templates → templates}/mysql_cluster/config/rubber/role/mysql_mgm/ndb_mgmd.cnf +0 -0
- data/{generators/vulcanize/templates → templates}/mysql_cluster/config/rubber/role/mysql_sql/my.cnf +0 -0
- data/{lib/generators/vulcanize/templates → templates}/mysql_cluster/config/rubber/rubber-mysql_cluster.yml +6 -3
- data/{generators/vulcanize/templates → templates}/mysql_cluster/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +0 -0
- data/{lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common → templates/mysql_proxy/config/rubber/mysql_proxy}/database.yml +3 -3
- data/{generators/vulcanize/templates/mysql_proxy/config/rubber/common → templates/mysql_proxy/config/rubber/mysql_proxy}/mysql-proxy +0 -0
- data/{generators/vulcanize/templates/mysql_proxy/config/rubber/common → templates/mysql_proxy/config/rubber/mysql_proxy}/mysql-proxy.conf +0 -0
- data/{generators/vulcanize/templates/mysql_proxy/config/rubber/common → templates/mysql_proxy/config/rubber/mysql_proxy}/mysql-proxy.lua +0 -0
- data/{generators/vulcanize/templates → templates}/mysql_proxy/config/rubber/rubber-mysql_proxy.yml +3 -0
- data/{generators/vulcanize/templates → templates}/mysql_proxy/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/nginx/config/rubber/deploy-nginx.rb +0 -0
- data/{generators/vulcanize/templates → templates}/nginx/config/rubber/role/nginx/crontab +1 -1
- data/{generators/vulcanize/templates → templates}/nginx/config/rubber/role/nginx/nginx.conf +0 -0
- data/{lib/generators/vulcanize/templates → templates}/nginx/config/rubber/role/web_tools/nginx-tools.conf +8 -5
- data/{generators/vulcanize/templates → templates}/nginx/config/rubber/role/web_tools/tools-index.html +7 -1
- data/{generators/vulcanize/templates → templates}/nginx/config/rubber/role/web_tools/tools-nginx.auth +1 -1
- data/{generators/vulcanize/templates → templates}/nginx/config/rubber/rubber-nginx.yml +0 -0
- data/{generators/vulcanize/templates → templates}/nginx/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/passenger/config/rubber/deploy-passenger.rb +0 -0
- data/{generators/vulcanize/templates → templates}/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf +5 -5
- data/{lib/generators/vulcanize/templates → templates}/passenger/config/rubber/role/passenger/passenger.conf +2 -2
- data/{lib/generators/vulcanize/templates → templates}/passenger/config/rubber/rubber-passenger.yml +2 -1
- data/{generators/vulcanize/templates → templates}/passenger/templates.yml +0 -0
- data/{lib/generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/deploy-passenger_nginx.rb +1 -2
- data/{lib/generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/passenger_nginx/application.conf +3 -3
- data/{generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/passenger_nginx/crontab +1 -1
- data/{generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/passenger_nginx/nginx +0 -0
- data/{lib/generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/passenger_nginx/nginx.conf +2 -2
- data/{generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/passenger_nginx/passenger_nginx.conf +2 -2
- data/{generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/web_tools/nginx-tools.conf +8 -5
- data/{lib/generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/web_tools/tools-index.html +7 -1
- data/{generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/role/web_tools/tools-nginx.auth +1 -1
- data/{lib/generators/vulcanize/templates → templates}/passenger_nginx/config/rubber/rubber-passenger_nginx.yml +1 -1
- data/{generators/vulcanize/templates → templates}/passenger_nginx/templates.yml +0 -0
- data/{lib/generators/vulcanize/templates → templates}/postgresql/config/rubber/common/database.yml +2 -2
- data/{lib/generators/vulcanize/templates → templates}/postgresql/config/rubber/deploy-postgresql.rb +27 -47
- data/{generators/vulcanize/templates → templates}/postgresql/config/rubber/role/db/crontab +3 -1
- data/templates/postgresql/config/rubber/role/db/pg_hba.conf +98 -0
- data/{generators/vulcanize/templates → templates}/postgresql/config/rubber/role/db/postgresql-sysctl.conf +0 -0
- data/{lib/generators/vulcanize/templates → templates}/postgresql/config/rubber/role/db/postgresql.conf +50 -20
- data/{lib/generators/vulcanize/templates → templates}/postgresql/config/rubber/role/postgresql_slave/recovery.conf +34 -19
- data/{generators/vulcanize/templates → templates}/postgresql/config/rubber/rubber-postgresql.yml +13 -13
- data/{generators/vulcanize/templates → templates}/postgresql/templates.yml +0 -0
- data/templates/redis/config/rubber/deploy-redis.rb +79 -0
- data/{lib/generators/vulcanize/templates → templates}/redis/config/rubber/role/redis/crontab +3 -1
- data/{generators/vulcanize/templates → templates}/redis/config/rubber/role/redis/redis-sysctl.conf +0 -0
- data/templates/redis/config/rubber/role/redis/redis-upstart.conf +23 -0
- data/{generators/vulcanize/templates → templates}/redis/config/rubber/role/redis/redis.conf +62 -9
- data/templates/redis/config/rubber/rubber-redis.yml +17 -0
- data/{generators/vulcanize/templates → templates}/redis/templates.yml +0 -0
- data/{generators/vulcanize/templates → templates}/resque/config/initializers/resque.rb +0 -0
- data/templates/resque/config/resque-pool.yml +4 -0
- data/templates/resque/config/rubber/common/resque.yml +5 -0
- data/templates/resque/config/rubber/deploy-resque.rb +190 -0
- data/templates/resque/config/rubber/role/resque_web/resque-web-upstart.conf +20 -0
- data/templates/resque/config/rubber/role/resque_worker/resque-pool-upstart.conf +50 -0
- data/templates/resque/config/rubber/role/resque_worker/resque-pool.yml +6 -0
- data/{generators/vulcanize/templates → templates}/resque/config/rubber/rubber-resque.yml +11 -1
- data/templates/resque/lib/tasks/resque.rake +18 -0
- data/templates/resque/templates.rb +2 -0
- data/{generators/vulcanize/templates → templates}/resque/templates.yml +0 -0
- data/{lib/generators/vulcanize/templates → templates}/sphinx/config/rubber/common/sphinx.yml +9 -9
- data/{generators/vulcanize/templates → templates}/sphinx/config/rubber/deploy-sphinx.rb +1 -1
- data/templates/sphinx/config/rubber/role/sphinx/crontab +11 -0
- data/{generators/vulcanize/templates → templates}/sphinx/config/rubber/rubber-sphinx.yml +0 -0
- data/{generators/vulcanize/templates → templates}/sphinx/templates.yml +0 -0
- data/templates/unicorn/config/rubber/deploy-unicorn.rb +35 -0
- data/templates/unicorn/config/rubber/role/nginx/unicorn_nginx.conf +56 -0
- data/templates/unicorn/config/rubber/role/unicorn/unicorn.rb +79 -0
- data/templates/unicorn/config/rubber/rubber-unicorn.yml +5 -0
- data/templates/unicorn/templates.yml +3 -0
- data/test/cloud/aws_table_store_test.rb +172 -0
- data/test/cloud/aws_test.rb +33 -0
- data/test/cloud/fog_storage_test.rb +183 -0
- data/test/cloud/fog_test.rb +34 -0
- data/test/command_test.rb +85 -0
- data/test/dns/fog_test.rb +131 -0
- data/test/environment_test.rb +135 -0
- data/test/fixtures/basic/common/bar.conf +4 -0
- data/test/fixtures/basic/common/foo.conf +4 -0
- data/test/fixtures/basic/host/host1/foo.conf +4 -0
- data/test/fixtures/basic/host/host2/foo.conf +4 -0
- data/test/fixtures/basic/role/role1/foo.conf +4 -0
- data/test/fixtures/basic/role/role2/foo.conf +4 -0
- data/test/fixtures/basic/rubber-extra.yml +1 -0
- data/test/fixtures/basic/rubber.yml +26 -0
- data/test/fixtures/expansion/rubber.yml +34 -0
- data/test/fixtures/generator_order/common/a_first.conf +5 -0
- data/test/fixtures/generator_order/common/z_last.conf +5 -0
- data/test/fixtures/generator_order/host/host1/a_first.conf +5 -0
- data/test/fixtures/generator_order/host/host1/z_last.conf +5 -0
- data/test/fixtures/generator_order/role/role1/a_first.conf +5 -0
- data/test/fixtures/generator_order/role/role1/z_last.conf +5 -0
- data/test/fixtures/generator_order/role/role2/a_first.conf +5 -0
- data/test/fixtures/generator_order/role/role2/z_last.conf +5 -0
- data/test/fixtures/instance_expansion/instance-test.yml +20 -0
- data/test/fixtures/instance_expansion/rubber.yml +1 -0
- data/test/fixtures/nested/rubber.yml +9 -0
- data/test/fixtures/secret/rubber.yml +2 -0
- data/test/fixtures/secret/secret.yml +2 -0
- data/test/generator_test.rb +365 -0
- data/test/instance_test.rb +293 -0
- data/test/test-rails-template.rb +35 -0
- data/test/test_helper.rb +19 -0
- data/test/util_test.rb +79 -0
- metadata +490 -508
- data/VERSION +0 -1
- data/bin/vulcanize +0 -25
- data/generators/vulcanize/USAGE +0 -6
- data/generators/vulcanize/templates/apache/config/rubber/role/apache/monit-apache.conf +0 -7
- data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache.auth +0 -7
- data/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +0 -34
- data/generators/vulcanize/templates/base/Capfile +0 -14
- data/generators/vulcanize/templates/base/Rakefile +0 -27
- data/generators/vulcanize/templates/base/config/deploy.rb +0 -56
- data/generators/vulcanize/templates/base/config/rubber/common/crontab +0 -21
- data/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +0 -96
- data/generators/vulcanize/templates/base/config/rubber/deploy-util.rb +0 -97
- data/generators/vulcanize/templates/base/config/rubber/rubber-dns.yml +0 -78
- data/generators/vulcanize/templates/base/config/rubber/rubber-rvm.yml +0 -39
- data/generators/vulcanize/templates/base/config/rubber/rubber.yml +0 -263
- data/generators/vulcanize/templates/base/lib/tasks/rubber.rake +0 -15
- data/generators/vulcanize/templates/base/script/cron-rake +0 -18
- data/generators/vulcanize/templates/base/script/cron-runner +0 -18
- data/generators/vulcanize/templates/base/script/cron-sh +0 -67
- data/generators/vulcanize/templates/base/templates.rb +0 -11
- data/generators/vulcanize/templates/base/templates.yml +0 -6
- data/generators/vulcanize/templates/cassandra/config/rubber/deploy-cassandra.rb +0 -88
- data/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/rubber-complete.yml +0 -41
- data/generators/vulcanize/templates/complete_mongrel_mysql/templates.yml +0 -6
- data/generators/vulcanize/templates/complete_passenger/config/rubber/rubber-complete.yml +0 -40
- data/generators/vulcanize/templates/haproxy/config/rubber/deploy-haproxy.rb +0 -45
- data/generators/vulcanize/templates/mongodb/config/rubber/deploy-mongodb.rb +0 -53
- data/generators/vulcanize/templates/mongodb/config/rubber/role/mongodb/mongodb.conf +0 -89
- data/generators/vulcanize/templates/mongodb/config/rubber/role/mongodb/monit-mongodb.cnf +0 -10
- data/generators/vulcanize/templates/mongodb/templates.yml +0 -3
- data/generators/vulcanize/templates/mongrel/config/rubber/rubber-mongrel.yml +0 -9
- data/generators/vulcanize/templates/monit/config/rubber/deploy-monit.rb +0 -33
- data/generators/vulcanize/templates/monit/config/rubber/rubber-monit.yml +0 -6
- data/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +0 -46
- data/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-plugins.conf +0 -31
- data/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +0 -8
- data/generators/vulcanize/templates/munin/script/munin/example_mysql_query.rb +0 -55
- data/generators/vulcanize/templates/munin/script/munin/example_simple.rb +0 -24
- data/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +0 -169
- data/generators/vulcanize/templates/mysql/config/rubber/role/db/crontab +0 -14
- data/generators/vulcanize/templates/mysql/config/rubber/role/db/monit-mysql.cnf +0 -10
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/common/mysql_cluster_migrations.rb +0 -13
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +0 -10
- data/generators/vulcanize/templates/mysql_cluster/config/rubber/rubber-mysql_cluster.yml +0 -32
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/database.yml +0 -16
- data/generators/vulcanize/templates/mysql_proxy/config/rubber/common/monit-mysql_proxy.cnf +0 -10
- data/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/nginx-tools.conf +0 -55
- data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +0 -41
- data/generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml +0 -15
- data/generators/vulcanize/templates/passenger_nginx/config/rubber/deploy-passenger_nginx.rb +0 -86
- data/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/application.conf +0 -30
- data/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/nginx.conf +0 -65
- data/generators/vulcanize/templates/passenger_nginx/config/rubber/role/web_tools/tools-index.html +0 -34
- data/generators/vulcanize/templates/passenger_nginx/config/rubber/rubber-passenger_nginx.yml +0 -20
- data/generators/vulcanize/templates/postgresql/config/rubber/common/database.yml +0 -12
- data/generators/vulcanize/templates/postgresql/config/rubber/deploy-postgresql.rb +0 -160
- data/generators/vulcanize/templates/postgresql/config/rubber/role/db/monit-postgresql.conf +0 -10
- data/generators/vulcanize/templates/postgresql/config/rubber/role/db/pg_hba.conf +0 -90
- data/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql.conf +0 -544
- data/generators/vulcanize/templates/postgresql/config/rubber/role/postgresql_slave/recovery.conf +0 -120
- data/generators/vulcanize/templates/redis/config/rubber/deploy-redis.rb +0 -88
- data/generators/vulcanize/templates/redis/config/rubber/role/redis/crontab +0 -15
- data/generators/vulcanize/templates/redis/config/rubber/role/redis/monit-redis.conf +0 -8
- data/generators/vulcanize/templates/redis/config/rubber/rubber-redis.yml +0 -13
- data/generators/vulcanize/templates/resque/config/rubber/common/resque.yml +0 -5
- data/generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb +0 -71
- data/generators/vulcanize/templates/resque/config/rubber/role/resque_web/monit-resque_web.conf +0 -14
- data/generators/vulcanize/templates/resque/config/rubber/role/resque_worker/monit-resque_worker.conf +0 -19
- data/generators/vulcanize/templates/resque/script/resque_worker_management.rb +0 -144
- data/generators/vulcanize/templates/resque/templates.rb +0 -1
- data/generators/vulcanize/templates/sphinx/config/rubber/common/sphinx.yml +0 -46
- data/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/crontab +0 -11
- data/generators/vulcanize/vulcanize_generator.rb +0 -184
- data/lib/generators/vulcanize/USAGE +0 -6
- data/lib/generators/vulcanize/templates/apache/config/rubber/deploy-apache.rb +0 -51
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/deflate.conf +0 -10
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/expires.conf +0 -9
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/headers.conf +0 -6
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/ports.conf +0 -8
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/apache/setenvif.conf +0 -52
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +0 -79
- data/lib/generators/vulcanize/templates/apache/config/rubber/role/web_tools/tools-index.html +0 -34
- data/lib/generators/vulcanize/templates/apache/config/rubber/rubber-apache.yml +0 -6
- data/lib/generators/vulcanize/templates/apache/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/base/Rakefile +0 -27
- data/lib/generators/vulcanize/templates/base/config/rubber/common/crontab +0 -21
- data/lib/generators/vulcanize/templates/base/config/rubber/common/monit-postfix.conf +0 -8
- data/lib/generators/vulcanize/templates/base/config/rubber/common/rsyslog.conf +0 -71
- data/lib/generators/vulcanize/templates/base/config/rubber/common/rubber.profile +0 -13
- data/lib/generators/vulcanize/templates/base/lib/tasks/rubber.rake +0 -15
- data/lib/generators/vulcanize/templates/base/script/cron-rake +0 -18
- data/lib/generators/vulcanize/templates/base/script/cron-runner +0 -18
- data/lib/generators/vulcanize/templates/base/script/cron-sh +0 -67
- data/lib/generators/vulcanize/templates/base/templates.rb +0 -11
- data/lib/generators/vulcanize/templates/base/templates.yml +0 -6
- data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.in.sh +0 -60
- data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/cassandra.yaml +0 -210
- data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/log4j-server.properties +0 -45
- data/lib/generators/vulcanize/templates/cassandra/config/rubber/role/cassandra/monit-cassandra.conf +0 -8
- data/lib/generators/vulcanize/templates/cassandra/config/rubber/rubber-cassandra.yml +0 -18
- data/lib/generators/vulcanize/templates/cassandra/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/haproxy/haproxy-mongrel.conf +0 -23
- data/lib/generators/vulcanize/templates/complete_mongrel_mysql/config/rubber/role/nginx/nginx-mongrel.conf +0 -113
- data/lib/generators/vulcanize/templates/complete_passenger/config/rubber/role/haproxy/haproxy-passenger.conf +0 -21
- data/lib/generators/vulcanize/templates/complete_passenger/templates.rb +0 -9
- data/lib/generators/vulcanize/templates/complete_passenger/templates.yml +0 -9
- data/lib/generators/vulcanize/templates/complete_passenger_mysql/templates.yml +0 -4
- data/lib/generators/vulcanize/templates/complete_passenger_nginx/config/rubber/role/haproxy/haproxy-passenger.conf +0 -21
- data/lib/generators/vulcanize/templates/complete_passenger_nginx/config/rubber/rubber-complete.yml +0 -38
- data/lib/generators/vulcanize/templates/complete_passenger_nginx/templates.rb +0 -8
- data/lib/generators/vulcanize/templates/complete_passenger_nginx/templates.yml +0 -8
- data/lib/generators/vulcanize/templates/complete_passenger_nginx_mysql/templates.yml +0 -4
- data/lib/generators/vulcanize/templates/complete_passenger_nginx_postgresql/templates.yml +0 -4
- data/lib/generators/vulcanize/templates/complete_passenger_postgresql/templates.yml +0 -4
- data/lib/generators/vulcanize/templates/cruise/config/rubber/deploy-cruise.rb +0 -72
- data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/cruise +0 -40
- data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/my.cnf +0 -165
- data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/production.rb +0 -8
- data/lib/generators/vulcanize/templates/cruise/config/rubber/role/cruise/site_config.rb +0 -76
- data/lib/generators/vulcanize/templates/cruise/config/rubber/role/web_tools/cruise-nginx.conf +0 -11
- data/lib/generators/vulcanize/templates/cruise/config/rubber/rubber-cruise.yml +0 -18
- data/lib/generators/vulcanize/templates/cruise/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-base.conf +0 -26
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/haproxy-default.conf +0 -8
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/monit-haproxy.conf +0 -8
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslog-haproxy.conf +0 -11
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/haproxy/syslogd-default.conf +0 -21
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/role/web_tools/haproxy-nginx.conf +0 -10
- data/lib/generators/vulcanize/templates/haproxy/config/rubber/rubber-haproxy.yml +0 -7
- data/lib/generators/vulcanize/templates/haproxy/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/jetty/config/rubber/deploy-jetty.rb +0 -59
- data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.sh +0 -589
- data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/jetty.xml +0 -199
- data/lib/generators/vulcanize/templates/jetty/config/rubber/role/jetty/monit-jetty.conf +0 -8
- data/lib/generators/vulcanize/templates/jetty/config/rubber/rubber-jetty.yml +0 -10
- data/lib/generators/vulcanize/templates/jetty/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/memcached/config/memcached.yml +0 -28
- data/lib/generators/vulcanize/templates/memcached/config/rubber/common/memcached.yml +0 -14
- data/lib/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached.conf +0 -52
- data/lib/generators/vulcanize/templates/memcached/config/rubber/role/memcached/memcached_munin_plugin +0 -249
- data/lib/generators/vulcanize/templates/memcached/config/rubber/rubber-memcached.yml +0 -7
- data/lib/generators/vulcanize/templates/memcached/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/minimal_mysql/templates.yml +0 -7
- data/lib/generators/vulcanize/templates/minimal_nodb/templates.yml +0 -6
- data/lib/generators/vulcanize/templates/minimal_passenger_nginx/config/rubber/rubber-complete.yml +0 -37
- data/lib/generators/vulcanize/templates/minimal_passenger_nginx/templates.yml +0 -4
- data/lib/generators/vulcanize/templates/mongodb/config/rubber/rubber-mongodb.yml +0 -8
- data/lib/generators/vulcanize/templates/mongodb/templates.yml +0 -3
- data/lib/generators/vulcanize/templates/mongrel/config/rubber/deploy-mongrel.rb +0 -75
- data/lib/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/mongrel_cluster.yml +0 -12
- data/lib/generators/vulcanize/templates/mongrel/config/rubber/role/mongrel/monit-mongrel.conf +0 -20
- data/lib/generators/vulcanize/templates/mongrel/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/monit/config/rubber/common/monit-default.conf +0 -15
- data/lib/generators/vulcanize/templates/monit/config/rubber/common/monit.conf +0 -252
- data/lib/generators/vulcanize/templates/monit/config/rubber/role/web_tools/monit-admin-nginx.conf +0 -11
- data/lib/generators/vulcanize/templates/monit/config/rubber/rubber-monit.yml +0 -6
- data/lib/generators/vulcanize/templates/monit/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/munin/config/rubber/common/monit-munin.conf +0 -8
- data/lib/generators/vulcanize/templates/munin/config/rubber/common/munin-node.conf +0 -48
- data/lib/generators/vulcanize/templates/munin/config/rubber/common/munin-plugins.conf +0 -11
- data/lib/generators/vulcanize/templates/munin/config/rubber/deploy-munin.rb +0 -46
- data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin-nginx.conf +0 -8
- data/lib/generators/vulcanize/templates/munin/config/rubber/role/web_tools/munin.conf +0 -116
- data/lib/generators/vulcanize/templates/munin/config/rubber/rubber-munin.yml +0 -8
- data/lib/generators/vulcanize/templates/munin/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/mysql/config/rubber/common/database.yml +0 -12
- data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/apparmor-mysql.conf +0 -46
- data/lib/generators/vulcanize/templates/mysql/config/rubber/role/db/my.cnf +0 -163
- data/lib/generators/vulcanize/templates/mysql/config/rubber/role/mysql_slave/mysql_slave_munin_plugin +0 -51
- data/lib/generators/vulcanize/templates/mysql/config/rubber/rubber-mysql.yml +0 -47
- data/lib/generators/vulcanize/templates/mysql/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +0 -177
- data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_data/my.cnf +0 -15
- data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_mgm/ndb_mgmd.cnf +0 -39
- data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/monit-mysql_cluster_sql.cnf +0 -10
- data/lib/generators/vulcanize/templates/mysql_cluster/config/rubber/role/mysql_sql/my.cnf +0 -23
- data/lib/generators/vulcanize/templates/mysql_cluster/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy +0 -154
- data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.conf +0 -10
- data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/common/mysql-proxy.lua +0 -5
- data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/deploy-mysql_proxy.rb +0 -52
- data/lib/generators/vulcanize/templates/mysql_proxy/config/rubber/rubber-mysql_proxy.yml +0 -11
- data/lib/generators/vulcanize/templates/mysql_proxy/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/nginx/config/rubber/deploy-nginx.rb +0 -45
- data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/crontab +0 -9
- data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/monit-nginx.conf +0 -7
- data/lib/generators/vulcanize/templates/nginx/config/rubber/role/nginx/nginx.conf +0 -42
- data/lib/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-index.html +0 -30
- data/lib/generators/vulcanize/templates/nginx/config/rubber/role/web_tools/tools-nginx.auth +0 -7
- data/lib/generators/vulcanize/templates/nginx/config/rubber/rubber-nginx.yml +0 -10
- data/lib/generators/vulcanize/templates/nginx/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb +0 -51
- data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger-memory.conf +0 -34
- data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/munin-passenger.conf +0 -47
- data/lib/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf +0 -48
- data/lib/generators/vulcanize/templates/passenger/templates.yml +0 -3
- data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/crontab +0 -8
- data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/monit-nginx.conf +0 -7
- data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/munin-passenger-memory.conf +0 -34
- data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/munin-passenger-sudoers.conf +0 -8
- data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/munin-passenger.conf +0 -47
- data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/nginx +0 -101
- data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/passenger_nginx/passenger_nginx.conf +0 -30
- data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/web_tools/nginx-tools.conf +0 -55
- data/lib/generators/vulcanize/templates/passenger_nginx/config/rubber/role/web_tools/tools-nginx.auth +0 -7
- data/lib/generators/vulcanize/templates/passenger_nginx/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/crontab +0 -14
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/munin-postgresql.conf +0 -7
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/pg_hba.conf +0 -90
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/role/db/postgresql-sysctl.conf +0 -6
- data/lib/generators/vulcanize/templates/postgresql/config/rubber/rubber-postgresql.yml +0 -45
- data/lib/generators/vulcanize/templates/postgresql/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/redis/config/rubber/deploy-redis.rb +0 -88
- data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/monit-redis.conf +0 -8
- data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/redis-sysctl.conf +0 -7
- data/lib/generators/vulcanize/templates/redis/config/rubber/role/redis/redis.conf +0 -434
- data/lib/generators/vulcanize/templates/redis/config/rubber/rubber-redis.yml +0 -13
- data/lib/generators/vulcanize/templates/redis/templates.yml +0 -1
- data/lib/generators/vulcanize/templates/resque/config/initializers/resque.rb +0 -15
- data/lib/generators/vulcanize/templates/resque/config/rubber/common/resque.yml +0 -5
- data/lib/generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb +0 -71
- data/lib/generators/vulcanize/templates/resque/config/rubber/role/resque_web/monit-resque_web.conf +0 -14
- data/lib/generators/vulcanize/templates/resque/config/rubber/role/resque_worker/monit-resque_worker.conf +0 -19
- data/lib/generators/vulcanize/templates/resque/config/rubber/rubber-resque.yml +0 -18
- data/lib/generators/vulcanize/templates/resque/script/resque_worker_management.rb +0 -144
- data/lib/generators/vulcanize/templates/resque/templates.rb +0 -1
- data/lib/generators/vulcanize/templates/resque/templates.yml +0 -3
- data/lib/generators/vulcanize/templates/sphinx/config/rubber/deploy-sphinx.rb +0 -112
- data/lib/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/crontab +0 -11
- data/lib/generators/vulcanize/templates/sphinx/config/rubber/role/sphinx/monit-sphinx.conf +0 -13
- data/lib/generators/vulcanize/templates/sphinx/config/rubber/rubber-sphinx.yml +0 -6
- data/lib/generators/vulcanize/templates/sphinx/templates.yml +0 -1
- data/lib/generators/vulcanize/vulcanize_generator.rb +0 -184
- data/lib/rubber/tasks/rubber.rb +0 -281
data/lib/rubber/environment.rb
CHANGED
@@ -42,13 +42,26 @@ module Rubber
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def known_roles
|
45
|
-
|
46
|
-
|
47
|
-
roles
|
48
|
-
roles
|
49
|
-
|
45
|
+
return @known_roles if @known_roles
|
46
|
+
|
47
|
+
roles = []
|
48
|
+
# all the roles known about in config directory
|
49
|
+
roles.concat Dir["#{@config_root}/role/*"].collect {|f| File.basename(f) }
|
50
|
+
|
51
|
+
# all the roles known about in script directory
|
52
|
+
roles.concat Dir["#{Rubber.root}/script/*/role/*"].collect {|f| File.basename(f) }
|
53
|
+
|
54
|
+
# all the roles known about in yml files
|
55
|
+
Dir["#{@config_root}/rubber*.yml"].each do |yml|
|
56
|
+
rubber_yml = YAML.load(File.read(yml)) rescue {}
|
57
|
+
roles.concat(rubber_yml['roles'].keys) rescue nil
|
58
|
+
roles.concat(rubber_yml['role_dependencies'].keys) rescue nil
|
59
|
+
roles.concat(rubber_yml['role_dependencies'].values) rescue nil
|
60
|
+
end
|
61
|
+
|
62
|
+
@known_roles = roles.flatten.uniq.sort
|
50
63
|
end
|
51
|
-
|
64
|
+
|
52
65
|
def current_host
|
53
66
|
Socket::gethostname.gsub(/\..*/, '')
|
54
67
|
end
|
@@ -107,6 +120,12 @@ module Rubber
|
|
107
120
|
yield key, self[key]
|
108
121
|
end
|
109
122
|
end
|
123
|
+
|
124
|
+
# allows expansion when to_a gets called on hash proxy, e.g. when wrapping
|
125
|
+
# a var in Array() to ensure error free iteration for possible null values
|
126
|
+
def to_a
|
127
|
+
self.collect {|k, v| [k, v]}
|
128
|
+
end
|
110
129
|
|
111
130
|
def method_missing(method_id)
|
112
131
|
key = method_id.id2name
|
data/lib/rubber/generator.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'erb'
|
2
2
|
require 'find'
|
3
3
|
require 'fileutils'
|
4
|
+
require 'rubber/util'
|
4
5
|
|
5
6
|
module Rubber
|
6
7
|
module Configuration
|
@@ -159,6 +160,7 @@ module Rubber
|
|
159
160
|
# Instances of this object are used accept settings from with
|
160
161
|
# a config file for when it is transformed by Generator
|
161
162
|
class ConfigDescriptor
|
163
|
+
|
162
164
|
# The output path to write the transformed config file to
|
163
165
|
attr_accessor :path
|
164
166
|
# The command to use for reading the original config file from (e.g. "crontab -l")
|
data/lib/rubber/instance.rb
CHANGED
@@ -11,10 +11,12 @@ module Rubber
|
|
11
11
|
include Enumerable
|
12
12
|
include MonitorMixin
|
13
13
|
|
14
|
-
def initialize(
|
14
|
+
def initialize(instance_storage, opts={})
|
15
15
|
super()
|
16
|
-
|
17
|
-
@
|
16
|
+
|
17
|
+
@instance_storage = instance_storage
|
18
|
+
@opts = opts
|
19
|
+
|
18
20
|
@items = {}
|
19
21
|
@artifacts = {'volumes' => {}, 'static_ips' => {}}
|
20
22
|
|
@@ -26,29 +28,108 @@ module Rubber
|
|
26
28
|
@filter_roles, @filter_roles_negated = @filter_roles.partition {|f| f !~ /^-/ }
|
27
29
|
@filter_roles_negated = @filter_roles_negated.collect {|f| f[1..-1] }
|
28
30
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
31
|
+
load()
|
32
|
+
end
|
33
|
+
|
34
|
+
def load(instance_storage=@instance_storage)
|
35
|
+
case instance_storage
|
36
|
+
when /file:(.*)/
|
37
|
+
location = $1
|
38
|
+
File.open(location, 'r') {|f| load_from_file(f) } if File.exist?(location)
|
39
|
+
when /storage:(.*)/
|
40
|
+
location = $1
|
41
|
+
bucket = location.split("/")[0]
|
42
|
+
key = location.split("/")[1..-1].join("/")
|
43
|
+
data = Rubber.cloud.storage(bucket).fetch(key)
|
44
|
+
StringIO.open(data, 'r') {|f| load_from_file(f) }
|
45
|
+
when /table:(.*)/
|
46
|
+
location = $1
|
47
|
+
load_from_table(location)
|
48
|
+
else
|
49
|
+
raise "Invalid instance_storage: #{instance_storage}\n" +
|
50
|
+
"Must be one of file:, table:, storage:"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def load_from_file(io)
|
55
|
+
item_list = YAML.load(io.read)
|
56
|
+
if item_list
|
57
|
+
item_list.each do |i|
|
58
|
+
if i.is_a? InstanceItem
|
59
|
+
@items[i.name] = i
|
60
|
+
elsif i.is_a? Hash
|
61
|
+
@artifacts.merge!(i)
|
38
62
|
end
|
39
63
|
end
|
40
64
|
end
|
41
65
|
end
|
42
|
-
|
43
|
-
def
|
66
|
+
|
67
|
+
def load_from_table(table_key)
|
68
|
+
Rubber.logger.debug{"Reading rubber instances from cloud table #{table_key}"}
|
69
|
+
store = Rubber.cloud.table_store(table_key)
|
70
|
+
items = store.find()
|
71
|
+
items.each do |name, data|
|
72
|
+
case name
|
73
|
+
when '_artifacts_'
|
74
|
+
@artifacts = data
|
75
|
+
else
|
76
|
+
ic = InstanceItem.from_hash(data.merge({'name' => name}))
|
77
|
+
@items[ic.name] = ic
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
def save(instance_storage=@instance_storage, backup=@opts[:backup])
|
44
83
|
synchronize do
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
84
|
+
case instance_storage
|
85
|
+
when /file:(.*)/
|
86
|
+
location = $1
|
87
|
+
File.open(location, 'w') {|f| save_to_file(f) }
|
88
|
+
when /storage:(.*)/
|
89
|
+
location = $1
|
90
|
+
bucket = location.split("/")[0]
|
91
|
+
key = location.split("/")[1..-1].join("/")
|
92
|
+
data = StringIO.open {|f| save_to_file(f); f.string }
|
93
|
+
Rubber.cloud.storage(bucket).store(key, data)
|
94
|
+
when /table:(.*)/
|
95
|
+
location = $1
|
96
|
+
save_to_table(location)
|
97
|
+
else
|
98
|
+
raise "Invalid instance_storage: #{instance_storage}\n" +
|
99
|
+
"Must be one of file:, table:, storage:"
|
100
|
+
end
|
49
101
|
end
|
102
|
+
|
103
|
+
save(backup, false) if backup
|
50
104
|
end
|
51
105
|
|
106
|
+
def save_to_file(io)
|
107
|
+
data = []
|
108
|
+
data.push(*@items.values)
|
109
|
+
data.push(@artifacts)
|
110
|
+
io.write(YAML.dump(data))
|
111
|
+
end
|
112
|
+
|
113
|
+
def save_to_table(table_key)
|
114
|
+
store = Rubber.cloud.table_store(table_key)
|
115
|
+
|
116
|
+
# delete all before writing to handle removals
|
117
|
+
store.find().each do |k, v|
|
118
|
+
store.delete(k)
|
119
|
+
end
|
120
|
+
|
121
|
+
# only write out non-empty artifacts
|
122
|
+
artifacts = @artifacts.select {|k, v| v.size > 0}
|
123
|
+
if artifacts.size > 0
|
124
|
+
store.put('_artifacts_', artifacts)
|
125
|
+
end
|
126
|
+
|
127
|
+
# write out all the instance data
|
128
|
+
@items.values.each do |item|
|
129
|
+
store.put(item.name, item.to_hash)
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
52
133
|
def [](name)
|
53
134
|
@items[name] || @items[name.gsub(/\..*/, '')]
|
54
135
|
end
|
@@ -132,6 +213,27 @@ module Rubber
|
|
132
213
|
@security_groups = security_group_list
|
133
214
|
end
|
134
215
|
|
216
|
+
def self.from_hash(hash)
|
217
|
+
item = allocate
|
218
|
+
hash.each do |k, v|
|
219
|
+
sym = "@#{k}".to_sym
|
220
|
+
v = v.collect {|r| RoleItem.parse(r) } if k == 'roles'
|
221
|
+
item.instance_variable_set(sym, v)
|
222
|
+
end
|
223
|
+
return item
|
224
|
+
end
|
225
|
+
|
226
|
+
def to_hash
|
227
|
+
hash = {}
|
228
|
+
instance_variables.each do |iv|
|
229
|
+
name = iv.to_s.gsub(/^@/, '')
|
230
|
+
value = instance_variable_get(iv)
|
231
|
+
value = value.collect {|r| r.to_s } if name == 'roles'
|
232
|
+
hash[name] = value
|
233
|
+
end
|
234
|
+
return hash
|
235
|
+
end
|
236
|
+
|
135
237
|
def full_name
|
136
238
|
"#@name.#@domain"
|
137
239
|
end
|
@@ -175,7 +277,7 @@ module Rubber
|
|
175
277
|
end
|
176
278
|
|
177
279
|
def self.parse(str)
|
178
|
-
data = str.split(':')
|
280
|
+
data = str.split(':')
|
179
281
|
role = Rubber::Configuration::RoleItem.new(data[0])
|
180
282
|
if data[1]
|
181
283
|
data[1].split(';').each do |pair|
|
@@ -46,7 +46,7 @@ namespace :rubber do
|
|
46
46
|
on :load, "rubber:init"
|
47
47
|
|
48
48
|
required_task :init do
|
49
|
-
set :rubber_cfg, Rubber::Configuration.get_configuration(
|
49
|
+
set :rubber_cfg, Rubber::Configuration.get_configuration(Rubber.env)
|
50
50
|
set :rubber_env, rubber_cfg.environment.bind()
|
51
51
|
set :rubber_instances, rubber_cfg.instance
|
52
52
|
|
@@ -57,14 +57,13 @@ namespace :rubber do
|
|
57
57
|
default_run_options[:shell] = "/bin/bash -l"
|
58
58
|
default_run_options[:except] = { :platform => 'windows' }
|
59
59
|
|
60
|
-
|
61
|
-
set :cloud, Rubber::ThreadSafeProxy.new { Rubber::Cloud::get_provider(rubber_env.cloud_provider || "aws", rubber_env, self) }
|
60
|
+
set :cloud, Rubber.cloud(self)
|
62
61
|
|
63
62
|
load_roles() unless rubber_env.disable_auto_roles
|
64
63
|
# NOTE: for some reason Capistrano requires you to have both the public and
|
65
64
|
# the private key in the same folder, the public key should have the
|
66
65
|
# extension ".pub".
|
67
|
-
ssh_options[:keys] =
|
66
|
+
ssh_options[:keys] = cloud.env.key_file
|
68
67
|
ssh_options[:timeout] = fetch(:ssh_timeout, 5)
|
69
68
|
end
|
70
69
|
|
@@ -38,12 +38,9 @@ namespace :rubber do
|
|
38
38
|
DESC
|
39
39
|
task :config do
|
40
40
|
opts = {}
|
41
|
-
opts[
|
42
|
-
opts[
|
43
|
-
opts['
|
44
|
-
# we need to set rails env as well because when running rake
|
45
|
-
# in a rails project, rails gets loaded before the rubber hook gets run
|
46
|
-
opts['RAILS_ENV'] = RUBBER_ENV
|
41
|
+
opts[:no_post] = true if ENV['NO_POST']
|
42
|
+
opts[:force] = true if ENV['FORCE']
|
43
|
+
opts[:file] = ENV['FILE'] if ENV['FILE']
|
47
44
|
|
48
45
|
# when running deploy:migrations, we need to run config against release_path
|
49
46
|
opts[:deploy_path] = current_release if fetch(:migrate_target, :current).to_sym == :latest
|
@@ -65,26 +62,29 @@ namespace :rubber do
|
|
65
62
|
|
66
63
|
def run_config(options={})
|
67
64
|
path = options.delete(:deploy_path) || current_path
|
68
|
-
|
65
|
+
opts = ""
|
66
|
+
opts += " --no_post" if options[:no_post]
|
67
|
+
opts += " --force" if options[:force]
|
68
|
+
opts += " --file=#{options[:file]}" if options[:file]
|
69
69
|
|
70
70
|
# Need to do this so we can work with staging instances without having to
|
71
71
|
# checkin instance file between create and bootstrap, as well as during a deploy
|
72
72
|
if fetch(:push_instance_config, false)
|
73
73
|
push_files = [rubber_instances.file] + rubber_cfg.environment.config_files
|
74
74
|
push_files.each do |file|
|
75
|
-
dest_file = file.sub(/^#{
|
75
|
+
dest_file = file.sub(/^#{Rubber.root}\/?/, '')
|
76
76
|
put(File.read(file), File.join(path, dest_file), :mode => "+r")
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
80
|
-
# if the user has defined a secret config file, then push it into
|
80
|
+
# if the user has defined a secret config file, then push it into Rubber.root/config/rubber
|
81
81
|
secret = rubber_cfg.environment.config_secret
|
82
82
|
if secret && File.exist?(secret)
|
83
|
-
base = rubber_cfg.environment.config_root.sub(/^#{
|
83
|
+
base = rubber_cfg.environment.config_root.sub(/^#{Rubber.root}\/?/, '')
|
84
84
|
put(File.read(secret), File.join(path, base, File.basename(secret)), :mode => "+r")
|
85
85
|
end
|
86
|
-
|
87
|
-
rsudo "cd #{path} &&
|
86
|
+
|
87
|
+
rsudo "cd #{path} && RUBBER_ENV=#{Rubber.env} RAILS_ENV=#{Rubber.env} ./script/rubber config #{opts}"
|
88
88
|
end
|
89
89
|
|
90
90
|
end
|
@@ -21,8 +21,7 @@ namespace :rubber do
|
|
21
21
|
create_spot_instance = ENV.delete("SPOT_INSTANCE")
|
22
22
|
|
23
23
|
if r == '*'
|
24
|
-
instance_roles = rubber_cfg.environment.known_roles
|
25
|
-
instance_roles = instance_roles.collect {|role| role == "db" ? "db:primary=true" : role }
|
24
|
+
instance_roles = rubber_cfg.environment.known_roles.reject {|r| r =~ /slave/ || r =~ /^db$/ }
|
26
25
|
else
|
27
26
|
instance_roles = r.split(",")
|
28
27
|
end
|
@@ -53,7 +52,7 @@ namespace :rubber do
|
|
53
52
|
aliases = Rubber::Util::parse_aliases(instance_aliases)
|
54
53
|
|
55
54
|
ENV.delete('ROLES') # so we don't get an error if people leave ROLES in env from :create CLI
|
56
|
-
destroy_instances(aliases, ENV['FORCE']
|
55
|
+
destroy_instances(aliases, ENV['FORCE'] =~ /^(t|y)/)
|
57
56
|
end
|
58
57
|
|
59
58
|
desc <<-DESC
|
@@ -61,7 +60,7 @@ namespace :rubber do
|
|
61
60
|
DESC
|
62
61
|
required_task :destroy_all do
|
63
62
|
rubber_instances.each do |ic|
|
64
|
-
destroy_instance(ic.name, ENV['FORCE']
|
63
|
+
destroy_instance(ic.name, ENV['FORCE'] =~ /^(t|y)/)
|
65
64
|
end
|
66
65
|
end
|
67
66
|
|
@@ -150,15 +149,21 @@ namespace :rubber do
|
|
150
149
|
DESC
|
151
150
|
required_task :describe do
|
152
151
|
results = []
|
153
|
-
format = "%-10s %-10s %-10s %-15s %-30s"
|
154
|
-
results << format % %w[InstanceID State Zone IP Alias\ (*=unknown)]
|
152
|
+
format = "%-10s %-10s %-10s %-10s %-15s %-30s"
|
153
|
+
results << format % %w[InstanceID Type State Zone IP Alias\ (*=unknown)]
|
155
154
|
|
156
155
|
instances = cloud.describe_instances()
|
156
|
+
data = []
|
157
157
|
instances.each do |instance|
|
158
158
|
local_alias = find_alias(instance[:external_ip], instance[:id], instance[:state] == 'running')
|
159
|
-
|
159
|
+
data << [instance[:id], instance[:type], instance[:state], instance[:zone], instance[:external_ip] || "NoIP", local_alias || "Unknown"]
|
160
160
|
end
|
161
|
-
|
161
|
+
|
162
|
+
# sort by alias
|
163
|
+
data = data.sort {|r1, r2| r1.last <=> r2.last }
|
164
|
+
results.concat(data.collect {|r| format % r})
|
165
|
+
|
166
|
+
results.each {|r| logger.info(r) }
|
162
167
|
end
|
163
168
|
|
164
169
|
desc <<-DESC
|
@@ -195,17 +200,13 @@ namespace :rubber do
|
|
195
200
|
roles = env.instance_roles.split(",") rescue []
|
196
201
|
end
|
197
202
|
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
if role.name == "db" && role.options["primary"] == nil && rubber_instances.for_role("db").size == 0
|
203
|
-
value = Capistrano::CLI.ui.ask("You do not have a primary db role, should #{instance_alias} be it [y/n]?: ")
|
204
|
-
role.options["primary"] = true if value =~ /^y/
|
205
|
-
end
|
206
|
-
|
207
|
-
ir << role
|
203
|
+
# If user doesn't setup a primary db, then be nice and do it
|
204
|
+
if ! roles.include?("db:primary=true") && rubber_instances.for_role("db").size == 0
|
205
|
+
value = Capistrano::CLI.ui.ask("You do not have a primary db role, should #{instance_alias} be it [y/n]?: ")
|
206
|
+
roles << "db:primary=true" if value =~ /^y/
|
208
207
|
end
|
208
|
+
|
209
|
+
ir.concat roles.collect {|r| Rubber::Configuration::RoleItem.parse(r) }
|
209
210
|
|
210
211
|
# Add in roles that the given set of roles depends on
|
211
212
|
ir = Rubber::Configuration::RoleItem.expand_role_dependencies(ir, get_role_dependencies)
|
@@ -253,20 +254,21 @@ namespace :rubber do
|
|
253
254
|
end
|
254
255
|
security_groups = get_assigned_security_groups(instance_alias, role_names)
|
255
256
|
|
256
|
-
|
257
|
-
|
257
|
+
cloud_env = env.cloud_providers[env.cloud_provider]
|
258
|
+
ami = cloud_env.image_id
|
259
|
+
ami_type = cloud_env.image_type
|
258
260
|
availability_zone = env.availability_zone
|
259
261
|
|
260
|
-
create_spot_instance ||=
|
262
|
+
create_spot_instance ||= cloud_env.spot_instance
|
261
263
|
|
262
264
|
if create_spot_instance
|
263
|
-
spot_price =
|
265
|
+
spot_price = cloud_env.spot_price.to_s
|
264
266
|
|
265
267
|
logger.info "Creating spot instance request for instance #{ami}/#{ami_type}/#{security_groups.join(',') rescue 'Default'}/#{availability_zone || 'Default'}"
|
266
268
|
request_id = cloud.create_spot_instance_request(spot_price, ami, ami_type, security_groups, availability_zone)
|
267
269
|
|
268
270
|
print "Waiting for spot instance request to be fulfilled"
|
269
|
-
max_wait_time =
|
271
|
+
max_wait_time = cloud_env.spot_instance_request_timeout || (1.0 / 0) # Use the specified timeout value or default to infinite.
|
270
272
|
instance_id = nil
|
271
273
|
while instance_id.nil? do
|
272
274
|
print "."
|
@@ -302,11 +304,8 @@ namespace :rubber do
|
|
302
304
|
|
303
305
|
# Sometimes tag creation will fail, indicating that the instance doesn't exist yet even though it does. It seems to
|
304
306
|
# be a propagation delay on Amazon's end, so the best we can do is wait and try again.
|
305
|
-
|
307
|
+
Rubber::Util.retry_on_failure(Exception, :retry_sleep => 0.5, :retry_count => 100) do
|
306
308
|
Rubber::Tag::update_instance_tags(instance_alias)
|
307
|
-
rescue Exception
|
308
|
-
sleep 0.5
|
309
|
-
retry
|
310
309
|
end
|
311
310
|
end
|
312
311
|
|
@@ -406,7 +405,7 @@ namespace :rubber do
|
|
406
405
|
|
407
406
|
env = rubber_cfg.environment.bind(instance_item.role_names, instance_item.name)
|
408
407
|
|
409
|
-
value = Capistrano::CLI.ui.ask("About to DESTROY #{instance_alias} (#{instance_item.instance_id}) in mode #{
|
408
|
+
value = Capistrano::CLI.ui.ask("About to DESTROY #{instance_alias} (#{instance_item.instance_id}) in mode #{Rubber.env}. Are you SURE [yes/NO]?: ") unless force
|
410
409
|
fatal("Exiting", 0) if value != "yes" && ! force
|
411
410
|
|
412
411
|
if instance_item.static_ip
|
@@ -451,7 +450,7 @@ namespace :rubber do
|
|
451
450
|
|
452
451
|
env = rubber_cfg.environment.bind(instance_item.role_names, instance_item.name)
|
453
452
|
|
454
|
-
value = Capistrano::CLI.ui.ask("About to REBOOT #{instance_alias} (#{instance_item.instance_id}) in mode #{
|
453
|
+
value = Capistrano::CLI.ui.ask("About to REBOOT #{instance_alias} (#{instance_item.instance_id}) in mode #{Rubber.env}. Are you SURE [yes/NO]?: ")
|
455
454
|
fatal("Exiting", 0) if value != "yes"
|
456
455
|
|
457
456
|
logger.info "Rebooting instance alias=#{instance_alias}, instance_id=#{instance_item.instance_id}"
|
@@ -469,7 +468,7 @@ namespace :rubber do
|
|
469
468
|
|
470
469
|
env = rubber_cfg.environment.bind(instance_item.role_names, instance_item.name)
|
471
470
|
|
472
|
-
value = Capistrano::CLI.ui.ask("About to STOP #{instance_alias} (#{instance_item.instance_id}) in mode #{
|
471
|
+
value = Capistrano::CLI.ui.ask("About to STOP #{instance_alias} (#{instance_item.instance_id}) in mode #{Rubber.env}. Are you SURE [yes/NO]?: ")
|
473
472
|
fatal("Exiting", 0) if value != "yes"
|
474
473
|
|
475
474
|
logger.info "Stopping instance alias=#{instance_alias}, instance_id=#{instance_item.instance_id}"
|
@@ -487,7 +486,7 @@ namespace :rubber do
|
|
487
486
|
|
488
487
|
env = rubber_cfg.environment.bind(instance_item.role_names, instance_item.name)
|
489
488
|
|
490
|
-
value = Capistrano::CLI.ui.ask("About to START #{instance_alias} (#{instance_item.instance_id}) in mode #{
|
489
|
+
value = Capistrano::CLI.ui.ask("About to START #{instance_alias} (#{instance_item.instance_id}) in mode #{Rubber.env}. Are you SURE [yes/NO]?: ")
|
491
490
|
fatal("Exiting", 0) if value != "yes"
|
492
491
|
|
493
492
|
logger.info "Starting instance alias=#{instance_alias}, instance_id=#{instance_item.instance_id}"
|