govuk_sidekiq 4.0.0 → 6.0.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/README.md +7 -22
- data/lib/govuk_sidekiq/api_headers.rb +2 -2
- data/lib/govuk_sidekiq/railtie.rb +2 -11
- data/lib/govuk_sidekiq/sidekiq_initializer.rb +12 -4
- data/lib/govuk_sidekiq/version.rb +1 -1
- metadata +26 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b29995a70caf772608c804cddc8f38fedc0d79c5a02157a8c9d1c46576403fc
|
4
|
+
data.tar.gz: 660d8a260f5a175c4bea49e978eb2d302fad1d0a35672e2740770908e134f789
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c2ef5066358f76e4c6b4452bb452d498f8c4e7fe38363b570488457cbe3d8c687aec4fac3fee9c5a6208e9e8f57015b7e8ee6fc277246e7e1626b6dcd25c5f2
|
7
|
+
data.tar.gz: 9982cee079fc37d903726c2c6ef259d48884802fa410b071a07ae16d32f1169d0f5a7bba1d4484fac0836dfa9fbbf062f0afb8606e223f232f56851390423981
|
data/README.md
CHANGED
@@ -25,7 +25,7 @@ What does `govuk_sidekiq` do for you?
|
|
25
25
|
|
26
26
|
```ruby
|
27
27
|
# Gemfile
|
28
|
-
gem "govuk_sidekiq"
|
28
|
+
gem "govuk_sidekiq"
|
29
29
|
```
|
30
30
|
|
31
31
|
### 2. Add a Sidekiq config file
|
@@ -50,12 +50,10 @@ worker: bundle exec sidekiq -C ./config/sidekiq.yml
|
|
50
50
|
|
51
51
|
### 4. Configure puppet
|
52
52
|
|
53
|
-
- Set `
|
54
|
-
set, but this is already done by the default `govuk::app::config`.
|
55
|
-
requires more advanced connection settings (eg username and password) you can instead
|
56
|
-
set a `REDIS_URL` variable, this will take precidence over `REDIS_HOST` and `REDIS_PORT`.
|
53
|
+
- Set a `REDIS_URL` environment variable. `GOVUK_APP_NAME` should also be
|
54
|
+
set, but this is already done by the default `govuk::app::config`.
|
57
55
|
|
58
|
-
Apply redis variables for your app in [the default config](https://github.com/alphagov/govuk-puppet/blob/
|
56
|
+
Apply redis variables for your app in [the default config](https://github.com/alphagov/govuk-puppet/blob/main/hieradata_aws/common.yaml). For example:
|
59
57
|
|
60
58
|
```
|
61
59
|
govuk::apps::your_app::redis_host: "%{hiera('sidekiq_host')}"
|
@@ -63,7 +61,7 @@ set a `REDIS_URL` variable, this will take precidence over `REDIS_HOST` and `RED
|
|
63
61
|
```
|
64
62
|
- Make sure puppet creates and starts the Procfile worker.
|
65
63
|
|
66
|
-
There's no step-by-step guide for this, but [you can copy the config from collections-publisher](https://github.com/alphagov/govuk-puppet/blob/
|
64
|
+
There's no step-by-step guide for this, but [you can copy the config from collections-publisher](https://github.com/alphagov/govuk-puppet/blob/main/modules/govuk/manifests/apps/collections_publisher.pp).
|
67
65
|
|
68
66
|
### 5. Configure deployment scripts
|
69
67
|
|
@@ -74,18 +72,9 @@ Make sure you restart the worker after deploying by adding a hook to the [capist
|
|
74
72
|
after "deploy:restart", "deploy:restart_procfile_worker"
|
75
73
|
```
|
76
74
|
|
77
|
-
### 6. Add
|
75
|
+
### 6. Add app to sidekiq-monitoring
|
78
76
|
|
79
|
-
|
80
|
-
|
81
|
-
See the [Pinfile][] and [Procfile][] for examples.
|
82
|
-
|
83
|
-
[Pinfile]: https://github.com/alphagov/govuk-puppet/tree/master/development-vm/Pinfile
|
84
|
-
[Procfile]: https://github.com/alphagov/govuk-puppet/tree/master/development-vm/Procfile
|
85
|
-
|
86
|
-
### 7. Add app to sidekiq-monitoring
|
87
|
-
|
88
|
-
See the opsmanual for a step-by-step guide: [Add sidekiq-monitoring to your application][monitoring]
|
77
|
+
See the dev docs for a step-by-step guide: [Add sidekiq-monitoring to your application][monitoring]
|
89
78
|
|
90
79
|
[monitoring]: https://docs.publishing.service.gov.uk/manual/setting-up-new-sidekiq-monitoring-app.html
|
91
80
|
|
@@ -121,7 +110,3 @@ require 'govuk_sidekiq/testing'
|
|
121
110
|
## Licence
|
122
111
|
|
123
112
|
[MIT License](LICENCE)
|
124
|
-
|
125
|
-
## Versioning policy
|
126
|
-
|
127
|
-
See https://github.com/alphagov/styleguides/blob/master/rubygems.md#versioning
|
@@ -22,8 +22,8 @@ module GovukSidekiq
|
|
22
22
|
|
23
23
|
def header_arguments
|
24
24
|
{
|
25
|
-
authenticated_user
|
26
|
-
request_id
|
25
|
+
"authenticated_user" => GdsApi::GovukHeaders.headers[:x_govuk_authenticated_user],
|
26
|
+
"request_id" => GdsApi::GovukHeaders.headers[:govuk_request_id],
|
27
27
|
}
|
28
28
|
end
|
29
29
|
|
@@ -3,18 +3,9 @@ require "govuk_sidekiq/sidekiq_initializer"
|
|
3
3
|
module GovukSidekiq
|
4
4
|
class Railtie < Rails::Railtie
|
5
5
|
initializer "govuk_sidekiq.initialize_sidekiq" do |app|
|
6
|
-
config = if ENV["REDIS_URL"]
|
7
|
-
{ url: ENV["REDIS_URL"] }
|
8
|
-
else
|
9
|
-
{
|
10
|
-
host: ENV.fetch("REDIS_HOST", "127.0.0.1"),
|
11
|
-
port: ENV.fetch("REDIS_PORT", 6379),
|
12
|
-
}
|
13
|
-
end
|
14
|
-
|
15
6
|
SidekiqInitializer.setup_sidekiq(
|
16
|
-
ENV
|
17
|
-
|
7
|
+
ENV.fetch("GOVUK_APP_NAME", app.root.basename.to_s),
|
8
|
+
{ url: ENV.fetch("REDIS_URL", "redis://127.0.0.1:6379") },
|
18
9
|
)
|
19
10
|
end
|
20
11
|
end
|
@@ -1,18 +1,28 @@
|
|
1
1
|
require "sidekiq"
|
2
|
-
require "sidekiq/logging/json"
|
3
2
|
require "sidekiq-statsd"
|
4
3
|
require "govuk_sidekiq/api_headers"
|
5
4
|
require "govuk_app_config/govuk_statsd"
|
6
5
|
|
7
6
|
module GovukSidekiq
|
8
7
|
module SidekiqInitializer
|
9
|
-
def self.setup_sidekiq(govuk_app_name, redis_config)
|
8
|
+
def self.setup_sidekiq(govuk_app_name, redis_config = {})
|
10
9
|
redis_config = redis_config.merge(
|
11
10
|
namespace: govuk_app_name,
|
12
11
|
reconnect_attempts: 1,
|
13
12
|
)
|
14
13
|
|
15
14
|
Sidekiq.configure_server do |config|
|
15
|
+
config.log_formatter = Sidekiq::Logger::Formatters::JSON.new if ENV["GOVUK_SIDEKIQ_JSON_LOGGING"]
|
16
|
+
|
17
|
+
# $real_stdout is defined by govuk_app_config and is used to point to
|
18
|
+
# STDOUT as that redirects $stdout to actually be $stderr.
|
19
|
+
# When govuk_app_config does this we need to use $real_stdout to output logs to STDOUT.
|
20
|
+
# https://github.com/alphagov/govuk_app_config/blob/08fd9cf6a848615261b3cef021e34490ed72ee55/lib/govuk_app_config/govuk_logging.rb#L18-L24
|
21
|
+
|
22
|
+
# rubocop:disable Style/GlobalVars
|
23
|
+
config.logger = Sidekiq::Logger.new($real_stdout) if defined?($real_stdout)
|
24
|
+
# rubocop:enable Style/GlobalVars
|
25
|
+
|
16
26
|
config.redis = redis_config
|
17
27
|
|
18
28
|
config.server_middleware do |chain|
|
@@ -28,8 +38,6 @@ module GovukSidekiq
|
|
28
38
|
chain.add GovukSidekiq::APIHeaders::ClientMiddleware
|
29
39
|
end
|
30
40
|
end
|
31
|
-
|
32
|
-
Sidekiq.logger.formatter = Sidekiq::Logging::Json::Logger.new if Sidekiq.options[:logfile]
|
33
41
|
end
|
34
42
|
end
|
35
43
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govuk_sidekiq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GOV.UK Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gds-api-adapters
|
@@ -54,38 +54,18 @@ dependencies:
|
|
54
54
|
version: '1.6'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: sidekiq
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '5'
|
62
|
-
- - "<"
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: '6'
|
65
|
-
type: :runtime
|
66
|
-
prerelease: false
|
67
|
-
version_requirements: !ruby/object:Gem::Requirement
|
68
|
-
requirements:
|
69
|
-
- - ">="
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: '5'
|
72
|
-
- - "<"
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '6'
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: sidekiq-logging-json
|
77
57
|
requirement: !ruby/object:Gem::Requirement
|
78
58
|
requirements:
|
79
59
|
- - "~>"
|
80
60
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
61
|
+
version: '6'
|
82
62
|
type: :runtime
|
83
63
|
prerelease: false
|
84
64
|
version_requirements: !ruby/object:Gem::Requirement
|
85
65
|
requirements:
|
86
66
|
- - "~>"
|
87
67
|
- !ruby/object:Gem::Version
|
88
|
-
version: '
|
68
|
+
version: '6'
|
89
69
|
- !ruby/object:Gem::Dependency
|
90
70
|
name: sidekiq-statsd
|
91
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,75 +81,75 @@ dependencies:
|
|
101
81
|
- !ruby/object:Gem::Version
|
102
82
|
version: '2.1'
|
103
83
|
- !ruby/object:Gem::Dependency
|
104
|
-
name:
|
84
|
+
name: climate_control
|
105
85
|
requirement: !ruby/object:Gem::Requirement
|
106
86
|
requirements:
|
107
87
|
- - "~>"
|
108
88
|
- !ruby/object:Gem::Version
|
109
|
-
version: '
|
89
|
+
version: '1.2'
|
110
90
|
type: :development
|
111
91
|
prerelease: false
|
112
92
|
version_requirements: !ruby/object:Gem::Requirement
|
113
93
|
requirements:
|
114
94
|
- - "~>"
|
115
95
|
- !ruby/object:Gem::Version
|
116
|
-
version: '
|
96
|
+
version: '1.2'
|
117
97
|
- !ruby/object:Gem::Dependency
|
118
|
-
name:
|
98
|
+
name: railties
|
119
99
|
requirement: !ruby/object:Gem::Requirement
|
120
100
|
requirements:
|
121
101
|
- - "~>"
|
122
102
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
103
|
+
version: '7'
|
124
104
|
type: :development
|
125
105
|
prerelease: false
|
126
106
|
version_requirements: !ruby/object:Gem::Requirement
|
127
107
|
requirements:
|
128
108
|
- - "~>"
|
129
109
|
- !ruby/object:Gem::Version
|
130
|
-
version: '
|
110
|
+
version: '7'
|
131
111
|
- !ruby/object:Gem::Dependency
|
132
|
-
name:
|
112
|
+
name: rake
|
133
113
|
requirement: !ruby/object:Gem::Requirement
|
134
114
|
requirements:
|
135
|
-
- - "
|
115
|
+
- - ">="
|
136
116
|
- !ruby/object:Gem::Version
|
137
|
-
version: '
|
117
|
+
version: '0'
|
138
118
|
type: :development
|
139
119
|
prerelease: false
|
140
120
|
version_requirements: !ruby/object:Gem::Requirement
|
141
121
|
requirements:
|
142
|
-
- - "
|
122
|
+
- - ">="
|
143
123
|
- !ruby/object:Gem::Version
|
144
|
-
version: '
|
124
|
+
version: '0'
|
145
125
|
- !ruby/object:Gem::Dependency
|
146
|
-
name:
|
126
|
+
name: rspec
|
147
127
|
requirement: !ruby/object:Gem::Requirement
|
148
128
|
requirements:
|
149
|
-
- - "
|
129
|
+
- - "~>"
|
150
130
|
- !ruby/object:Gem::Version
|
151
|
-
version: '
|
131
|
+
version: '3.4'
|
152
132
|
type: :development
|
153
133
|
prerelease: false
|
154
134
|
version_requirements: !ruby/object:Gem::Requirement
|
155
135
|
requirements:
|
156
|
-
- - "
|
136
|
+
- - "~>"
|
157
137
|
- !ruby/object:Gem::Version
|
158
|
-
version: '
|
138
|
+
version: '3.4'
|
159
139
|
- !ruby/object:Gem::Dependency
|
160
140
|
name: rubocop-govuk
|
161
141
|
requirement: !ruby/object:Gem::Requirement
|
162
142
|
requirements:
|
163
|
-
- -
|
143
|
+
- - '='
|
164
144
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
145
|
+
version: 4.9.0
|
166
146
|
type: :development
|
167
147
|
prerelease: false
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
169
149
|
requirements:
|
170
|
-
- -
|
150
|
+
- - '='
|
171
151
|
- !ruby/object:Gem::Version
|
172
|
-
version:
|
152
|
+
version: 4.9.0
|
173
153
|
description:
|
174
154
|
email:
|
175
155
|
- govuk-dev@digital.cabinet-office.gov.uk
|
@@ -197,14 +177,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
197
177
|
requirements:
|
198
178
|
- - ">="
|
199
179
|
- !ruby/object:Gem::Version
|
200
|
-
version: '2.
|
180
|
+
version: '2.7'
|
201
181
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
202
182
|
requirements:
|
203
183
|
- - ">="
|
204
184
|
- !ruby/object:Gem::Version
|
205
185
|
version: '0'
|
206
186
|
requirements: []
|
207
|
-
rubygems_version: 3.
|
187
|
+
rubygems_version: 3.4.2
|
208
188
|
signing_key:
|
209
189
|
specification_version: 4
|
210
190
|
summary: Provides standard setup and behaviour for Sidekiq in GOV.UK applications.
|