govuk_app_config 4.8.0 → 4.9.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c84b163006231db6d8f341b3083b366fdf7d114cf4f67aaa4be852d7f376d854
4
- data.tar.gz: 122d0c3cf3d370effd13d844184a9441ec4f8ec7caaab6ca73b0d0049583ffb7
3
+ metadata.gz: 6bd7b3d518724177cecd7e83f08a93be2294cb0125ab91c70cf7dd07bf58dd48
4
+ data.tar.gz: 78debe718523a1111d55a237c718fc629449d898cc2a9de42655c7c4d1befc97
5
5
  SHA512:
6
- metadata.gz: 05e999f65208c0e8967dcc8a71b06faa9969fa8d9c974501f8d9b899ceee1b5ddfa57242f357c8299ca0e9137c949d5ffa6fd418a57cfe7cb8b9152b57b84311
7
- data.tar.gz: daff1bad6a9d6c0c558b1c6c1039c1fc8b98e66e081f847e14b49fd3bcfc5ac12e93902eaf5dc671a0ac72eeb0562868896fd8f6f1ef001e5807afc0adf5a751
6
+ metadata.gz: 3613784ff88b23b7a5985356a7d74ac27322c14a0c2515969b0b80ae6679f422c02104b2cdd46286038fca9d9ce95a09d348c6aea231d4c3639883080bc2142a
7
+ data.tar.gz: b006723e41e94e494da94ecbc7a99a61a17e42d213715f75e8255affa54fffbb6d3384db32f20966a4013765735093dcec83eab5785676f262c14dad4638d1d2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 4.9.0
2
+
3
+ - Add GovukProxy::StaticProxy to forward Static asset requests by setting `GOVUK_PROXY_STATIC_ENABLED=true`.([#261](https://github.com/alphagov/govuk_app_config/pull/261))
4
+
1
5
  # 4.8.0
2
6
 
3
7
  - Enables Sentry environment names for EKS versions of integration, staging and production.([#260](https://github.com/alphagov/govuk_app_config/pull/260))
@@ -21,8 +21,10 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = %w[lib]
22
22
 
23
23
  spec.add_dependency "logstasher", "~> 2.1"
24
+ spec.add_dependency "plek", "~> 4"
24
25
  spec.add_dependency "prometheus_exporter", "~> 2.0"
25
26
  spec.add_dependency "puma", "~> 5.6"
27
+ spec.add_dependency "rack-proxy", "~> 0.7"
26
28
  spec.add_dependency "sentry-rails", "~> 5.3"
27
29
  spec.add_dependency "sentry-ruby", "~> 5.3"
28
30
  spec.add_dependency "statsd-ruby", "~> 1.5"
@@ -35,6 +37,6 @@ Gem::Specification.new do |spec|
35
37
  spec.add_development_dependency "rake", "~> 13.0"
36
38
  spec.add_development_dependency "rspec", "~> 3.10"
37
39
  spec.add_development_dependency "rspec-its", "~> 1.3"
38
- spec.add_development_dependency "rubocop-govuk", "4.6.0"
40
+ spec.add_development_dependency "rubocop-govuk", "4.7.0"
39
41
  spec.add_development_dependency "webmock"
40
42
  end
@@ -0,0 +1,19 @@
1
+ require "rack-proxy"
2
+
3
+ module GovukProxy
4
+ class StaticProxy < Rack::Proxy
5
+ def perform_request(env)
6
+ request = Rack::Request.new(env)
7
+
8
+ # use rack proxy to forward any requests for /assets/static/*
9
+ # this regex needs to match the path set for `Rails.application.config.assets.prefix` in Static
10
+ # https://github.com/alphagov/static/blob/main/config/initializers/assets.rb
11
+ if request.path =~ %r{^/assets/static/}
12
+ env["HTTP_HOST"] = @backend.host
13
+ super(env)
14
+ else
15
+ @app.call(env)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,5 +1,14 @@
1
+ require "plek"
2
+
1
3
  module GovukAppConfig
2
4
  class Railtie < Rails::Railtie
5
+ initializer "govuk_app_config.configure_govuk_proxy" do |app|
6
+ if ENV["GOVUK_PROXY_STATIC_ENABLED"] == "true"
7
+ static_url = Plek.new.find("static")
8
+ app.middleware.use GovukProxy::StaticProxy, backend: static_url
9
+ end
10
+ end
11
+
3
12
  config.before_initialize do
4
13
  GovukLogging.configure if Rails.env.production?
5
14
  end
@@ -1,3 +1,3 @@
1
1
  module GovukAppConfig
2
- VERSION = "4.8.0".freeze
2
+ VERSION = "4.9.0".freeze
3
3
  end
@@ -1,6 +1,7 @@
1
1
  require "govuk_app_config/version"
2
2
  require "govuk_app_config/govuk_statsd"
3
3
  require "govuk_app_config/govuk_error"
4
+ require "govuk_app_config/govuk_proxy/static_proxy"
4
5
  require "govuk_app_config/govuk_healthcheck"
5
6
  require "govuk_app_config/govuk_i18n"
6
7
  # This require is deprecated and should be removed on next major version bump
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.8.0
4
+ version: 4.9.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: 2022-08-19 00:00:00.000000000 Z
11
+ date: 2022-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logstasher
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: plek
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '4'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '4'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: prometheus_exporter
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +66,20 @@ dependencies:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
68
  version: '5.6'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rack-proxy
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.7'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.7'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: sentry-rails
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +240,14 @@ dependencies:
212
240
  requirements:
213
241
  - - '='
214
242
  - !ruby/object:Gem::Version
215
- version: 4.6.0
243
+ version: 4.7.0
216
244
  type: :development
217
245
  prerelease: false
218
246
  version_requirements: !ruby/object:Gem::Requirement
219
247
  requirements:
220
248
  - - '='
221
249
  - !ruby/object:Gem::Version
222
- version: 4.6.0
250
+ version: 4.7.0
223
251
  - !ruby/object:Gem::Dependency
224
252
  name: webmock
225
253
  requirement: !ruby/object:Gem::Requirement
@@ -271,6 +299,7 @@ files:
271
299
  - lib/govuk_app_config/govuk_i18n.rb
272
300
  - lib/govuk_app_config/govuk_logging.rb
273
301
  - lib/govuk_app_config/govuk_prometheus_exporter.rb
302
+ - lib/govuk_app_config/govuk_proxy/static_proxy.rb
274
303
  - lib/govuk_app_config/govuk_puma.rb
275
304
  - lib/govuk_app_config/govuk_statsd.rb
276
305
  - lib/govuk_app_config/govuk_unicorn.rb
@@ -296,7 +325,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
296
325
  - !ruby/object:Gem::Version
297
326
  version: '0'
298
327
  requirements: []
299
- rubygems_version: 3.3.20
328
+ rubygems_version: 3.3.21
300
329
  signing_key:
301
330
  specification_version: 4
302
331
  summary: Base configuration for GOV.UK applications