rubber 2.6.5 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/CHANGELOG +37 -0
  4. data/lib/rubber/cloud/vsphere.rb +4 -0
  5. data/lib/rubber/generator.rb +37 -19
  6. data/lib/rubber/recipes/rubber/security_groups.rb +1 -1
  7. data/lib/rubber/recipes/rubber/volumes.rb +1 -1
  8. data/lib/rubber/version.rb +1 -1
  9. data/templates/delayed_job/config/rubber/deploy-delayed_job.rb +44 -0
  10. data/templates/delayed_job/config/rubber/role/delayed_job/monit-delayed_job.conf +18 -0
  11. data/templates/delayed_job/config/rubber/rubber-delayed_job.yml +1 -0
  12. data/templates/delayed_job/templates.yml +1 -0
  13. data/templates/discourse/config/rubber/deploy-discourse.rb +16 -0
  14. data/templates/discourse/config/rubber/role/nginx/nginx.conf +43 -0
  15. data/templates/discourse/config/rubber/role/nginx/unicorn_nginx.conf +102 -0
  16. data/templates/discourse/config/rubber/role/unicorn/unicorn.rb +99 -0
  17. data/templates/discourse/config/rubber/rubber-discourse.yml +3 -0
  18. data/templates/discourse/templates.yml +5 -0
  19. data/templates/elasticsearch/config/rubber/deploy-elasticsearch.rb +7 -7
  20. data/templates/elasticsearch/config/rubber/role/elasticsearch/elasticsearch-default.conf +47 -0
  21. data/templates/elasticsearch/config/rubber/role/elasticsearch/elasticsearch.yml +49 -30
  22. data/templates/elasticsearch/config/rubber/role/elasticsearch/logging.yml +14 -3
  23. data/templates/elasticsearch/config/rubber/role/elasticsearch/monit-elasticsearch.conf +8 -0
  24. data/templates/elasticsearch/config/rubber/rubber-elasticsearch.yml +1 -4
  25. data/templates/ffmpeg/config/rubber/deploy-ffmpeg.rb +13 -0
  26. data/templates/ffmpeg/config/rubber/rubber-ffmpeg.yml +5 -0
  27. data/templates/ffmpeg/templates.yml +1 -0
  28. data/templates/graylog/config/rubber/deploy-graylog.rb +17 -20
  29. data/templates/graylog/config/rubber/role/graylog_server/graylog2.conf +157 -43
  30. data/templates/graylog/config/rubber/role/graylog_server/monit-graylog_server.conf +8 -0
  31. data/templates/graylog/config/rubber/role/graylog_web/graylog2-web-interface.conf +19 -0
  32. data/templates/graylog/config/rubber/role/graylog_web/graylog_web-upstart.conf +1 -1
  33. data/templates/graylog/config/rubber/role/graylog_web/monit-graylog_web.conf +8 -0
  34. data/templates/graylog/config/rubber/rubber-graylog.yml +5 -12
  35. data/templates/graylog/templates.rb +13 -5
  36. data/templates/memcached/config/rubber/deploy-memcached.rb +16 -0
  37. data/templates/memcached/config/rubber/role/memcached/dalli.rb +20 -0
  38. data/templates/memcached/config/rubber/role/memcached/memcached.conf +17 -8
  39. data/templates/memcached/config/rubber/rubber-memcached.yml +25 -1
  40. data/templates/monit/config/rubber/role/memcached/monit-memcached.conf +9 -0
  41. data/templates/monit/config/rubber/role/mongodb/monit-mongodb.conf +1 -0
  42. data/templates/mysql/config/rubber/deploy-mysql.rb +1 -2
  43. data/templates/newrelic/config/rubber/deploy-newrelic.rb +49 -0
  44. data/templates/newrelic/config/rubber/role/newrelic/monit-newrelic.conf +9 -0
  45. data/templates/newrelic/config/rubber/rubber-newrelic.yml +5 -0
  46. data/templates/newrelic/templates.yml +1 -0
  47. data/templates/passenger_nginx/config/rubber/deploy-passenger_nginx.rb +7 -4
  48. data/templates/passenger_nginx/config/rubber/rubber-passenger_nginx.yml +1 -0
  49. data/templates/redis/config/rubber/role/redis/redis.conf +120 -16
  50. data/templates/redis/config/rubber/rubber-redis.yml +1 -1
  51. data/templates/solr/config/rubber/deploy-solr.rb +8 -8
  52. data/templates/solr/config/rubber/rubber-solr.yml +6 -6
  53. data/templates/solr/templates.yml +1 -3
  54. data/templates/solr_sunspot/config/rubber/common/solr_sunspot.yml +10 -0
  55. data/templates/solr_sunspot/config/rubber/deploy-solr_sunspot.rb +30 -0
  56. data/templates/solr_sunspot/config/rubber/rubber-solr_sunspot.yml +5 -0
  57. data/templates/solr_sunspot/templates.yml +1 -0
  58. data/templates/unicorn/config/rubber/deploy-unicorn.rb +16 -11
  59. data/templates/unicorn/config/rubber/role/unicorn/unicorn +91 -0
  60. data/test/generator_test.rb +54 -0
  61. data/test/test_helper.rb +2 -0
  62. metadata +31 -11
  63. data/templates/elasticsearch/config/rubber/role/elasticsearch/elasticsearch-upstart.conf +0 -23
  64. data/templates/graylog/config/initializers/graylog.rb +0 -53
  65. data/templates/graylog/config/rubber/role/graylog_web/crontab +0 -9
  66. data/templates/graylog/config/rubber/role/graylog_web/email.yml +0 -16
  67. data/templates/graylog/config/rubber/role/graylog_web/general.yml +0 -27
  68. data/templates/graylog/config/rubber/role/graylog_web/mongoid.yml +0 -28
  69. data/templates/memcached/config/memcached.yml +0 -28
  70. data/templates/memcached/config/rubber/common/memcached.yml +0 -14
  71. data/templates/unicorn/config/rubber/role/unicorn/unicorn-upstart.conf +0 -13
