govuk_app_config 4.8.0 → 4.9.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: 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