rubber 2.12.2 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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