rubber 2.12.2 → 2.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +27 -0
  3. data/lib/rubber/cli.rb +0 -1
  4. data/lib/rubber/cloud/aws_table_store.rb +1 -1
  5. data/lib/rubber/cloud/fog_storage.rb +1 -1
  6. data/lib/rubber/cloud/vsphere.rb +23 -1
  7. data/lib/rubber/commands/vulcanize.rb +1 -1
  8. data/lib/rubber/dns/aws.rb +4 -3
  9. data/lib/rubber/generator.rb +6 -2
  10. data/lib/rubber/instance.rb +48 -6
  11. data/lib/rubber/recipes/rubber.rb +8 -0
  12. data/lib/rubber/recipes/rubber/deploy.rb +9 -3
  13. data/lib/rubber/recipes/rubber/instances.rb +1 -0
  14. data/lib/rubber/recipes/rubber/setup.rb +10 -2
  15. data/lib/rubber/recipes/rubber/static_ips.rb +1 -1
  16. data/lib/rubber/recipes/rubber/utils.rb +8 -2
  17. data/lib/rubber/version.rb +1 -1
  18. data/templates/apache/config/rubber/deploy-apache.rb +1 -1
  19. data/templates/apache/config/rubber/role/web_tools/tools-apache-vhost.conf +8 -0
  20. data/templates/apache/config/rubber/rubber-apache.yml +2 -2
  21. data/templates/base/config/rubber/deploy-util.rb +3 -3
  22. data/templates/base/config/rubber/rubber.yml +8 -3
  23. data/templates/cassandra/config/rubber/deploy-cassandra.rb +2 -2
  24. data/templates/collectd/config/rubber/role/collectd/collectd-ping.conf +11 -2
  25. data/templates/collectd/config/rubber/role/collectd/thresholds.conf +1 -1
  26. data/templates/collectd/script/collectd/role/redis/redis_info.rb +0 -1
  27. data/templates/cruise/config/rubber/role/cruise/my.cnf +1 -1
  28. data/templates/graphite/config/rubber/deploy-graphite.rb +125 -69
  29. data/templates/graphite/config/rubber/role/graphite_server/carbon.conf +150 -26
  30. data/templates/graphite/config/rubber/role/graphite_server/graphite-carbon-default.conf +8 -0
  31. data/templates/graphite/config/rubber/role/graphite_server/graphite_server-upstart.conf +3 -0
  32. data/templates/graphite/config/rubber/role/graphite_server/storage-schemas.conf +2 -1
  33. data/templates/graphite/config/rubber/role/graphite_web/crontab +1 -1
  34. data/templates/graphite/config/rubber/role/graphite_web/dashboard.conf +1 -1
  35. data/templates/graphite/config/rubber/role/graphite_web/dashboard.html +1 -1
  36. data/templates/graphite/config/rubber/role/graphite_web/graphite.wsgi +4 -1
  37. data/templates/graphite/config/rubber/role/graphite_web/local_settings.py +171 -41
  38. data/templates/graphite/config/rubber/role/graphite_web/uwsgi.ini +6 -3
  39. data/templates/graphite/config/rubber/rubber-graphite.yml +7 -1
  40. data/templates/graphite/templates.rb +9 -0
  41. data/templates/graylog/config/rubber/common/graylog-rsyslog.conf +1 -1
  42. data/templates/graylog/config/rubber/role/graylog_server/graylog2.conf +2 -2
  43. data/templates/jenkins/config/rubber/role/jenkins/jenkins-apache-vhost.conf +5 -0
  44. data/templates/memcached/config/rubber/role/memcached/memcached.conf +1 -1
  45. data/templates/mysql/config/rubber/deploy-mysql.rb +2 -2
  46. data/templates/mysql/config/rubber/role/db/my.cnf +1 -1
  47. data/templates/mysql_cluster/config/rubber/deploy-mysql_cluster.rb +3 -3
  48. data/templates/mysql_cluster/config/rubber/role/mysql_sql/my.cnf +1 -1
  49. data/templates/passenger/config/rubber/role/passenger/passenger-apache-vhost.conf +12 -0
  50. data/templates/passenger/config/rubber/rubber-passenger.yml +1 -1
  51. data/templates/passenger_nginx/config/rubber/role/passenger_nginx/nginx.conf +1 -1
  52. data/templates/percona/config/rubber/deploy-percona.rb +2 -2
  53. data/templates/percona/config/rubber/role/db/my.cnf +1 -1
  54. data/templates/postgresql/config/rubber/deploy-postgresql.rb +4 -8
  55. data/templates/postgresql/config/rubber/role/postgresql/pg_hba.conf +1 -1
  56. data/templates/postgresql/config/rubber/role/postgresql/postgresql.conf +1 -1
  57. data/templates/redis/config/rubber/role/redis/redis.conf +1 -1
  58. data/templates/torquebox/config/rubber/role/app/torquebox-apache-vhost.conf +12 -0
  59. metadata +4 -2