@@ -1,23 +0,0 @@
1
- <%
2
- @path = "/etc/init/elasticsearch.conf"
3
- @backup = false
4
- %>
5
- description "elasticsearch server"
6
-
7
- start on runlevel [2345]
8
- stop on runlevel [016]
9
-
10
- script
11
- cd <%= rubber_env.elasticsearch_dir %>
12
- ulimit -n 65536
13
- exec ./bin/elasticsearch -f
14
- end script
15
-
16
- post-start script
17
- status elasticsearch | head -n1 | awk '{print $NF}' > <%= rubber_env.elasticsearch_pid_file %>
18
- while ! curl -s 'http://localhost:<%= rubber_env.elasticsearch_http_port %>/_status' > /dev/null 2>&1; do sleep 1 ; done
19
- end script
20
-
21
- post-stop script
22
- rm -f <%= rubber_env.elasticsearch_pid_file %>
23
- end script
@@ -1,53 +0,0 @@
1
- require 'gelf'
2
-
3
- graylog_server = Rubber.instances.for_role('graylog_server').first
4
-
5
- if graylog_server
6
-
7
- class MultiLogger
8
- def initialize(*objects)
9
- @objects = objects
10
- end
11
-
12
- def method_missing(*args)
13
- @objects.each {|o| o.send(*args) }
14
- end
15
- end
16
-
17
- gelf_logger = GELF::Logger.new(graylog_server.full_name,
18
- Rubber.config.graylog_server_port,
19
- 'LAN',
20
- 'facility' => 'rails',
21
- 'host' => Rubber.config.host)
22
- Rails.logger = MultiLogger.new(Rails.logger, gelf_logger)
23
-
24
- # See https://github.com/Graylog2/graylog2_exceptions/wiki
25
- Rails.application.config.middleware.use "Graylog2Exceptions",
26
- {
27
- :hostname => graylog_server.full_name,
28
- :port => Rubber.config.graylog_server_port,
29
- :facility => "rails_exceptions",
30
- :local_app_name => Rubber.config.host,
31
- :level => GELF::FATAL,
32
- :max_chunk_size => 'LAN'
33
- }
34
-
35
- # Setup logging unhandled resque exceptions to graylog
36
- Graylog2::Resque::FailureHandler.configure do |config|
37
- config.gelf_server = graylog_server.full_name
38
- config.gelf_port = Rubber.config.graylog_server_port
39
- config.host = Rubber.config.host
40
- config.facility = "resque_exceptions"
41
- config.level = GELF::FATAL
42
- config.max_chunk_size = 'LAN'
43
- end
44
-
45
- require 'resque/failure/multiple'
46
- require 'resque/failure/redis'
47
- Resque::Failure::Multiple.classes = [
48
- Graylog2::Resque::FailureHandler,
49
- Resque::Failure::Redis
50
- ]
51
- Resque::Failure.backend = Resque::Failure::Multiple
52
-
53
- end
@@ -1,9 +0,0 @@
1
- <%
2
- @read_cmd = 'crontab -l'
3
- @write_cmd = 'crontab -'
4
- @additive = ['# start-graylog-web-crontab', '# end-graylog-web-crontab']
5
- %>
6
-
7
- # use sudo/bash to unset bundle env vars since we are running a different
8
- # rails app and redirect output to null to prevent bash-login from complaining about tty
9
- */15 * * * * sudo -u root bash -l -c "<%= Rubber.root %>/script/rubber cron -r <%= rubber_env.graylog_web_dir %> bundle exec rake subscriptions:send" &> /dev/null
@@ -1,16 +0,0 @@
1
- <%
2
- @path = "#{rubber_env.graylog_web_dir}/config/email.yml"
3
- %>
4
-
5
- # Config for pony email gem
6
-
7
- production:
8
- via: sendmail
9
- # via: smtp # via: sendmail
10
- # host: smtp.example.org
11
- # enable_starttls_auto: true
12
- # port: 25
13
- # auth: plain # plain, login, cram_md5 - Comment out or remove to use no auth
14
- # user: somebody
15
- # password: yourpass
16
- # domain: example.org # the HELO domain provided by the client to the server
@@ -1,27 +0,0 @@
1
- <%
2
- @path = "#{rubber_env.graylog_web_dir}/config/general.yml"
3
- graylog_server = rubber_instances.for_role("graylog_server").first
4
- webtools_server = rubber_instances.for_role("web_tools").first
5
- %>
6
-
7
- general:
8
- external_hostname: "<%= webtools_server.full_name %>:<%= rubber_env.web_tools_port %>" # Used for example to generate permalinks. Don't add 'http://' or trailing slashes.
9
- date_format: "%d.%m.%Y - %H:%M:%S" # http://ruby-doc.org/core/classes/Time.html#M000298 (strftime syntax)
10
- allow_deleting: false # Allowing deleting of messages negatively impacts performance
11
- allow_version_check: true # Enables manual (/versioncheck/index) and automatic (every 30min from overview page) version checking against graylog2.org via HTTP.
12
- # custom_cookie_name: graylog2_staging1 # Set an own cookie name - Useful for multiple deployments on same host like example.org/staging1/graylog2, example.org/staging2/graylog2
13
-
14
- # Settings for stream subscription emails.
15
- subscriptions:
16
- from: graylog2subscriptions@<%= rubber_env.domain %>
17
- subject: "[graylog2] Subscription"
18
-
19
- # Settings for stream alarm emails.
20
- streamalarms:
21
- from: graylog2alarms@<%= rubber_env.domain %>
22
- subject: "[graylog2] Stream alarm!"
23
-
24
- hoptoad:
25
- enabled: false
26
- ssl: false
27
- api_key: 123
@@ -1,28 +0,0 @@
1
- <%
2
- @path = "#{rubber_env.graylog_web_dir}/config/mongoid.yml"
3
- graylog_server = rubber_instances.for_role("graylog_server").first
4
- %>
5
- defaults: &defaults
6
- host: localhost
7
- allow_dynamic_fields: true
8
- # slaves:
9
- # - host: slave1.local
10
- # port: 27018
11
- # - host: slave2.local
12
- # port: 27019
13
-
14
- development:
15
- <<: *defaults
16
- database: graylog2_development
17
-
18
- test:
19
- <<: *defaults
20
- database: graylog2_test
21
-
22
- # set these environment variables on your prod server
23
- production:
24
- host: <%= graylog_server.full_name %>
25
- port: 27017
26
- username:
27
- password:
28
- database: <%= rubber_env.graylog_mongo_database %>
@@ -1,28 +0,0 @@
1
- defaults:
2
- ttl: 1800
3
- readonly: false
4
- urlencode: false
5
- c_threshold: 10000
6
- compression: true
7
- debug: false
8
- namespace: app
9
- sessions: false
10
- session_servers: false
11
- fragments: false
12
- memory: 64
13
- servers: localhost:11211
14
- benchmarking: true
15
- raise_errors: true
16
- fast_hash: false
17
- fastest_hash: false
18
-
19
- development:
20
- sessions: false
21
- fragments: true
22
- servers: localhost:11211
23
-
24
- # turn off caching
25
- test:
26
- disabled: true
27
- fragments: true
28
-
@@ -1,14 +0,0 @@
1
- <%
2
- @path = "#{Rubber.root}/config/memcached.yml"
3
- @additive = ["# rubber-memcached-start", "# rubber-memcached-end"]
4
- %>
5
-
6
-
7
- <%= Rubber.env %>:
8
- memory: 256
9
- fragments: true
10
- benchmarking: false
11
- servers:
12
- <% rubber_instances.for_role('memcached').each do |ic| %>
13
- - <%= ic.full_name %>:11211
14
- <% end %>
@@ -1,13 +0,0 @@
1
- <%
2
- @path = "/etc/init/unicorn.conf"
3
- current_path = "/mnt/#{rubber_env.app_name}-#{Rubber.env}/current"
4
- @backup = false
5
- %>
6
- description "unicorn daemon"
7
-
8
- start on runlevel [2345]
9
- stop on runlevel [016]
10
-
11
- script
12
- exec /bin/bash -l -c 'cd <%= current_path %> && exec bundle exec unicorn_rails -c <%= current_path %>/config/unicorn.rb -E <%= Rubber.env %> -D >> log/unicorn_upstart.log 2>&1'
13
- end script