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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 360dbfaafbf182d077a3d010a9b8f7aef892873a74dba9d5360225873bb3dd9e
4
- data.tar.gz: 57f5fdc1396bb897fb91497d49dfbe42e63e6d0ed4678484eff67ac9946160a8
3
+ metadata.gz: b7dcf56fdac303296683242e648f7d5870dffdc4d635bba94e248850c09e8012
4
+ data.tar.gz: 82db38cec99745be8126a12009baaae8358bb16b1c580bb6f6755fe4ffffd36f
5
5
  SHA512:
6
- metadata.gz: 592383166d00c61ac5691cc203545c95664bdbc16e5551db9a3df4ad549c197f22a1a49a59ee35a1839ed759ab4adcb2fb2f5bb0b6cd4d0ba4f42ac9b7530592
7
- data.tar.gz: 1122c8ac78c73e2d881510d34156d1b2b718433d5e72a2402e870dce15ebc15513391aa2ab136764b9908d2b8ac7cf298e4b0aa55e37dec06f8a3bea04c2bbe8
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", "~> VERSION"
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/master/hieradata/common.yaml). For example:
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/master/modules/govuk/manifests/apps/collections_publisher.pp).
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 your worker to the Procfile & Pinfile
73
+ ### 6. Add app to sidekiq-monitoring
76
74
 
77
- This makes sure that your development environment behaves like production.
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: GdsApi::GovukHeaders.headers[:x_govuk_authenticated_user],
26
- request_id: GdsApi::GovukHeaders.headers[:govuk_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["GOVUK_APP_NAME"] || app.root.basename.to_s,
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
@@ -1,3 +1,3 @@
1
1
  module GovukSidekiq
2
- VERSION = "5.0.0".freeze
2
+ VERSION = "7.0.0".freeze
3
3
  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: 5.0.0
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: 2021-01-19 00:00:00.000000000 Z
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: sidekiq-logging-json
70
+ name: climate_control
77
71
  requirement: !ruby/object:Gem::Requirement
78
72
  requirements:
79
73
  - - "~>"
80
74
  - !ruby/object:Gem::Version
81
- version: '0.0'
82
- type: :runtime
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: '0.0'
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: '5.0'
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: '5.0'
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: '12.3'
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: '12.3'
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: '0'
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: '0'
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: '2.6'
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.1.4
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.