@@ -3,7 +3,7 @@
3
3
 
4
4
  # When sql nodes on same hosts as data nodes, then this config needs to be
5
5
  # additive - the mysql_data node gets generated first due to generator order
6
- self_instance = rubber_instances[rubber_env.host]
6
+ self_instance = rubber_instance
7
7
  if self_instance.role_names.include?('mysql_data')
8
8
  @additive = ['# mysql_sql start', '# mysql_sql end']
9
9
  end
@@ -1,5 +1,10 @@
1
1
  <%
2
+ is_old_ubuntu = %w[10.04 12.04].include?(rubber_instance.os_version)
3
+
4
+ # Apache 2.2 requires no extension while Apache 2.4 requires the '.conf' extension.
2
5
  @path = "/etc/apache2/sites-available/#{rubber_env.app_name}-passenger"
6
+ @path << '.conf' unless is_old_ubuntu
7
+
3
8
  @post = "a2enmod rewrite && a2enmod ssl && a2enmod expires && a2enmod xsendfile && a2ensite #{rubber_env.app_name}-passenger"
4
9
 
5
10
  sidekiq_gem_path = if rubber_instances.for_role('sidekiq').any?
@@ -18,6 +23,13 @@ Listen <%= port %>
18
23
  <%- end -%>
19
24
  DocumentRoot <%= Rubber.root + "/public" %>
20
25
 
26
+ <%- unless is_old_ubuntu %>
27
+ <Directory <%= Rubber.root + "/public" %>>
28
+ Options FollowSymLinks
29
+ Require all granted
30
+ </Directory>
31
+ <% end %>
32
+
21
33
  ErrorDocument 404 /404.html
22
34
  ErrorDocument 500 /500.html
23
35
 
@@ -1,4 +1,4 @@
1
- passenger_version: '1:4.0.49-1~`lsb_release -sc`1'
1
+ passenger_version: '1:4.0.50-1~`lsb_release -sc`1'
2
2
  passenger_ruby: "#{ruby_path}/bin/ruby"
3
3
  passenger_listen_port: 7000
4
4
  passenger_listen_ssl_port: 7001
@@ -62,7 +62,7 @@ http
62
62
  passenger_group <%= rubber_env.app_user %>;
63
63
 
64
64
  include /etc/nginx/rubber/passenger_nginx.conf;
65
- <% if rubber_instances[rubber_env.host].role_names.include?('web_tools') %>
65
+ <% if rubber_instance.role_names.include?('web_tools') %>
66
66
  include /etc/nginx/rubber/tools.conf;
67
67
  <% end %>
68
68
  }
@@ -44,7 +44,7 @@ namespace :rubber do
44
44
 
45
45
  master_instances = rubber_instances.for_role("percona_master") & rubber_instances.filtered
46
46
  master_instances.each do |ic|
