govuk_sidekiq 5.0.0 → 7.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 +5 -20
- data/lib/govuk_sidekiq/api_headers.rb +2 -2
- data/lib/govuk_sidekiq/railtie.rb +1 -1
- data/lib/govuk_sidekiq/sidekiq_initializer.rb +11 -6
- data/lib/govuk_sidekiq/version.rb +1 -1
- metadata +20 -54
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7dcf56fdac303296683242e648f7d5870dffdc4d635bba94e248850c09e8012
|
4
|
+
data.tar.gz: 82db38cec99745be8126a12009baaae8358bb16b1c580bb6f6755fe4ffffd36f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8cce38baca997da9cf804ebe2a1021fd29f7f8a5a9b770b3eef02167bfd308d09cb1ce82e262be7c83e83a4fce54dbef7cb42b5dd89fb6aaf9e914671d7e18a0
|
7
|
+
data.tar.gz: 7905fdb2c6b155fdbaf539df1d8b27539758641173475512c93370832eb1131fd2aee23e42c54d984c5b8e28d711779f036af65d550d779d4c80fa0e2f8c8f89
|
data/README.md
CHANGED
@@ -14,8 +14,6 @@ What does `govuk_sidekiq` do for you?
|
|
14
14
|
[Read more about request tracing][req-tracing].
|
15
15
|
3. Makes sure that we use JSON logging, so that Sidekiq logs will end up
|
16
16
|
properly in Kibana.
|
17
|
-
4. Sends activity stats to Statsd, so that you can make pretty graphs of activity
|
18
|
-
in Grafana or Graphite. See the [Rummager dashboards for an example](https://grafana.publishing.service.gov.uk/dashboard/file/rummager_queues.json).
|
19
17
|
|
20
18
|
[req-tracing]: https://docs.publishing.service.gov.uk/manual/setting-up-request-tracing.html
|
21
19
|
|
@@ -25,7 +23,7 @@ What does `govuk_sidekiq` do for you?
|
|
25
23
|
|
26
24
|
```ruby
|
27
25
|
# Gemfile
|
28
|
-
gem "govuk_sidekiq"
|
26
|
+
gem "govuk_sidekiq"
|
29
27
|
```
|
30
28
|
|
31
29
|
### 2. Add a Sidekiq config file
|
@@ -53,7 +51,7 @@ worker: bundle exec sidekiq -C ./config/sidekiq.yml
|
|
53
51
|
- Set a `REDIS_URL` environment variable. `GOVUK_APP_NAME` should also be
|
54
52
|
set, but this is already done by the default `govuk::app::config`.
|
55
53
|
|
56
|
-
Apply redis variables for your app in [the default config](https://github.com/alphagov/govuk-puppet/blob/
|
54
|
+
Apply redis variables for your app in [the default config](https://github.com/alphagov/govuk-puppet/blob/main/hieradata_aws/common.yaml). For example:
|
57
55
|
|
58
56
|
```
|
59
57
|
govuk::apps::your_app::redis_host: "%{hiera('sidekiq_host')}"
|
@@ -61,7 +59,7 @@ set, but this is already done by the default `govuk::app::config`.
|
|
61
59
|
```
|
62
60
|
- Make sure puppet creates and starts the Procfile worker.
|
63
61
|
|
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/
|
62
|
+
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).
|
65
63
|
|
66
64
|
### 5. Configure deployment scripts
|
67
65
|
|
@@ -72,18 +70,9 @@ Make sure you restart the worker after deploying by adding a hook to the [capist
|
|
72
70
|
after "deploy:restart", "deploy:restart_procfile_worker"
|
73
71
|
```
|
74
72
|
|
75
|
-
### 6. Add
|
73
|
+
### 6. Add app to sidekiq-monitoring
|
76
74
|
|
77
|
-
|
78
|
-
|
79
|
-
See the [Pinfile][] and [Procfile][] for examples.
|
80
|
-
|
81
|
-
[Pinfile]: https://github.com/alphagov/govuk-puppet/tree/master/development-vm/Pinfile
|
82
|
-
[Procfile]: https://github.com/alphagov/govuk-puppet/tree/master/development-vm/Procfile
|
83
|
-
|
84
|
-
### 7. Add app to sidekiq-monitoring
|
85
|
-
|
86
|
-
See the opsmanual for a step-by-step guide: [Add sidekiq-monitoring to your application][monitoring]
|
75
|
+
See the dev docs for a step-by-step guide: [Add sidekiq-monitoring to your application][monitoring]
|
87
76
|
|
88
77
|
[monitoring]: https://docs.publishing.service.gov.uk/manual/setting-up-new-sidekiq-monitoring-app.html
|
89
78
|
|
@@ -119,7 +108,3 @@ require 'govuk_sidekiq/testing'
|
|
119
108
|
## Licence
|
120
109
|
|
121
110
|
[MIT License](LICENCE)
|
122
|
-
|
123
|
-
## Versioning policy
|
124
|
-
|
125
|
-
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
|
|
@@ -4,7 +4,7 @@ module GovukSidekiq
|
|
4
4
|
class Railtie < Rails::Railtie
|
5
5
|
initializer "govuk_sidekiq.initialize_sidekiq" do |app|
|
6
6
|
SidekiqInitializer.setup_sidekiq(
|
7
|
-
ENV
|
7
|
+
ENV.fetch("GOVUK_APP_NAME", app.root.basename.to_s),
|
8
8
|
{ url: ENV.fetch("REDIS_URL", "redis://127.0.0.1:6379") },
|
9
9
|
)
|
10
10
|
end
|
@@ -1,8 +1,5 @@
|
|
1
1
|
require "sidekiq"
|
2
|
-
require "sidekiq/logging/json"
|
3
|
-
require "sidekiq-statsd"
|
4
2
|
require "govuk_sidekiq/api_headers"
|
5
|
-
require "govuk_app_config/govuk_statsd"
|
6
3
|
|
7
4
|
module GovukSidekiq
|
8
5
|
module SidekiqInitializer
|
@@ -13,10 +10,20 @@ module GovukSidekiq
|
|
13
10
|
)
|
14
11
|
|
15
12
|
Sidekiq.configure_server do |config|
|
13
|
+
config.log_formatter = Sidekiq::Logger::Formatters::JSON.new if ENV["GOVUK_SIDEKIQ_JSON_LOGGING"]
|
14
|
+
|
15
|
+
# $real_stdout is defined by govuk_app_config and is used to point to
|
16
|
+
# STDOUT as that redirects $stdout to actually be $stderr.
|
17
|
+
# When govuk_app_config does this we need to use $real_stdout to output logs to STDOUT.
|
18
|
+
# https://github.com/alphagov/govuk_app_config/blob/08fd9cf6a848615261b3cef021e34490ed72ee55/lib/govuk_app_config/govuk_logging.rb#L18-L24
|
19
|
+
|
20
|
+
# rubocop:disable Style/GlobalVars
|
21
|
+
config.logger = Sidekiq::Logger.new($real_stdout) if defined?($real_stdout)
|
22
|
+
# rubocop:enable Style/GlobalVars
|
23
|
+
|
16
24
|
config.redis = redis_config
|
17
25
|
|
18
26
|
config.server_middleware do |chain|
|
19
|
-
chain.add Sidekiq::Statsd::ServerMiddleware, statsd: GovukStatsd, env: nil, prefix: "workers"
|
20
27
|
chain.add GovukSidekiq::APIHeaders::ServerMiddleware
|
21
28
|
end
|
22
29
|
end
|
@@ -28,8 +35,6 @@ module GovukSidekiq
|
|
28
35
|
chain.add GovukSidekiq::APIHeaders::ClientMiddleware
|
29
36
|
end
|
30
37
|
end
|
31
|
-
|
32
|
-
Sidekiq.logger.formatter = Sidekiq::Logging::Json::Logger.new if Sidekiq.options[:logfile]
|
33
38
|
end
|
34
39
|
end
|
35
40
|
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: 7.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-05-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gds-api-adapters
|
@@ -56,78 +56,58 @@ dependencies:
|
|
56
56
|
name: sidekiq
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '5'
|
62
|
-
- - "<"
|
59
|
+
- - "~>"
|
63
60
|
- !ruby/object:Gem::Version
|
64
61
|
version: '6'
|
65
62
|
type: :runtime
|
66
63
|
prerelease: false
|
67
64
|
version_requirements: !ruby/object:Gem::Requirement
|
68
65
|
requirements:
|
69
|
-
- - "
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: '5'
|
72
|
-
- - "<"
|
66
|
+
- - "~>"
|
73
67
|
- !ruby/object:Gem::Version
|
74
68
|
version: '6'
|
75
69
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
70
|
+
name: climate_control
|
77
71
|
requirement: !ruby/object:Gem::Requirement
|
78
72
|
requirements:
|
79
73
|
- - "~>"
|
80
74
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
82
|
-
type: :
|
75
|
+
version: '1.2'
|
76
|
+
type: :development
|
83
77
|
prerelease: false
|
84
78
|
version_requirements: !ruby/object:Gem::Requirement
|
85
79
|
requirements:
|
86
80
|
- - "~>"
|
87
81
|
- !ruby/object:Gem::Version
|
88
|
-
version: '
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: sidekiq-statsd
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - ">="
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '2.1'
|
96
|
-
type: :runtime
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - ">="
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '2.1'
|
82
|
+
version: '1.2'
|
103
83
|
- !ruby/object:Gem::Dependency
|
104
84
|
name: railties
|
105
85
|
requirement: !ruby/object:Gem::Requirement
|
106
86
|
requirements:
|
107
87
|
- - "~>"
|
108
88
|
- !ruby/object:Gem::Version
|
109
|
-
version: '
|
89
|
+
version: '7'
|
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: '7'
|
117
97
|
- !ruby/object:Gem::Dependency
|
118
98
|
name: rake
|
119
99
|
requirement: !ruby/object:Gem::Requirement
|
120
100
|
requirements:
|
121
|
-
- - "
|
101
|
+
- - ">="
|
122
102
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
103
|
+
version: '0'
|
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: '0'
|
131
111
|
- !ruby/object:Gem::Dependency
|
132
112
|
name: rspec
|
133
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,34 +122,20 @@ dependencies:
|
|
142
122
|
- - "~>"
|
143
123
|
- !ruby/object:Gem::Version
|
144
124
|
version: '3.4'
|
145
|
-
- !ruby/object:Gem::Dependency
|
146
|
-
name: bundler
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - ">="
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: '1.10'
|
152
|
-
type: :development
|
153
|
-
prerelease: false
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
requirements:
|
156
|
-
- - ">="
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: '1.10'
|
159
125
|
- !ruby/object:Gem::Dependency
|
160
126
|
name: rubocop-govuk
|
161
127
|
requirement: !ruby/object:Gem::Requirement
|
162
128
|
requirements:
|
163
|
-
- -
|
129
|
+
- - '='
|
164
130
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
131
|
+
version: 4.10.0
|
166
132
|
type: :development
|
167
133
|
prerelease: false
|
168
134
|
version_requirements: !ruby/object:Gem::Requirement
|
169
135
|
requirements:
|
170
|
-
- -
|
136
|
+
- - '='
|
171
137
|
- !ruby/object:Gem::Version
|
172
|
-
version:
|
138
|
+
version: 4.10.0
|
173
139
|
description:
|
174
140
|
email:
|
175
141
|
- govuk-dev@digital.cabinet-office.gov.uk
|
@@ -197,14 +163,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
197
163
|
requirements:
|
198
164
|
- - ">="
|
199
165
|
- !ruby/object:Gem::Version
|
200
|
-
version: '
|
166
|
+
version: '3.0'
|
201
167
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
202
168
|
requirements:
|
203
169
|
- - ">="
|
204
170
|
- !ruby/object:Gem::Version
|
205
171
|
version: '0'
|
206
172
|
requirements: []
|
207
|
-
rubygems_version: 3.
|
173
|
+
rubygems_version: 3.4.13
|
208
174
|
signing_key:
|
209
175
|
specification_version: 4
|
210
176
|
summary: Provides standard setup and behaviour for Sidekiq in GOV.UK applications.
|