http_health_check 0.4.1 → 1.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: dbcda1b1c0dfb9f27c203567ceb3e903904200cf08b6b52cc89af26e34be8ab9
4
- data.tar.gz: 026fe60fa05456d2cc14551964a2ff4057b010712bfbec84b67c0d171972eb9c
3
+ metadata.gz: c44fb8689fc6d389a04a16def9b1be4f3807d229469de0aa7c4ecff6e15ec4bd
4
+ data.tar.gz: bdaa77e4133537250f5be342b9140275286e178437705c68c19c0092191c4add
5
5
  SHA512:
6
- metadata.gz: 1f3565af25d600fa7185f2d57d03132f81bc3b80e84f652fcb5c431bdba41eab42df4c1b6912ecacacafcf9d83c8551a67a0f3ab3191ec916563d98ae18e6e88
7
- data.tar.gz: 49eec7ce633f4f3ef235acc8a23fb71d7029df2212fb9ab6fb4fdf505fa4e9265438089f74d16f22d0dbb88ea70625c771f2bb0929326994c4d337fa25da58fc
6
+ metadata.gz: f3e45db25b084cdc00d65e0fd3e8054c7abb7ce66a70d2852413b57c8c77bdcb54f10b8b4fcdedf02dbb298d24c6a08d0235af3332f5dcd6990d897a316d870c
7
+ data.tar.gz: 1d4eeea26dea62cdc0b82736c123e9c5a2b4a6872e35989ae2d9fe0f99a60182e9534819cf64c193c25ab7d86e1e06047a400f3a426e9d2a51f7d35ac2ce5ae5
data/.env CHANGED
@@ -1 +1 @@
1
- REDIS_URL=redis://:supersecret@127.0.0.1:6379/10
1
+ REDIS_URL=redis://:supersecret@redis:6379/10
data/.rspec CHANGED
@@ -1 +1,2 @@
1
1
  --require spec_helper
2
+ --require rails_helper
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.5
2
+ TargetRubyVersion: 2.7
3
3
 
4
4
  Style/Documentation:
5
5
  Enabled: false
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 2.5.8
1
+ ruby 3.2.0
data/Appraisals ADDED
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ # See compatibility table at https://www.fastruby.io/blog/ruby/rails/versions/compatibility-table.html
4
+
5
+ versions_map = {
6
+ '6.0' => %w[2.7],
7
+ '6.1' => %w[2.7 3.0],
8
+ '7.0' => %w[3.1],
9
+ '7.1' => %w[3.2],
10
+ '7.2' => %w[3.3 3.4],
11
+ '8.0' => %w[3.4]
12
+ }
13
+
14
+ current_ruby_version = RUBY_VERSION.split('.').first(2).join('.')
15
+
16
+ versions_map.each do |rails_version, ruby_versions|
17
+ ruby_versions.each do |ruby_version|
18
+ next if ruby_version != current_ruby_version
19
+
20
+ appraise "rails-#{rails_version}" do
21
+ gem 'rails', "~> #{rails_version}.0"
22
+ end
23
+ end
24
+ end
data/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # CHANGELOG.md
2
2
 