47
- task_name = "_bootstrap_percona_master_#{ic.full_name}".to_sym()
47
+ task_name = "_bootstrap_percona_master_#{ic.full_name}".to_sym
48
48
  task task_name, :hosts => ic.full_name do
49
49
  env = rubber_cfg.environment.bind("percona_master", ic.name)
50
50
  exists = capture("echo $(ls #{env.db_data_dir}/ 2> /dev/null)")
@@ -66,7 +66,7 @@ namespace :rubber do
66
66
 
67
67
  slave_instances = rubber_instances.for_role("percona_slave") & rubber_instances.filtered
68
68
  slave_instances.each do |ic|
69
- task_name = "_bootstrap_percona_slave_#{ic.full_name}".to_sym()
69
+ task_name = "_bootstrap_percona_slave_#{ic.full_name}".to_sym
70
70
  task task_name, :hosts => ic.full_name do
71
71
  env = rubber_cfg.environment.bind("percona_slave", ic.name)
72
72
  exists = capture("echo $(ls #{env.db_data_dir}/ 2> /dev/null)")
@@ -6,7 +6,7 @@
6
6
  @post = "mkdir -p #{log_dir}; chown mysql:adm #{log_dir}; chmod 2750 #{log_dir}"
7
7
  %>
8
8
 
9
- # Generated by rubber for host <%= rubber_instances[rubber_env.host].external_ip %>
9
+ # Generated by rubber for host <%= rubber_instance.external_ip %>
10
10
  #
11
11
  # The MySQL database server configuration file.
12
12
  #
@@ -8,12 +8,8 @@ namespace :rubber do
8
8
 
9
9
  task :setup_apt_sources do
10
10
  rubber.sudo_script 'configure_postgresql_repository', <<-ENDSCRIPT
11
- # PostgreSQL 9.1 is the default starting in Ubuntu 11.10.
12
- release=`lsb_release -sr`
13
- needs_repo=`echo "$release < 11.10" | bc`
14
- if [[ $needs_repo == 1 ]]; then
15
- add-apt-repository ppa:pitti/postgresql
16
- fi
11
+ echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list
12
+ wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
17
13
  ENDSCRIPT
18
14
  end
19
15
 
@@ -40,7 +36,7 @@ namespace :rubber do
40
36
  # been bootstrapped for that role before
41
37
  master_instances = rubber_instances.for_role("postgresql_master") & rubber_instances.filtered
42
38
  master_instances.each do |ic|
43
- task_name = "_bootstrap_postgresql_master_#{ic.full_name}".to_sym()
39
+ task_name = "_bootstrap_postgresql_master_#{ic.full_name}".to_sym
44
40
  task task_name, :hosts => ic.full_name do
45
41
  env = rubber_cfg.environment.bind("postgresql_master", ic.name)
46
42
  exists = capture("echo $(ls #{env.postgresql_data_dir}/ 2> /dev/null)")
@@ -68,7 +64,7 @@ namespace :rubber do
68
64
 
69
65
  slave_instances = rubber_instances.for_role("postgresql_slave") & rubber_instances.filtered
70
66
  slave_instances.each do |ic|
71
- task_name = "_bootstrap_postgresql_slave_#{ic.full_name}".to_sym()
67
+ task_name = "_bootstrap_postgresql_slave_#{ic.full_name}".to_sym
72
68
  task task_name, :hosts => ic.full_name do
73
69
  env = rubber_cfg.environment.bind("postgresql_slave", ic.name)
74
70
  exists = capture("echo $(ls #{env.postgresql_data_dir}/ 2> /dev/null)")
@@ -100,4 +100,4 @@ host replication <%= rubber_env.db_replication_user %> <%= network %> <%
100
100
  host all <%= rubber_env.db_user %> <%= network %> <%= scheme %>
101
101
  <% end %>
102
102
 
