govuk_app_config 4.0.1 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dec546dba47c5e140f91e24295182136a5aeaa7cd48cd9742d1aebfd09210b8a
4
- data.tar.gz: 743c630cff5a8e8755864cc937309c3cc88042c9526c6ec21fb8c01497d3fc4f
3
+ metadata.gz: 035dcbe366b0f0f062233f632cbdd44363f0fd145da5bf8d1f567c8827f6ef7f
4
+ data.tar.gz: 8a3eda8f28a196cf032e437369b08505a9c71d7ec6ee1c11e4ff8489ad51cec9
5
5
  SHA512:
6
- metadata.gz: 42d6afcd7e29cea665780034dca057062c3311e7cea2117c8d6e5e7a17224276d255dc91a7ceb918cc22a782395a63e9c3975bdd5dac9e5566ad735dffc31507
7
- data.tar.gz: 8e50c7bdd187c325c76c22b1290938bbdbc84369d65b5f396730b184af5cda1549a623956bf9fa09b7b2d81edad93c60489fbb72546acc656ec265f5b8bac049
6
+ metadata.gz: 17439c255bc340863a3ea220021920a9ad4081bad08cfee2101ff618715fb21ddc6c8c1579826c53a7e05e41d85654c5a23de3be01678a85b8c842887fc611cd
7
+ data.tar.gz: 2e285f5737b24f5e1407a4f6112e25d73da1a055ba27fda7f97d60efaeccefea145455be97409c6f4b52f833234a3f0b2b8d445eb7c21699a2be20facce9422c
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 4.1.0
2
+
3
+ - Add Puma to dependencies ([#214](https://github.com/alphagov/govuk_app_config/pull/214)).
4
+
1
5
  # 4.0.1
2
6
 
3
7
  - Update Content Security Policy with new klick2contact.com subdomain ([#213](https://github.com/alphagov/govuk_app_config/pull/213)).
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = %w[lib]
22
22
 
23
23
  spec.add_dependency "logstasher", ">= 1.2.2", "< 2.2.0"
24
+ spec.add_dependency "puma", "~> 5.0"
24
25
  spec.add_dependency "sentry-rails", "~> 4.5.0"
25
26
  spec.add_dependency "sentry-ruby", "~> 4.5.0"
26
27
  spec.add_dependency "statsd-ruby", "~> 1.5.0"
@@ -0,0 +1,37 @@
1
+ module GovukPuma
2
+ def self.configure_rails(config)
3
+ config.port ENV.fetch("PORT", 3000)
4
+
5
+ config.environment ENV.fetch("RAILS_ENV", "development")
6
+
7
+ if ENV["GOVUK_APP_LOGROOT"]
8
+ config.stdout_redirect "#{ENV['GOVUK_APP_LOGROOT']}/app.out.log" "#{ENV['GOVUK_APP_LOGROOT']}/app.err.log"
9
+ end
10
+
11
+ # `worker_timeout` specifies how many seconds Puma will wait before terminating a worker.
12
+ timeout = ENV.fetch("RAILS_ENV", "development") == "development" ? 3600 : 15
13
+ config.worker_timeout timeout
14
+
15
+ # When changing the min/max threads for Puma, also consider changing ActiveRecord to match.
16
+ max_threads_count = ENV.fetch("RAILS_MAX_THREADS", 5)
17
+ min_threads_count = ENV.fetch("RAILS_MIN_THREADS", max_threads_count)
18
+ config.threads min_threads_count, max_threads_count
19
+
20
+ # `workers` specifies the number of worker processes that Puma will fork.
21
+ # The overall concurrency limit is worker count * max threads per worker.
22
+ config.workers ENV.fetch("WEB_CONCURRENCY", 2)
23
+
24
+ # `preload_app!` tells Puma to load application code before forking worker processes.
25
+ # This reduces RAM wastage by making better use of copy-on-write.
26
+ config.preload_app!
27
+
28
+ config.before_fork do |_server|
29
+ next unless ENV["GOVUK_APP_ROOT"]
30
+
31
+ ENV["BUNDLE_GEMFILE"] = "#{ENV['GOVUK_APP_ROOT']}/Gemfile"
32
+ end
33
+
34
+ # Allow puma to be restarted by `rails restart` command.
35
+ config.plugin :tmp_restart
36
+ end
37
+ end
@@ -1,3 +1,3 @@
1
1
  module GovukAppConfig
2
- VERSION = "4.0.1".freeze
2
+ VERSION = "4.1.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_app_config
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-06 00:00:00.000000000 Z
11
+ date: 2021-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logstasher
@@ -30,6 +30,20 @@ dependencies:
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.2.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: puma
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '5.0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '5.0'
33
47
  - !ruby/object:Gem::Dependency
34
48
  name: sentry-rails
35
49
  requirement: !ruby/object:Gem::Requirement
@@ -254,6 +268,7 @@ files:
254
268
  - lib/govuk_app_config/govuk_healthcheck/sidekiq_redis.rb
255
269
  - lib/govuk_app_config/govuk_i18n.rb
256
270
  - lib/govuk_app_config/govuk_logging.rb
271
+ - lib/govuk_app_config/govuk_puma.rb
257
272
  - lib/govuk_app_config/govuk_statsd.rb
258
273
  - lib/govuk_app_config/govuk_unicorn.rb
259
274
  - lib/govuk_app_config/rails_ext/action_dispatch/debug_exceptions.rb