3
+ ## 1.0.0 (2024-12-28)
4
+
5
+ Features:
6
+
7
+ - Drop ruby 2.5/2.6 support
8
+ - Add appraisals
9
+
10
+ Fix:
11
+
12
+ - Fix ruby-kafka health-check bug for some ActiveSupport versions
13
+
14
+ ## 0.5.0 (2023-08-16)
15
+
16
+ Features:
17
+
18
+ - Add Sidekiq 6+ support [PR#4](https://github.com/SberMarket-Tech/http_health_check/pull/4)
19
+
3
20
  ## 0.4.1 (2022-08-05)
4
21
 
5
22
  Fix:
data/Dockerfile ADDED
@@ -0,0 +1,14 @@
1
+ ARG RUBY_VERSION
2
+
3
+ FROM ruby:$RUBY_VERSION
4
+
5
+ ARG BUNDLER_VERSION
6
+ ARG RUBYGEMS_VERSION
7
+
8
+ ENV BUNDLE_JOBS=4 \
9
+ BUNDLE_RETRY=3
10
+
11
+ RUN gem update --system "${RUBYGEMS_VERSION}" \
12
+ && rm /usr/local/lib/ruby/gems/*/specifications/default/bundler*.gemspec \
13
+ && gem install --default bundler:${BUNDLER_VERSION} \
14
+ && gem install bundler -v ${BUNDLER_VERSION}
data/Gemfile CHANGED
@@ -1,14 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source 'https://rubygems.org'
3
+ source ENV.fetch('RUBYGEMS_PUBLIC_SOURCE', 'https://rubygems.org/')
4
4
 
5
5
  # Specify your gem's dependencies in http_health_check.gemspec
6
6
  gemspec
7
7
 
8
- gem 'rake', '~> 13.0'
9
-
10
8
  group :test do
11
- gem 'rspec_junit_formatter'
12
9
  gem 'simplecov', require: false
13
10
  gem 'simplecov-cobertura', require: false
14
11
  end
data/README.md CHANGED
@@ -203,7 +203,7 @@ Be aware that this approach does not cover issues with sidekiq being stuck proce
203
203
 
204
204
  ```ruby
205
205
  HttpHealthCheck.configure do |config|
206
- config.probe '/readiness/delayed_job', HttpHealthCheck::Probes::Sidekiq.new
206
+ config.probe '/readiness/sidekiq', HttpHealthCheck::Probes::Sidekiq.new
207
207
  end
208
208
  ```
209
209
 
data/dip.yml ADDED
@@ -0,0 +1,68 @@
1
+ version: '7'
2
+
3
+ environment:
4
+ RUBY_VERSION: '3.3'
5
+
6
+ compose:
7
+ files:
8
+ - docker-compose.yml
9
+
10
+ interaction:
11
+ bash:
12
+ description: Open the Bash shell in app's container
13
+ service: ruby
14
+ command: /bin/bash
15
+
16
+ bundle:
17
+ description: Run Bundler commands
18
+ service: ruby
19
+ command: bundle
20
+
21
+ rails:
22
+ description: Run RoR commands
23
+ service: ruby
24
+ command: bundle exec rails
25
+
26
+ appraisal:
27
+ description: Run Appraisal commands
28
+ service: ruby
29
+ command: bundle exec appraisal
30
+
31
+ rspec:
32
+ description: Run Rspec commands
33
+ service: ruby
34
+ command: bundle exec rspec
35
+ subcommands:
36
+ all:
37
+ command: bundle exec appraisal rspec
38
+ rails-6.0:
39
+ command: bundle exec appraisal rails-6.0 rspec
40
+ rails-6.1:
41
+ command: bundle exec appraisal rails-6.1 rspec
42
+ rails-7.0:
43
+ command: bundle exec appraisal rails-7.0 rspec
44
+ rails-7.1:
45
+ command: bundle exec appraisal rails-7.1 rspec
46
+ rails-7.2:
47
+ command: bundle exec appraisal rails-7.2 rspec
48
+
49
+ rubocop:
50
+ description: Run Ruby linter
51
+ service: ruby
52
+ command: bundle exec rubocop
53
+
54
+ setup:
55
+ description: Install deps
56
+ service: ruby
57
+ command: bin/setup
58
+
59
+ test:
60
+ description: Run linters, run all tests
61
+ service: ruby
62
+ command: bin/test
63
+
64
+ provision:
65
+ - dip compose down --volumes
66
+ - rm -f Gemfile.lock
67
+ - rm -f gemfiles/*gemfile*
68
+ - dip setup
data/docker-compose.yml CHANGED
@@ -1,13 +1,40 @@
1
- version: '3.5'
2
1
  services:
2
+ ruby:
3
+ build:
4
+ context: .
5
+ dockerfile: Dockerfile
6
+ args:
7
+ RUBY_VERSION: ${RUBY_VERSION:-3.3}
8
+ BUNDLER_VERSION: 2.4.22
9
+ RUBYGEMS_VERSION: 3.4.22
10
+ image: http_health_check-dev:0.1.0-ruby_${RUBY_VERSION:-3.3}
11
+ environment:
12
+ HISTFILE: /app/tmp/.bash_history
13
+ BUNDLE_PATH: /usr/local/bundle
14
+ BUNDLE_CONFIG: /app/.bundle/config
15
+ REDIS_URL: redis://:supersecret@redis:6379/10
16
+ command: bash
17
+ working_dir: /app
18
+ depends_on:
19
+ redis:
20
+ condition: service_healthy
21
+ volumes:
22
+ - .:/app:cached
23
+ - ${SBMT_RUBYGEMS_PATH:-..}:/app/vendor/gems:cached
24
+ - bundler_data:/usr/local/bundle
25
+
3
26
  redis:
4
27
  image: bitnami/redis:6.2
5
28
  environment:
6
29
  REDIS_PASSWORD: supersecret
7
30
  volumes:
8
31
  - redis:/data
32
+ healthcheck:
33
+ test: redis-cli -a supersecret ping
34
+ interval: 10s
9
35
  ports:
10
- - '6379:6379'
36
+ - '6379'
11
37
 
12
38
  volumes:
13
- redis: {}
39
+ bundler_data:
40
+ redis:
@@ -6,34 +6,42 @@ Gem::Specification.new do |spec|
6
6
  spec.name = 'http_health_check'
7
7
  spec.version = HttpHealthCheck::VERSION
8
8
  spec.licenses = ['MIT']
9
- spec.authors = ['SberMarket team']
10
- spec.email = ['pochi.73@gmail.com']
9
+ spec.authors = ['Kuper Ruby Platform Team']
11
10
 
12
11
  spec.summary = 'Simple and extensible HTTP health checks server.'
13
12
  spec.description = spec.summary
14
- spec.homepage = 'https://github.com/SberMarket-Tech/http_health_check'
15
- spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
13
+ spec.homepage = 'https://github.com/Kuper-Tech/http_health_check'
14
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.7.0')
16
15
 
17
- spec.metadata['allowed_push_host'] = 'https://rubygems.org/'
16
+ spec.metadata['allowed_push_host'] = ENV.fetch('NEXUS_URL', 'https://rubygems.org')
18
17
 
19
18
  spec.metadata['homepage_uri'] = spec.homepage
20
- spec.metadata['source_code_uri'] = 'https://github.com/SberMarket-Tech/http_health_check'
21
- spec.metadata['changelog_uri'] = 'https://github.com/SberMarket-Tech/http_health_check/blob/main/CHANGELOG.md'
19
+ spec.metadata['source_code_uri'] = spec.homepage
20
+ spec.metadata['changelog_uri'] = "#{spec.homepage}/blob/main/CHANGELOG.md"
22
21
 
23
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
22
+ spec.files = Dir.chdir(__dir__) do
23
+ `git ls-files -z`.split("\x0").reject do |f|
24
+ (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
25
+ end
25
26
  end
26
- spec.bindir = 'exe'
27
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
27
+ spec.bindir = 'exe'
28
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
28
29
  spec.require_paths = ['lib']
29
30
 
30
31
  spec.add_dependency 'rack', '~> 2.0'
31
32
  spec.add_dependency 'webrick'
32
33
 
33
- spec.add_development_dependency 'activesupport', '~> 5.0'
34
+ spec.add_development_dependency 'activesupport', '>= 6.0'
35
+ spec.add_development_dependency 'appraisal', '>= 2.4'
36
+ spec.add_development_dependency 'bundler', '>= 2.3'
37
+ spec.add_development_dependency 'combustion', '>= 1.3'
34
38
  spec.add_development_dependency 'dotenv', '~> 2.7.6'
35
- spec.add_development_dependency 'redis', '~> 4.2.5'
36
- spec.add_development_dependency 'rspec', '~> 3.2'
39
+ spec.add_development_dependency 'rake', '>= 13.0'
40
+ spec.add_development_dependency 'redis'
41
+ spec.add_development_dependency 'redis-client'
42
+ spec.add_development_dependency 'rspec', '>= 3.0'
43
+ spec.add_development_dependency 'rspec_junit_formatter'
44
+ spec.add_development_dependency 'rspec-rails'
37
45
  spec.add_development_dependency 'rubocop', '~> 0.81'
38
46
  spec.add_development_dependency 'thor', '>= 0.20'
39
47
  end
@@ -19,7 +19,7 @@ module HttpHealthCheck
19
19
  end
20
20
 
21
21
  def probe(_env)
22
- now = @timer.now
22
+ now = @timer.now.to_i
23
23
  failed_heartbeats = select_failed_heartbeats(now)
24
24
  return probe_ok groups: meta_from_heartbeats(@heartbeats, now) if failed_heartbeats.empty?
25
25
 
@@ -59,9 +59,22 @@ module HttpHealthCheck
59
59
  group = event.payload[:group_id]
60
60
 
61
61
  @heartbeats[group] ||= {}
62
- @heartbeats[group][event.transaction_id] = Heartbeat.new(event.time, group, event.payload[:topic_partitions])
62
+ @heartbeats[group][event.transaction_id] = Heartbeat.new(
63
+ event_time(event), group, event.payload[:topic_partitions]
64
+ )
63
65
  end
64
66
  end
67
+
68
+ def event_time(event)
69
+ # event.time in millis in ActiveSupport >= 7.0 && ActiveSupport< 7.1.4
70
+ # see ActiveSupport::Notifications::Event.initialize
71
+ active_support_version = ActiveSupport.gem_version
72
+ if active_support_version >= Gem::Version.new('7.0.0') && active_support_version < Gem::Version.new('7.1.4')
73
+ return (event.time.to_i / 1000)
74
+ end
75
+
76
+ event.time.to_i
77
+ end
65
78
  end
66
79
  end
67
80
  end
@@ -14,7 +14,7 @@ module HttpHealthCheck
14
14
 
15
15
  def probe(_env)
16
16
  @sidekiq_module.redis do |conn|
17
- conn.setex(meta[:redis_key], TTL_SEC, MAGIC_NUMBER)
17
+ conn.call('SET', meta[:redis_key], MAGIC_NUMBER, 'EX', TTL_SEC)
18
18
  probe_ok
19
19
  end
20
20
  end
@@ -10,7 +10,7 @@ module HttpHealthCheck
10
10
  # @param karafka_app descendant of Karafka::App
11
11
  def self.consumer_groups(karafka_app, program_name: $PROGRAM_NAME, argv: ARGV) # rubocop:disable Metrics/AbcSize
12
12
  all_groups = karafka_app.consumer_groups.map(&:id)
13
- client_id_prefix = karafka_app.config.client_id.gsub('-', '_') + '_'
13
+ client_id_prefix = "#{karafka_app.config.client_id.gsub('-', '_')}_"
14
14
 
15
15
  return all_groups if program_name.split('/').last != 'karafka'
16
16
  return all_groups if argv[0] != 'server'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HttpHealthCheck
4
- VERSION = '0.4.1'
4
+ VERSION = '1.0.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http_health_check
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - SberMarket team
7
+ - Kuper Ruby Platform Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-05 00:00:00.000000000 Z
11
+ date: 2025-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -42,16 +42,58 @@ dependencies:
42
42
  name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '5.0'
47
+ version: '6.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '5.0'
54
+ version: '6.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: appraisal
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '2.4'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '2.4'
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '2.3'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '2.3'
83
+ - !ruby/object:Gem::Dependency
84
+ name: combustion
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '1.3'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '1.3'
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: dotenv
57
99
  requirement: !ruby/object:Gem::Requirement
@@ -66,34 +108,90 @@ dependencies:
66
108
  - - "~>"
67
109
  - !ruby/object:Gem::Version
68
110
  version: 2.7.6
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '13.0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '13.0'
69
125
  - !ruby/object:Gem::Dependency
70
126
  name: redis
71
127
  requirement: !ruby/object:Gem::Requirement
72
128
  requirements:
73
- - - "~>"
129
+ - - ">="
74
130
  - !ruby/object:Gem::Version
75
- version: 4.2.5
131
+ version: '0'
76
132
  type: :development
77
133
  prerelease: false
78
134
  version_requirements: !ruby/object:Gem::Requirement
79
135
  requirements:
80
- - - "~>"
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: redis-client
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
81
151
  - !ruby/object:Gem::Version
82
- version: 4.2.5
152
+ version: '0'
83
153
  - !ruby/object:Gem::Dependency
84
154
  name: rspec
85
155
  requirement: !ruby/object:Gem::Requirement
86
156
  requirements:
87
- - - "~>"
157
+ - - ">="
88
158
  - !ruby/object:Gem::Version
89
- version: '3.2'
159
+ version: '3.0'
90
160
  type: :development
91
161
  prerelease: false
92
162
  version_requirements: !ruby/object:Gem::Requirement
93
163
  requirements:
94
- - - "~>"
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '3.0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rspec_junit_formatter
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: rspec-rails
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
95
193
  - !ruby/object:Gem::Version
96
- version: '3.2'
194
+ version: '0'
97
195
  - !ruby/object:Gem::Dependency
98
196
  name: rubocop
99
197
  requirement: !ruby/object:Gem::Requirement
@@ -124,26 +222,23 @@ dependencies:
124
222
  version: '0.20'
125
223
  description: Simple and extensible HTTP health checks server.
126
224
  email:
127
- - pochi.73@gmail.com
128
225
  executables: []
129
226
  extensions: []
130
227
  extra_rdoc_files: []
131
228
  files:
132
229
  - ".bumpversion.cfg"
133
230
  - ".env"
134
- - ".github/workflows/ci.yml"
135
- - ".gitignore"
136
231
  - ".rspec"
137
232
  - ".rubocop.yml"
138
233
  - ".tool-versions"
234
+ - Appraisals
139
235
  - CHANGELOG.md
236
+ - Dockerfile
140
237
  - Gemfile
141
- - Gemfile.lock
142
238
  - LICENSE
143
239
  - README.md
144
240
  - Rakefile
145
- - bin/console
146
- - bin/setup
241
+ - dip.yml
147
242
  - docker-compose.yml
148
243
  - http_health_check.gemspec
149
244
  - lib/http_health_check.rb
@@ -158,14 +253,14 @@ files:
158
253
  - lib/http_health_check/utils.rb
159
254
  - lib/http_health_check/utils/karafka.rb
160
255
  - lib/http_health_check/version.rb
161
- homepage: https://github.com/SberMarket-Tech/http_health_check
256
+ homepage: https://github.com/Kuper-Tech/http_health_check
162
257
  licenses:
163
258
  - MIT
164
259
  metadata:
165
- allowed_push_host: https://rubygems.org/
166
- homepage_uri: https://github.com/SberMarket-Tech/http_health_check
167
- source_code_uri: https://github.com/SberMarket-Tech/http_health_check
168
- changelog_uri: https://github.com/SberMarket-Tech/http_health_check/blob/main/CHANGELOG.md
260
+ allowed_push_host: https://rubygems.org
261
+ homepage_uri: https://github.com/Kuper-Tech/http_health_check
262
+ source_code_uri: https://github.com/Kuper-Tech/http_health_check
263
+ changelog_uri: https://github.com/Kuper-Tech/http_health_check/blob/main/CHANGELOG.md
169
264
  post_install_message:
170
265
  rdoc_options: []
171
266
  require_paths:
@@ -174,14 +269,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
174
269
  requirements:
175
270
  - - ">="
176
271
  - !ruby/object:Gem::Version
177
- version: 2.5.0
272
+ version: 2.7.0
178
273
  required_rubygems_version: !ruby/object:Gem::Requirement
179
274
  requirements:
180
275
  - - ">="
181
276
  - !ruby/object:Gem::Version
182
277
  version: '0'
183
278
  requirements: []
184
- rubygems_version: 3.2.3
279
+ rubygems_version: 3.3.7
185
280
  signing_key:
186
281
  specification_version: 4
187
282
  summary: Simple and extensible HTTP health checks server.
@@ -1,41 +0,0 @@
1
- name: ci
2
-
3
- on:
4
- push:
5
- branches: [main]
6
- pull_request:
7
- branches: [main]
8
-
9
- jobs:
10
- build:
11
- runs-on: ubuntu-latest
12
- strategy:
13
- matrix:
14
- ruby: ["2.5", "2.6", "2.7", "3.0"]
15
- services:
16
- redis:
17
- image: bitnami/redis:6.2
18
- ports:
19
- - 6379:6379
20
- env:
21
- REDIS_PASSWORD: supersecret
22
- options: >-
23
- --health-cmd "redis-cli -p 6379 -a 'supersecret' ping"
24
- --health-interval 1s
25
- --health-timeout 3s
26
- --health-retries 10
27
- steps:
28
- - uses: actions/checkout@v3
29
- - name: Set up Ruby
30
- uses: ruby/setup-ruby@v1
31
- with:
32
- bundler-cache: true
33
- ruby-version: ${{ matrix.ruby }}
34
- - name: Run all tests
35
- run: bundle exec rspec
36
- env:
37
- REDIS_URL: redis://:supersecret@redis:${{ job.services.redis.ports[6379] }}/0
38
- # FIXME!
39
- SKIP_REDIS_SPECS: true
40
- - name: Run rubocop
41
- run: bundle exec rubocop
data/.gitignore DELETED
@@ -1,10 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
9
- /.idea
10
- *.gem
data/Gemfile.lock DELETED
@@ -1,95 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- http_health_check (0.4.1)
5
- rack (~> 2.0)
6
- webrick
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- activesupport (5.2.8.1)
12
- concurrent-ruby (~> 1.0, >= 1.0.2)
13
- i18n (>= 0.7, < 2)
14
- minitest (~> 5.1)
15
- tzinfo (~> 1.1)
16
- ast (2.4.2)
17
- concurrent-ruby (1.1.10)
18
- diff-lcs (1.5.0)
19
- docile (1.4.0)
20
- dotenv (2.7.6)
21
- i18n (1.12.0)
22
- concurrent-ruby (~> 1.0)
23
- minitest (5.15.0)
24
- parallel (1.22.1)
25
- parser (3.1.2.0)
26
- ast (~> 2.4.1)
27
- rack (2.2.4)
28
- rainbow (3.1.1)
29
- rake (13.0.6)
30
- redis (4.2.5)
31
- regexp_parser (2.5.0)
32
- rexml (3.2.5)
33
- rspec (3.11.0)
34
- rspec-core (~> 3.11.0)
35
- rspec-expectations (~> 3.11.0)
36
- rspec-mocks (~> 3.11.0)
37
- rspec-core (3.11.0)
38
- rspec-support (~> 3.11.0)
39
- rspec-expectations (3.11.0)
40
- diff-lcs (>= 1.2.0, < 2.0)
41
- rspec-support (~> 3.11.0)
42
- rspec-mocks (3.11.1)
43
- diff-lcs (>= 1.2.0, < 2.0)
44
- rspec-support (~> 3.11.0)
45
- rspec-support (3.11.0)
46
- rspec_junit_formatter (0.5.1)
47
- rspec-core (>= 2, < 4, != 2.12.0)
48
- rubocop (0.93.1)
49
- parallel (~> 1.10)
50
- parser (>= 2.7.1.5)
51
- rainbow (>= 2.2.2, < 4.0)
52
- regexp_parser (>= 1.8)
53
- rexml
54
- rubocop-ast (>= 0.6.0)
55
- ruby-progressbar (~> 1.7)
56
- unicode-display_width (>= 1.4.0, < 2.0)
57
- rubocop-ast (1.17.0)
58
- parser (>= 3.1.1.0)
59
- ruby-progressbar (1.11.0)
60
- simplecov (0.21.2)
61
- docile (~> 1.1)
62
- simplecov-html (~> 0.11)
63
- simplecov_json_formatter (~> 0.1)
64
- simplecov-cobertura (2.1.0)
65
- rexml
66
- simplecov (~> 0.19)
67
- simplecov-html (0.12.3)
68
- simplecov_json_formatter (0.1.4)
69
- thor (1.1.0)
70
- thread_safe (0.3.6)
71
- tzinfo (1.2.9)
72
- thread_safe (~> 0.1)
73
- unicode-display_width (1.8.0)
74
- webrick (1.7.0)
75
-
76
- PLATFORMS
77
- ruby
78
- x86_64-darwin-21
79
- x86_64-linux
80
-
81
- DEPENDENCIES
82
- activesupport (~> 5.0)
83
- dotenv (~> 2.7.6)
84
- http_health_check!
85
- rake (~> 13.0)
86
- redis (~> 4.2.5)
87
- rspec (~> 3.2)
88
- rspec_junit_formatter
89
- rubocop (~> 0.81)
90
- simplecov
91
- simplecov-cobertura
92
- thor (>= 0.20)
93
-
94
- BUNDLED WITH
95
- 2.3.15
data/bin/console DELETED
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require 'bundler/setup'
5
- require 'http_health_check'
6
-
7
- # You can add fixtures and/or initialization code here to make experimenting
8
- # with your gem easier. You can also use a different console, if you like.
9
-
10
- # (If you use this, don't forget to add pry to your Gemfile!)
11
- # require "pry"
12
- # Pry.start
13
-
14
- require 'irb'
15
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here