103
- host all <%= rubber_env.db_user %> <%= rubber_instances[rubber_env.host].internal_ip %>/32 <%= scheme %>
103
+ host all <%= rubber_env.db_user %> <%= rubber_instance.internal_ip %>/32 <%= scheme %>
@@ -187,7 +187,7 @@ wal_level = hot_standby # minimal, archive, or hot_standby
187
187
  #archive_timeout = 0 # force a logfile segment switch after this
188
188
  # number of seconds; 0 disables
189
189
 
190
- <%- if rubber_instances[rubber_env.host].role_names.include?('postgresql_master') %>
190
+ <%- if rubber_instance.role_names.include?('postgresql_master') %>
191
191
  # - Streaming Replication -
192
192
 
193
193
  #------------------------------------------------------------------------------
@@ -197,7 +197,7 @@ dir <%= rubber_env.redis_db_dir %>
197
197
  <%-
198
198
  redis_master = rubber_instances.for_role('redis_master').first
199
199
 
200
- if rubber_instances[rubber_env.host].role_names.include?('redis_slave')
200
+ if rubber_instance.role_names.include?('redis_slave')
201
201
  %>
202
202
  ################################# REPLICATION #################################
203
203
 
@@ -1,5 +1,10 @@
1
1
  <%
2
+ is_old_ubuntu = %w[10.04 12.04].include?(rubber_instance.os_version)
3
+
4
+ # Apache 2.2 requires no extension while Apache 2.4 requires the '.conf' extension.
2
5
  @path = "/etc/apache2/sites-available/#{rubber_env.app_name}-torquebox"
6
+ @path << '.conf' unless is_old_ubuntu
7
+
3
8
  @post = "a2enmod rewrite && a2enmod ssl && a2enmod expires && a2enmod xsendfile && a2ensite #{rubber_env.app_name}-torquebox"
4
9
 
5
10
  sidekiq_gem_path = if rubber_instances.for_role('sidekiq').any?
@@ -19,6 +24,13 @@ Listen <%= port %>
19
24
  <%- end -%>
20
25
  DocumentRoot <%= Rubber.root + "/public" %>
21
26
 
27
+ <%- unless is_old_ubuntu %>
28
+ <Directory <%= Rubber.root + "/public" %>>
29
+ Options FollowSymLinks
30
+ Require all granted
31
+ </Directory>
32
+ <% end %>
33
+
22
34
  ErrorDocument 404 /404.html
23
35
  ErrorDocument 500 /500.html
24
36
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubber
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.2
4
+ version: 2.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Conway
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-08-26 00:00:00.000000000 Z
12
+ date: 2014-10-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  requirement: !ruby/object:Gem::Requirement
@@ -378,6 +378,7 @@ files:
378
378
  - templates/graphite/config/rubber/deploy-graphite.rb
379
379
  - templates/graphite/config/rubber/role/collectd/graphite-collectd.conf
380
380
  - templates/graphite/config/rubber/role/graphite_server/carbon.conf
381
+ - templates/graphite/config/rubber/role/graphite_server/graphite-carbon-default.conf
381
382
  - templates/graphite/config/rubber/role/graphite_server/graphite_server-upstart.conf
382
383
  - templates/graphite/config/rubber/role/graphite_server/monit-graphite_server.conf
383
384
  - templates/graphite/config/rubber/role/graphite_server/storage-schemas.conf
@@ -390,6 +391,7 @@ files:
390
391
  - templates/graphite/config/rubber/role/graphite_web/monit-graphite_web.conf
391
392
  - templates/graphite/config/rubber/role/graphite_web/uwsgi.ini
392
393
  - templates/graphite/config/rubber/rubber-graphite.yml
394
+ - templates/graphite/templates.rb
393
395
  - templates/graphite/templates.yml
394
396
  - templates/graylog/config/rubber/common/graylog-rsyslog.conf
395
397
  - templates/graylog/config/rubber/deploy-graylog.rb