govuk_app_config 2.1.2 → 2.4.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 +4 -4
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +22 -1
- data/Rakefile +6 -1
- data/docs/healthchecks.md +9 -18
- data/govuk_app_config.gemspec +3 -4
- data/lib/govuk_app_config/configure.rb +2 -2
- data/lib/govuk_app_config/govuk_content_security_policy.rb +9 -4
- data/lib/govuk_app_config/govuk_healthcheck.rb +4 -3
- data/lib/govuk_app_config/govuk_healthcheck/active_record.rb +1 -1
- data/lib/govuk_app_config/govuk_healthcheck/checkup.rb +1 -1
- data/lib/govuk_app_config/govuk_healthcheck/mongoid.rb +14 -0
- data/lib/govuk_app_config/govuk_healthcheck/rails_cache.rb +16 -0
- data/lib/govuk_app_config/govuk_healthcheck/sidekiq_queue_check.rb +3 -3
- data/lib/govuk_app_config/govuk_healthcheck/sidekiq_redis.rb +0 -1
- data/lib/govuk_app_config/govuk_logging.rb +13 -7
- data/lib/govuk_app_config/govuk_statsd.rb +2 -2
- data/lib/govuk_app_config/govuk_unicorn.rb +2 -1
- data/lib/govuk_app_config/rails_ext/action_dispatch/debug_exceptions.rb +52 -0
- data/lib/govuk_app_config/version.rb +1 -1
- metadata +33 -16
- data/lib/govuk_app_config/govuk_healthcheck/sidekiq_queue_size_check.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c0b9c8e27eb3dca58e8a3f69f8d450d40e8dd414955ed5813da2da0f354f065
|
4
|
+
data.tar.gz: 9b31177222e5d6379c0fef90c8877315bd4d287050de76c73bbd1f5850735e71
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ecd1be01ef33495bf0c7475aa41c79961ce6cff6b8fe450fbb8705843da4b4ed713cf6dc67d04e16f0a950ead32d8705cd20ae7aabaab33de76a2d626f8d80e0
|
7
|
+
data.tar.gz: e7af13588d6de9cd2ae2ba2e284001e1c6ff6f5cdf9f0fc07cc459905224aae076a5d4c25f1f208f6926f59717bf51328a27b3077f6d9c3bd358b61cb2659fdc
|
data/.rubocop.yml
ADDED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
# 2.4.0
|
2
|
+
|
3
|
+
* Add new GovukHealthcheck::Mongoid check
|
4
|
+
* Add new GovukHealthcheck::RailsCache check
|
5
|
+
|
6
|
+
# 2.3.0
|
7
|
+
|
8
|
+
* Remove unused SidekiqQueueSizeCheck healthcheck base class
|
9
|
+
|
10
|
+
# 2.2.2
|
11
|
+
|
12
|
+
* Add www.googletagmanager.com and www.gstatic.com to Content Security Policy (https://github.com/alphagov/govuk_app_config/pull/153)
|
13
|
+
|
14
|
+
# 2.2.1
|
15
|
+
|
16
|
+
* Fix linting issues (https://github.com/alphagov/govuk_app_config/pull/149)
|
17
|
+
|
18
|
+
# 2.2.0
|
19
|
+
|
20
|
+
* Monkey patch `ActionDispatch::DebugExceptions#log_error` so it logs errors on a single line (https://github.com/alphagov/govuk_app_config/pull/147)
|
21
|
+
|
1
22
|
# 2.1.2
|
2
23
|
|
3
24
|
* Add missing ActiveRecord rescue_responses (https://github.com/alphagov/govuk_app_config/pull/142)
|
@@ -242,7 +263,7 @@
|
|
242
263
|
* Add Unicorn (our web server) as a dependency
|
243
264
|
* Use version [2.7.0 of the Sentry client][sentry-270].
|
244
265
|
* Set up logging configuration for Rails applications.
|
245
|
-
* Don't send `ActionController::BadRequest`
|
266
|
+
* Don't send `ActionController::BadRequest`
|
246
267
|
|
247
268
|
[sentry-270]: https://github.com/getsentry/raven-ruby/commit/ef623824cb0a8a2f60be5fb7e12f80454da54fd7
|
248
269
|
|
data/Rakefile
CHANGED
data/docs/healthchecks.md
CHANGED
@@ -73,6 +73,15 @@ if it must be subclassed to work, but a concrete class which works on its own
|
|
73
73
|
doesn't need that suffix. You should aim to follow this convention in your own
|
74
74
|
apps, ideally putting custom health checks into a `Healthcheck` module.
|
75
75
|
|
76
|
+
### `RailsCache`
|
77
|
+
|
78
|
+
This checks that the Rails cache store, such as Memcached, is acessible by
|
79
|
+
writing and reading back a cache entry called "healthcheck-cache".
|
80
|
+
|
81
|
+
### `Mongoid`
|
82
|
+
|
83
|
+
This checks that the app has a connection to its Mongo database via Mongoid.
|
84
|
+
|
76
85
|
### `SidekiqRedis`
|
77
86
|
|
78
87
|
This checks that the app has a connection to Redis via Sidekiq.
|
@@ -128,24 +137,6 @@ class MySidekiqQueueLatencyCheck < GovukHealthcheck::SidekiqQueueLatencyCheck
|
|
128
137
|
end
|
129
138
|
```
|
130
139
|
|
131
|
-
### `SidekiqQueueSizeCheck`
|
132
|
-
|
133
|
-
This class is the basis for a check which compares the Sidekiq queue sizes
|
134
|
-
with warning or critical thresholds.
|
135
|
-
|
136
|
-
```ruby
|
137
|
-
class MySidekiqQueueSizeCheck < GovukHealthcheck::SidekiqQueueSizeCheck
|
138
|
-
def warning_threshold(queue:)
|
139
|
-
# the warning threshold for a particular queue
|
140
|
-
end
|
141
|
-
|
142
|
-
def critical_threshold(queue:)
|
143
|
-
# the critical threshold for a particular queue
|
144
|
-
end
|
145
|
-
end
|
146
|
-
```
|
147
|
-
|
148
|
-
|
149
140
|
### `SidekiqRetrySizeCheck`
|
150
141
|
|
151
142
|
Similar to `SidekiqQueueSizeCheck`, this class is the basis for a check which
|
data/govuk_app_config.gemspec
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
1
|
lib = File.expand_path("lib", __dir__)
|
4
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
3
|
require "govuk_app_config/version"
|
@@ -25,13 +23,14 @@ Gem::Specification.new do |spec|
|
|
25
23
|
spec.add_dependency "logstasher", ">= 1.2.2", "< 1.4.0"
|
26
24
|
spec.add_dependency "sentry-raven", ">= 2.7.1", "< 3.1.0"
|
27
25
|
spec.add_dependency "statsd-ruby", "~> 1.4.0"
|
28
|
-
spec.add_dependency "unicorn", ">= 5.4", "< 5.
|
26
|
+
spec.add_dependency "unicorn", ">= 5.4", "< 5.8"
|
29
27
|
|
30
|
-
spec.add_development_dependency "bundler", "~> 1.15"
|
31
28
|
spec.add_development_dependency "climate_control"
|
29
|
+
spec.add_development_dependency "rack-test", "~> 1.1.0"
|
32
30
|
spec.add_development_dependency "rails", "~> 6"
|
33
31
|
spec.add_development_dependency "rake", "~> 13.0"
|
34
32
|
spec.add_development_dependency "rspec", "~> 3.9.0"
|
35
33
|
spec.add_development_dependency "rspec-its", "~> 1.3.0"
|
34
|
+
spec.add_development_dependency "rubocop-govuk"
|
36
35
|
spec.add_development_dependency "webmock"
|
37
36
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
GovukError.configure do |config|
|
2
|
-
config.before_send =
|
2
|
+
config.before_send = proc { |e|
|
3
3
|
GovukStatsd.increment("errors_occurred")
|
4
4
|
GovukStatsd.increment("error_types.#{e.class.name.demodulize.underscore}")
|
5
5
|
e
|
@@ -43,7 +43,7 @@ GovukError.configure do |config|
|
|
43
43
|
# Rails will raise a ActionView::Template::Error, instead of the original error.
|
44
44
|
config.inspect_exception_causes_for_exclusion = true
|
45
45
|
|
46
|
-
config.transport_failure_callback =
|
46
|
+
config.transport_failure_callback = proc {
|
47
47
|
GovukStatsd.increment("error_reports_failed")
|
48
48
|
}
|
49
49
|
end
|
@@ -9,15 +9,18 @@ module GovukContentSecurityPolicy
|
|
9
9
|
# - https://cspvalidator.org
|
10
10
|
|
11
11
|
GOVUK_DOMAINS = [
|
12
|
-
|
12
|
+
"*.publishing.service.gov.uk",
|
13
13
|
"*.#{ENV['GOVUK_APP_DOMAIN_EXTERNAL'] || ENV['GOVUK_APP_DOMAIN'] || 'dev.gov.uk'}",
|
14
14
|
"www.gov.uk",
|
15
|
-
"*.dev.gov.uk"
|
15
|
+
"*.dev.gov.uk",
|
16
16
|
].uniq.freeze
|
17
17
|
|
18
|
-
GOOGLE_ANALYTICS_DOMAINS = %w
|
18
|
+
GOOGLE_ANALYTICS_DOMAINS = %w[www.google-analytics.com
|
19
19
|
ssl.google-analytics.com
|
20
|
-
stats.g.doubleclick.net
|
20
|
+
stats.g.doubleclick.net
|
21
|
+
www.googletagmanager.com].freeze
|
22
|
+
|
23
|
+
GOOGLE_STATIC_DOMAINS = %w[www.gstatic.com].freeze
|
21
24
|
|
22
25
|
def self.build_policy(policy)
|
23
26
|
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src
|
@@ -35,6 +38,7 @@ module GovukContentSecurityPolicy
|
|
35
38
|
policy.script_src :self,
|
36
39
|
*GOVUK_DOMAINS,
|
37
40
|
*GOOGLE_ANALYTICS_DOMAINS,
|
41
|
+
*GOOGLE_STATIC_DOMAINS,
|
38
42
|
# Allow JSONP call to Verify to check whether the user is logged in
|
39
43
|
"www.signin.service.gov.uk",
|
40
44
|
# Allow YouTube Embeds (Govspeak turns YouTube links into embeds)
|
@@ -51,6 +55,7 @@ module GovukContentSecurityPolicy
|
|
51
55
|
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src
|
52
56
|
policy.style_src :self,
|
53
57
|
*GOVUK_DOMAINS,
|
58
|
+
*GOOGLE_STATIC_DOMAINS,
|
54
59
|
# We use the `style=""` attribute on some HTML elements
|
55
60
|
:unsafe_inline
|
56
61
|
|
@@ -1,10 +1,11 @@
|
|
1
1
|
require "govuk_app_config/govuk_healthcheck/checkup"
|
2
2
|
require "govuk_app_config/govuk_healthcheck/active_record"
|
3
|
+
require "govuk_app_config/govuk_healthcheck/mongoid"
|
4
|
+
require "govuk_app_config/govuk_healthcheck/rails_cache"
|
3
5
|
require "govuk_app_config/govuk_healthcheck/sidekiq_redis"
|
4
6
|
require "govuk_app_config/govuk_healthcheck/threshold_check"
|
5
7
|
require "govuk_app_config/govuk_healthcheck/sidekiq_queue_check"
|
6
8
|
require "govuk_app_config/govuk_healthcheck/sidekiq_queue_latency_check"
|
7
|
-
require "govuk_app_config/govuk_healthcheck/sidekiq_queue_size_check"
|
8
9
|
require "govuk_app_config/govuk_healthcheck/sidekiq_retry_size_check"
|
9
10
|
require "json"
|
10
11
|
|
@@ -13,8 +14,8 @@ module GovukHealthcheck
|
|
13
14
|
proc do
|
14
15
|
[
|
15
16
|
200,
|
16
|
-
{"Content-Type" => "application/json"},
|
17
|
-
[JSON.dump(healthcheck(checks))]
|
17
|
+
{ "Content-Type" => "application/json" },
|
18
|
+
[JSON.dump(healthcheck(checks))],
|
18
19
|
]
|
19
20
|
end
|
20
21
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module GovukHealthcheck
|
2
|
+
class RailsCache
|
3
|
+
def name
|
4
|
+
:rails_cache
|
5
|
+
end
|
6
|
+
|
7
|
+
def status
|
8
|
+
::Rails.cache.write("healthcheck-cache", true)
|
9
|
+
raise unless ::Rails.cache.read("healthcheck-cache")
|
10
|
+
|
11
|
+
GovukHealthcheck::OK
|
12
|
+
rescue StandardError
|
13
|
+
GovukHealthcheck::CRITICAL
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -41,7 +41,7 @@ module GovukHealthcheck
|
|
41
41
|
thresholds: {
|
42
42
|
critical: critical_threshold(queue: name),
|
43
43
|
warning: warning_threshold(queue: name),
|
44
|
-
}.
|
44
|
+
}.reject { |_, val| val.to_f.infinite? || val.to_f.nan? },
|
45
45
|
}
|
46
46
|
end,
|
47
47
|
}
|
@@ -51,11 +51,11 @@ module GovukHealthcheck
|
|
51
51
|
raise "This method must be overriden to be a hash of queue names and data."
|
52
52
|
end
|
53
53
|
|
54
|
-
def critical_threshold(queue:)
|
54
|
+
def critical_threshold(queue:) # rubocop:disable Lint/UnusedMethodArgument
|
55
55
|
raise "This method must be overriden to be the critical threshold."
|
56
56
|
end
|
57
57
|
|
58
|
-
def warning_threshold(queue:)
|
58
|
+
def warning_threshold(queue:) # rubocop:disable Lint/UnusedMethodArgument
|
59
59
|
raise "This method must be overriden to be the warning threshold."
|
60
60
|
end
|
61
61
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "logstasher"
|
2
|
+
require "action_controller"
|
3
|
+
require_relative "rails_ext/action_dispatch/debug_exceptions"
|
3
4
|
|
4
5
|
module GovukLogging
|
5
6
|
def self.configure
|
@@ -13,8 +14,11 @@ module GovukLogging
|
|
13
14
|
#
|
14
15
|
# To resolve this we've directed stdout to stderr, to cover any Rails
|
15
16
|
# writing. This frees up the normal stdout for the logstasher logs.
|
17
|
+
|
18
|
+
# rubocop:disable Style/GlobalVars
|
16
19
|
$real_stdout = $stdout.clone
|
17
20
|
$stdout.reopen($stderr)
|
21
|
+
# rubocop:enable Style/GlobalVars
|
18
22
|
|
19
23
|
# Send Rails' logs to STDERR because they're not JSON formatted.
|
20
24
|
Rails.logger = ActiveSupport::TaggedLogging.new(Logger.new($stderr, level: Rails.logger.level))
|
@@ -22,7 +26,7 @@ module GovukLogging
|
|
22
26
|
# Custom that will be added to the Rails request logs
|
23
27
|
LogStasher.add_custom_fields do |fields|
|
24
28
|
# Mirrors Nginx request logging, e.g GET /path/here HTTP/1.1
|
25
|
-
fields[:request] = "#{request.request_method} #{request.fullpath} #{request.headers[
|
29
|
+
fields[:request] = "#{request.request_method} #{request.fullpath} #{request.headers['SERVER_PROTOCOL']}"
|
26
30
|
|
27
31
|
# Pass request Id to logging
|
28
32
|
fields[:govuk_request_id] = request.headers["GOVUK-Request-Id"]
|
@@ -44,13 +48,13 @@ module GovukLogging
|
|
44
48
|
Rails.application.config.logstasher.job_enabled = false
|
45
49
|
|
46
50
|
Rails.application.config.logstasher.logger = Logger.new(
|
47
|
-
$real_stdout,
|
51
|
+
$real_stdout, # rubocop:disable Style/GlobalVars
|
48
52
|
level: Rails.logger.level,
|
49
53
|
formatter: proc { |_severity, _datetime, _progname, msg|
|
50
|
-
"#{String
|
51
|
-
}
|
54
|
+
"#{msg.is_a?(String) ? msg : msg.inspect}\n"
|
55
|
+
},
|
52
56
|
)
|
53
|
-
Rails.application.config.logstasher.
|
57
|
+
Rails.application.config.logstasher.suppress_app_log = true
|
54
58
|
|
55
59
|
if defined?(GdsApi::Base)
|
56
60
|
GdsApi::Base.default_options ||= {}
|
@@ -61,5 +65,7 @@ module GovukLogging
|
|
61
65
|
GdsApi::Base.default_options[:logger] =
|
62
66
|
Rails.application.config.logstasher.logger
|
63
67
|
end
|
68
|
+
|
69
|
+
RailsExt::ActionDispatch.monkey_patch_log_error if RailsExt::ActionDispatch.should_monkey_patch_log_error?
|
64
70
|
end
|
65
71
|
end
|
@@ -4,10 +4,10 @@ require "forwardable"
|
|
4
4
|
module GovukStatsd
|
5
5
|
extend SingleForwardable
|
6
6
|
def_delegators :client, :increment, :decrement, :count, :time, :timing,
|
7
|
-
|
7
|
+
:gauge, :set, :batch
|
8
8
|
|
9
9
|
def self.client
|
10
|
-
@
|
10
|
+
@client ||= begin
|
11
11
|
statsd_client = ::Statsd.new("localhost")
|
12
12
|
statsd_client.namespace = ENV["GOVUK_STATSD_PREFIX"].to_s
|
13
13
|
statsd_client
|
@@ -9,8 +9,9 @@ module GovukUnicorn
|
|
9
9
|
config.stderr_path "#{ENV['GOVUK_APP_LOGROOT']}/app.err.log"
|
10
10
|
end
|
11
11
|
|
12
|
-
config.before_exec do |
|
12
|
+
config.before_exec do |_server|
|
13
13
|
next unless ENV["GOVUK_APP_ROOT"]
|
14
|
+
|
14
15
|
ENV["BUNDLE_GEMFILE"] = "#{ENV['GOVUK_APP_ROOT']}/Gemfile"
|
15
16
|
end
|
16
17
|
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require "action_dispatch/middleware/debug_exceptions"
|
2
|
+
|
3
|
+
module GovukLogging
|
4
|
+
module RailsExt
|
5
|
+
module ActionDispatch
|
6
|
+
def self.should_monkey_patch_log_error?(clazz = ::ActionDispatch::DebugExceptions)
|
7
|
+
empty_instance = clazz.new nil
|
8
|
+
target_method = empty_instance.method :log_error
|
9
|
+
|
10
|
+
expected_parameters = [%i[req request], %i[req wrapper]]
|
11
|
+
actual_parameters = target_method.parameters
|
12
|
+
|
13
|
+
should_monkey_patch = actual_parameters == expected_parameters
|
14
|
+
|
15
|
+
unless should_monkey_patch
|
16
|
+
Rails.logger.warn "Refused to monkey patch ::ActionDispatch::DebugExceptions#log_error - " \
|
17
|
+
"signatures do not match. " \
|
18
|
+
"Expected #{expected_parameters}, but got #{actual_parameters}"
|
19
|
+
end
|
20
|
+
|
21
|
+
should_monkey_patch
|
22
|
+
rescue StandardError => e
|
23
|
+
Rails.logger.warn "Failed to detect whether to monkey patch " \
|
24
|
+
"::ActionDispatch::DebugExceptions#log_error - #{e.inspect}"
|
25
|
+
false
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.monkey_patch_log_error(clazz = ::ActionDispatch::DebugExceptions)
|
29
|
+
clazz.class_eval do
|
30
|
+
private
|
31
|
+
|
32
|
+
def log_error(request, wrapper)
|
33
|
+
logger = logger(request)
|
34
|
+
|
35
|
+
return unless logger
|
36
|
+
|
37
|
+
exception = wrapper.exception
|
38
|
+
|
39
|
+
trace = wrapper.application_trace
|
40
|
+
trace = wrapper.framework_trace if trace.empty?
|
41
|
+
|
42
|
+
logger.fatal({
|
43
|
+
exception_class: exception.class.to_s,
|
44
|
+
exception_message: exception.message,
|
45
|
+
stacktrace: trace,
|
46
|
+
}.to_json)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
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: 2.
|
4
|
+
version: 2.4.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: 2020-
|
11
|
+
date: 2020-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logstasher
|
@@ -73,7 +73,7 @@ dependencies:
|
|
73
73
|
version: '5.4'
|
74
74
|
- - "<"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: '5.
|
76
|
+
version: '5.8'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -83,35 +83,35 @@ dependencies:
|
|
83
83
|
version: '5.4'
|
84
84
|
- - "<"
|
85
85
|
- !ruby/object:Gem::Version
|
86
|
-
version: '5.
|
86
|
+
version: '5.8'
|
87
87
|
- !ruby/object:Gem::Dependency
|
88
|
-
name:
|
88
|
+
name: climate_control
|
89
89
|
requirement: !ruby/object:Gem::Requirement
|
90
90
|
requirements:
|
91
|
-
- - "
|
91
|
+
- - ">="
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
version: '
|
93
|
+
version: '0'
|
94
94
|
type: :development
|
95
95
|
prerelease: false
|
96
96
|
version_requirements: !ruby/object:Gem::Requirement
|
97
97
|
requirements:
|
98
|
-
- - "
|
98
|
+
- - ">="
|
99
99
|
- !ruby/object:Gem::Version
|
100
|
-
version: '
|
100
|
+
version: '0'
|
101
101
|
- !ruby/object:Gem::Dependency
|
102
|
-
name:
|
102
|
+
name: rack-test
|
103
103
|
requirement: !ruby/object:Gem::Requirement
|
104
104
|
requirements:
|
105
|
-
- - "
|
105
|
+
- - "~>"
|
106
106
|
- !ruby/object:Gem::Version
|
107
|
-
version:
|
107
|
+
version: 1.1.0
|
108
108
|
type: :development
|
109
109
|
prerelease: false
|
110
110
|
version_requirements: !ruby/object:Gem::Requirement
|
111
111
|
requirements:
|
112
|
-
- - "
|
112
|
+
- - "~>"
|
113
113
|
- !ruby/object:Gem::Version
|
114
|
-
version:
|
114
|
+
version: 1.1.0
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
116
|
name: rails
|
117
117
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,6 +168,20 @@ dependencies:
|
|
168
168
|
- - "~>"
|
169
169
|
- !ruby/object:Gem::Version
|
170
170
|
version: 1.3.0
|
171
|
+
- !ruby/object:Gem::Dependency
|
172
|
+
name: rubocop-govuk
|
173
|
+
requirement: !ruby/object:Gem::Requirement
|
174
|
+
requirements:
|
175
|
+
- - ">="
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
version: '0'
|
178
|
+
type: :development
|
179
|
+
prerelease: false
|
180
|
+
version_requirements: !ruby/object:Gem::Requirement
|
181
|
+
requirements:
|
182
|
+
- - ">="
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
version: '0'
|
171
185
|
- !ruby/object:Gem::Dependency
|
172
186
|
name: webmock
|
173
187
|
requirement: !ruby/object:Gem::Requirement
|
@@ -191,6 +205,7 @@ extra_rdoc_files: []
|
|
191
205
|
files:
|
192
206
|
- ".gitignore"
|
193
207
|
- ".rspec"
|
208
|
+
- ".rubocop.yml"
|
194
209
|
- ".ruby-version"
|
195
210
|
- CHANGELOG.md
|
196
211
|
- Gemfile
|
@@ -209,15 +224,17 @@ files:
|
|
209
224
|
- lib/govuk_app_config/govuk_healthcheck.rb
|
210
225
|
- lib/govuk_app_config/govuk_healthcheck/active_record.rb
|
211
226
|
- lib/govuk_app_config/govuk_healthcheck/checkup.rb
|
227
|
+
- lib/govuk_app_config/govuk_healthcheck/mongoid.rb
|
228
|
+
- lib/govuk_app_config/govuk_healthcheck/rails_cache.rb
|
212
229
|
- lib/govuk_app_config/govuk_healthcheck/sidekiq_queue_check.rb
|
213
230
|
- lib/govuk_app_config/govuk_healthcheck/sidekiq_queue_latency_check.rb
|
214
|
-
- lib/govuk_app_config/govuk_healthcheck/sidekiq_queue_size_check.rb
|
215
231
|
- lib/govuk_app_config/govuk_healthcheck/sidekiq_redis.rb
|
216
232
|
- lib/govuk_app_config/govuk_healthcheck/sidekiq_retry_size_check.rb
|
217
233
|
- lib/govuk_app_config/govuk_healthcheck/threshold_check.rb
|
218
234
|
- lib/govuk_app_config/govuk_logging.rb
|
219
235
|
- lib/govuk_app_config/govuk_statsd.rb
|
220
236
|
- lib/govuk_app_config/govuk_unicorn.rb
|
237
|
+
- lib/govuk_app_config/rails_ext/action_dispatch/debug_exceptions.rb
|
221
238
|
- lib/govuk_app_config/railtie.rb
|
222
239
|
- lib/govuk_app_config/version.rb
|
223
240
|
homepage: https://github.com/alphagov/govuk_app_config
|
@@ -239,7 +256,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
239
256
|
- !ruby/object:Gem::Version
|
240
257
|
version: '0'
|
241
258
|
requirements: []
|
242
|
-
rubygems_version: 3.
|
259
|
+
rubygems_version: 3.1.4
|
243
260
|
signing_key:
|
244
261
|
specification_version: 4
|
245
262
|
summary: Base configuration for GOV.UK applications
|