resque-kubernetes 1.3.0 → 3.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 +5 -5
- data/.rubocop.yml +9 -5
- data/.ruby-version +1 -1
- data/Appraisals +1 -5
- data/CHANGELOG.md +40 -0
- data/Gemfile +8 -0
- data/README.md +5 -8
- data/gemfiles/kubeclient_4.gemfile +9 -1
- data/lib/resque/kubernetes/configurable.rb +2 -0
- data/lib/resque/kubernetes/context/kubectl.rb +13 -5
- data/lib/resque/kubernetes/context/well_known.rb +10 -4
- data/lib/resque/kubernetes/context_factory.rb +2 -1
- data/lib/resque/kubernetes/job.rb +2 -3
- data/lib/resque/kubernetes/jobs_manager.rb +15 -17
- data/lib/resque/kubernetes/version.rb +1 -1
- data/lib/resque/kubernetes.rb +2 -2
- data/resque-kubernetes.gemspec +4 -10
- metadata +13 -124
- data/gemfiles/kubeclient_3.gemfile +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c5705807fc4c023c6d41f4ea9de1ead2e365e1a7a4153b9c0bbf507a775c17ef
|
4
|
+
data.tar.gz: 80b8d23e4914a5d59308e46e3486b8ee8935f8da0661ecf692e4a33ad5d3075f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a406b7260bbb127425fa7522bb7ab579594236190f88a5a992071161da966b4a96d3a12dd442fea0a5fb4134d515a2e044b0728303858dea3c9bdab593c22b77
|
7
|
+
data.tar.gz: 71e8a8a42de666cd4a43ab5ba311349d07311bc956733c9a464203118bd098b7ab4b36928e7e800087b7efd7258b4b444f26958ccd84f509433c365619b47460
|
data/.rubocop.yml
CHANGED
@@ -1,13 +1,17 @@
|
|
1
|
-
|
1
|
+
AllCops:
|
2
|
+
NewCops: enable
|
3
|
+
SuggestExtensions: false
|
4
|
+
|
5
|
+
Style/Documentation:
|
2
6
|
Exclude:
|
3
7
|
- "**/railtie.rb"
|
4
8
|
- "spec/**/*"
|
5
9
|
|
6
10
|
Style/StringLiterals:
|
7
11
|
EnforcedStyle: double_quotes
|
8
|
-
|
12
|
+
Layout/LineLength:
|
9
13
|
Max: 120
|
10
|
-
Layout/
|
14
|
+
Layout/HashAlignment:
|
11
15
|
EnforcedHashRocketStyle: table
|
12
16
|
EnforcedColonStyle: table
|
13
17
|
Layout/SpaceInsideHashLiteralBraces:
|
@@ -16,9 +20,9 @@ Style/RaiseArgs:
|
|
16
20
|
EnforcedStyle: compact
|
17
21
|
Style/EmptyMethod:
|
18
22
|
EnforcedStyle: expanded
|
19
|
-
Layout/
|
23
|
+
Layout/FirstArrayElementIndentation:
|
20
24
|
IndentationWidth: 4
|
21
|
-
Layout/
|
25
|
+
Layout/FirstHashElementIndentation:
|
22
26
|
IndentationWidth: 4
|
23
27
|
Style/ConditionalAssignment:
|
24
28
|
EnforcedStyle: assign_inside_condition
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3.0.5
|
data/Appraisals
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,43 @@
|
|
1
|
+
# V3.0.0
|
2
|
+
**Breaking Change:**
|
3
|
+
- Drop support for Ruby 2.7.
|
4
|
+
- Drop support for `kubeclient` 3.x.
|
5
|
+
|
6
|
+
**Changes:**
|
7
|
+
- Add support for Ruby 3.0.
|
8
|
+
- Requires `kubeclient` >= 4.9.3.
|
9
|
+
|
10
|
+
# V2.0.0
|
11
|
+
**Breaking Change:**
|
12
|
+
- The `environments` configuration as been replaced by a more flexible `enabled` property.
|
13
|
+
|
14
|
+
Here's how to migrate from the `environments` property to the `enabled` property:
|
15
|
+
|
16
|
+
Before:
|
17
|
+
```ruby
|
18
|
+
# config/initializers/resque-kubernetes.rb
|
19
|
+
|
20
|
+
Resque::Kubernetes.configuration do |config|
|
21
|
+
config.environments << "staging"
|
22
|
+
config.max_workers = 10
|
23
|
+
end
|
24
|
+
```
|
25
|
+
|
26
|
+
After:
|
27
|
+
```ruby
|
28
|
+
# config/initializers/resque-kubernetes.rb
|
29
|
+
|
30
|
+
Resque::Kubernetes.configuration do |config|
|
31
|
+
config.enabled = Rails.env.production? || Rails.env.staging?
|
32
|
+
config.max_workers = 10
|
33
|
+
end
|
34
|
+
```
|
35
|
+
|
36
|
+
⚠️ By default, this gem is not enabled.
|
37
|
+
|
38
|
+
**Changes:**
|
39
|
+
- Allow resque 2.0 but retain support for 1.26 or later.
|
40
|
+
|
1
41
|
# v1.3.0
|
2
42
|
- Retry when a timeout occurs connecting to the Kubernetes API server
|
3
43
|
|
data/Gemfile
CHANGED
@@ -4,3 +4,11 @@ source "https://rubygems.org"
|
|
4
4
|
|
5
5
|
# Specify your gem's dependencies in resque-kubernetes.gemspec
|
6
6
|
gemspec
|
7
|
+
|
8
|
+
gem "appraisal"
|
9
|
+
gem "bundler", "~> 2.0"
|
10
|
+
gem "bundler-audit", "~> 0"
|
11
|
+
gem "googleauth", "~> 0.6"
|
12
|
+
gem "rake", "~> 12.3"
|
13
|
+
gem "rspec", "~> 3.7"
|
14
|
+
gem "rubocop", "~> 1.50"
|
data/README.md
CHANGED
@@ -152,19 +152,16 @@ your project:
|
|
152
152
|
# config/initializers/resque-kubernetes.rb
|
153
153
|
|
154
154
|
Resque::Kubernetes.configuration do |config|
|
155
|
-
config.
|
155
|
+
config.enabled = Rails.env.production? || Rails.env.staging?
|
156
156
|
config.max_workers = 10
|
157
157
|
end
|
158
158
|
```
|
159
159
|
|
160
|
-
### `
|
160
|
+
### `enabled`
|
161
161
|
|
162
|
-
|
162
|
+
⚠️ By default, the `enabled` property is set to `false` which means that, by default, this plugin will not be launched.
|
163
163
|
|
164
|
-
|
165
|
-
`:production`. If you want to add other environments you can update this list
|
166
|
-
(`config.environments << "staging"`) or replace it (`config.environments =
|
167
|
-
["production", "development"]`).
|
164
|
+
You should not enable this Resque plugin in environments that are not run inside a Kubernetes cluster (for example, your CI env).
|
168
165
|
|
169
166
|
### `max_workers`
|
170
167
|
|
@@ -215,7 +212,7 @@ The gem will automatically connect to the Kubernetes server in the following cas
|
|
215
212
|
installed
|
216
213
|
|
217
214
|
There are many other ways to connect and you can do so by providing your own
|
218
|
-
[configured `kubeclient`](https://github.com/
|
215
|
+
[configured `kubeclient`](https://github.com/ManageIQ/kubeclient#usage):
|
219
216
|
|
220
217
|
```ruby
|
221
218
|
# config/initializers/resque-kubernetes.rb
|
@@ -2,6 +2,14 @@
|
|
2
2
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
|
-
gem "kubeclient", "4.
|
5
|
+
gem "kubeclient", "4.11.0"
|
6
6
|
|
7
7
|
gemspec path: "../"
|
8
|
+
|
9
|
+
gem "appraisal"
|
10
|
+
gem "bundler", "~> 2.0"
|
11
|
+
gem "bundler-audit", "~> 0"
|
12
|
+
gem "googleauth", "~> 0.6"
|
13
|
+
gem "rake", "~> 12.3"
|
14
|
+
gem "rspec", "~> 3.7"
|
15
|
+
gem "rubocop", "~> 1.50"
|
@@ -12,6 +12,7 @@ module Resque
|
|
12
12
|
#
|
13
13
|
# name: The name of the setting.
|
14
14
|
# default: A default value for the setting. (Optional)
|
15
|
+
# rubocop: disable Style/ClassVars
|
15
16
|
def define_setting(name, default = nil)
|
16
17
|
class_variable_set("@@#{name}", default)
|
17
18
|
|
@@ -23,6 +24,7 @@ module Resque
|
|
23
24
|
class_variable_get("@@#{name}")
|
24
25
|
end
|
25
26
|
end
|
27
|
+
# rubocop: enable Style/ClassVars
|
26
28
|
|
27
29
|
private
|
28
30
|
|
@@ -9,32 +9,40 @@ module Resque
|
|
9
9
|
File.exist?(kubeconfig)
|
10
10
|
end
|
11
11
|
|
12
|
+
# rubocop: disable Metrics/MethodLength
|
12
13
|
def context
|
13
14
|
config = Kubeclient::Config.read(kubeconfig)
|
14
15
|
|
15
|
-
|
16
|
-
config.context.api_endpoint,
|
17
|
-
config.context.api_version,
|
18
|
-
config.context.namespace,
|
16
|
+
options = {
|
19
17
|
auth_options: auth_options(config),
|
20
18
|
ssl_options: config.context.ssl_options
|
19
|
+
}
|
20
|
+
|
21
|
+
Resque::Kubernetes::ContextFactory::Context.new(
|
22
|
+
config.context.api_endpoint,
|
23
|
+
config.context.api_version,
|
24
|
+
config.context.namespace,
|
25
|
+
options
|
21
26
|
)
|
22
27
|
end
|
28
|
+
# rubocop: enable Metrics/MethodLength
|
23
29
|
|
24
30
|
private
|
25
31
|
|
26
32
|
def kubeconfig
|
27
|
-
File.join(
|
33
|
+
File.join(Dir.home, ".kube", "config")
|
28
34
|
end
|
29
35
|
|
30
36
|
def auth_options(config)
|
31
37
|
options = config.context.auth_options
|
32
38
|
return options unless options.empty?
|
39
|
+
|
33
40
|
google_application_default_credentials
|
34
41
|
end
|
35
42
|
|
36
43
|
def google_application_default_credentials
|
37
44
|
return unless defined?(Google) && defined?(Google::Auth)
|
45
|
+
|
38
46
|
{bearer_token: Kubeclient::GoogleApplicationDefaultCredentials.token}
|
39
47
|
end
|
40
48
|
end
|
@@ -14,12 +14,16 @@ module Resque
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def context
|
17
|
-
|
18
|
-
"https://kubernetes.default.svc",
|
19
|
-
"v1",
|
20
|
-
namespace,
|
17
|
+
options = {
|
21
18
|
auth_options: {bearer_token_file: TOKEN_FILE},
|
22
19
|
ssl_options: ssl_options
|
20
|
+
}
|
21
|
+
|
22
|
+
Resque::Kubernetes::ContextFactory::Context.new(
|
23
|
+
"https://kubernetes.default.svc",
|
24
|
+
"v1",
|
25
|
+
namespace,
|
26
|
+
options
|
23
27
|
)
|
24
28
|
end
|
25
29
|
|
@@ -27,11 +31,13 @@ module Resque
|
|
27
31
|
|
28
32
|
def namespace
|
29
33
|
return nil unless File.exist?(NAMESPACE_FILE)
|
34
|
+
|
30
35
|
File.read(NAMESPACE_FILE)
|
31
36
|
end
|
32
37
|
|
33
38
|
def ssl_options
|
34
39
|
return {} unless File.exist?(CA_FILE)
|
40
|
+
|
35
41
|
{ca_file: CA_FILE}
|
36
42
|
end
|
37
43
|
end
|
@@ -10,7 +10,6 @@ module Resque
|
|
10
10
|
|
11
11
|
class << self
|
12
12
|
def context
|
13
|
-
# TODO: Add ability to load this from config
|
14
13
|
[
|
15
14
|
Resque::Kubernetes::Context::WellKnown,
|
16
15
|
Resque::Kubernetes::Context::Kubectl
|
@@ -18,6 +17,8 @@ module Resque
|
|
18
17
|
context = context_type.new
|
19
18
|
return context.context if context.applicable?
|
20
19
|
end
|
20
|
+
|
21
|
+
nil
|
21
22
|
end
|
22
23
|
end
|
23
24
|
end
|
@@ -78,14 +78,13 @@ module Resque
|
|
78
78
|
module Job
|
79
79
|
def self.included(base)
|
80
80
|
return unless base.respond_to?(:before_enqueue)
|
81
|
+
|
81
82
|
base.before_enqueue :before_enqueue_kubernetes_job
|
82
83
|
end
|
83
84
|
|
84
85
|
# A before_enqueue hook that adds worker jobs to the cluster.
|
85
86
|
def before_enqueue_kubernetes_job(*_args)
|
86
|
-
|
87
|
-
return unless Resque::Kubernetes.environments.include?(Rails.env)
|
88
|
-
end
|
87
|
+
return unless Resque::Kubernetes.enabled
|
89
88
|
|
90
89
|
manager = JobsManager.new(self)
|
91
90
|
manager.reap_finished_jobs
|
@@ -20,21 +20,17 @@ module Resque
|
|
20
20
|
|
21
21
|
def reap_finished_jobs
|
22
22
|
finished_jobs.each do |job|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
raise unless e.error_code == 404
|
27
|
-
end
|
23
|
+
jobs_client.delete_job(job.metadata.name, job.metadata.namespace)
|
24
|
+
rescue KubeException => e
|
25
|
+
raise unless e.error_code == 404
|
28
26
|
end
|
29
27
|
end
|
30
28
|
|
31
29
|
def reap_finished_pods
|
32
30
|
finished_pods.each do |pod|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
raise unless e.error_code == 404
|
37
|
-
end
|
31
|
+
pods_client.delete_pod(pod.metadata.name, pod.metadata.namespace)
|
32
|
+
rescue KubeException => e
|
33
|
+
raise unless e.error_code == 404
|
38
34
|
end
|
39
35
|
end
|
40
36
|
|
@@ -63,6 +59,7 @@ module Resque
|
|
63
59
|
|
64
60
|
def client(scope)
|
65
61
|
return RetriableClient.new(Resque::Kubernetes.kubeclient) if Resque::Kubernetes.kubeclient
|
62
|
+
|
66
63
|
client = build_client(scope)
|
67
64
|
RetriableClient.new(client) if client
|
68
65
|
end
|
@@ -70,18 +67,19 @@ module Resque
|
|
70
67
|
def build_client(scope)
|
71
68
|
context = ContextFactory.context
|
72
69
|
return unless context
|
70
|
+
|
73
71
|
@default_namespace = context.namespace if context.namespace
|
74
72
|
|
75
|
-
Kubeclient::Client.new(context.endpoint + scope, context.version, context.options)
|
73
|
+
Kubeclient::Client.new(context.endpoint + scope, context.version, **context.options)
|
76
74
|
end
|
77
75
|
|
78
76
|
def finished_jobs
|
79
|
-
resque_jobs = jobs_client.get_jobs(label_selector: "resque-kubernetes=job")
|
77
|
+
resque_jobs = jobs_client.get_jobs({label_selector: "resque-kubernetes=job"})
|
80
78
|
resque_jobs.select { |job| job.spec.completions == job.status.succeeded }
|
81
79
|
end
|
82
80
|
|
83
81
|
def finished_pods
|
84
|
-
resque_jobs = pods_client.get_pods(label_selector: "resque-kubernetes=pod")
|
82
|
+
resque_jobs = pods_client.get_pods({label_selector: "resque-kubernetes=pod"})
|
85
83
|
resque_jobs.select do |pod|
|
86
84
|
pod.status.phase == "Succeeded" && pod.status.containerStatuses.all? do |status|
|
87
85
|
status.state.terminated.reason == "Completed"
|
@@ -90,10 +88,10 @@ module Resque
|
|
90
88
|
end
|
91
89
|
|
92
90
|
def jobs_maxed?(name, namespace)
|
93
|
-
resque_jobs = jobs_client.get_jobs(
|
94
|
-
|
95
|
-
|
96
|
-
|
91
|
+
resque_jobs = jobs_client.get_jobs({
|
92
|
+
label_selector: "resque-kubernetes=job,resque-kubernetes-group=#{name}",
|
93
|
+
namespace: namespace
|
94
|
+
})
|
97
95
|
running = resque_jobs.reject { |job| job.spec.completions == job.status.succeeded }
|
98
96
|
running.size >= owner.max_workers
|
99
97
|
end
|
data/lib/resque/kubernetes.rb
CHANGED
@@ -19,8 +19,8 @@ module Resque
|
|
19
19
|
module Kubernetes
|
20
20
|
extend Configurable
|
21
21
|
|
22
|
-
# By default
|
23
|
-
define_setting :
|
22
|
+
# By default, this plugin is not active.
|
23
|
+
define_setting :enabled, false
|
24
24
|
|
25
25
|
# Limit the number of workers that should be spun up, default 10
|
26
26
|
define_setting :max_workers, 10
|
data/resque-kubernetes.gemspec
CHANGED
@@ -23,16 +23,10 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
24
24
|
spec.require_paths = ["lib"]
|
25
25
|
|
26
|
-
spec.
|
27
|
-
spec.add_development_dependency "bundler", "~> 1.16"
|
28
|
-
spec.add_development_dependency "bundler-audit", "~> 0"
|
29
|
-
spec.add_development_dependency "googleauth", "~> 0.6"
|
30
|
-
spec.add_development_dependency "rake", "~> 12.3"
|
31
|
-
spec.add_development_dependency "rspec", "~> 3.7"
|
32
|
-
# Pinned less than 0.56.0 until this is resolved: https://github.com/rubocop-hq/rubocop/issues/5975
|
33
|
-
spec.add_development_dependency "rubocop", "~> 0.52", ">= 0.52.1", "< 0.56.0"
|
26
|
+
spec.required_ruby_version = ">= 3.0"
|
34
27
|
|
35
|
-
spec.add_dependency "kubeclient", ">=
|
36
|
-
spec.add_dependency "resque", "
|
28
|
+
spec.add_dependency "kubeclient", ">= 4.9.3", "< 5.0"
|
29
|
+
spec.add_dependency "resque", ">= 1.26"
|
37
30
|
spec.add_dependency "retriable", "~> 3.0"
|
31
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
38
32
|
end
|
metadata
CHANGED
@@ -1,132 +1,22 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque-kubernetes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Wadsack
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: appraisal
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: bundler
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '1.16'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '1.16'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: bundler-audit
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: googleauth
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0.6'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0.6'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rake
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '12.3'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '12.3'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rspec
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '3.7'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '3.7'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rubocop
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0.52'
|
104
|
-
- - ">="
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
version: 0.52.1
|
107
|
-
- - "<"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: 0.56.0
|
110
|
-
type: :development
|
111
|
-
prerelease: false
|
112
|
-
version_requirements: !ruby/object:Gem::Requirement
|
113
|
-
requirements:
|
114
|
-
- - "~>"
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: '0.52'
|
117
|
-
- - ">="
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
version: 0.52.1
|
120
|
-
- - "<"
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
version: 0.56.0
|
123
13
|
- !ruby/object:Gem::Dependency
|
124
14
|
name: kubeclient
|
125
15
|
requirement: !ruby/object:Gem::Requirement
|
126
16
|
requirements:
|
127
17
|
- - ">="
|
128
18
|
- !ruby/object:Gem::Version
|
129
|
-
version:
|
19
|
+
version: 4.9.3
|
130
20
|
- - "<"
|
131
21
|
- !ruby/object:Gem::Version
|
132
22
|
version: '5.0'
|
@@ -136,7 +26,7 @@ dependencies:
|
|
136
26
|
requirements:
|
137
27
|
- - ">="
|
138
28
|
- !ruby/object:Gem::Version
|
139
|
-
version:
|
29
|
+
version: 4.9.3
|
140
30
|
- - "<"
|
141
31
|
- !ruby/object:Gem::Version
|
142
32
|
version: '5.0'
|
@@ -144,14 +34,14 @@ dependencies:
|
|
144
34
|
name: resque
|
145
35
|
requirement: !ruby/object:Gem::Requirement
|
146
36
|
requirements:
|
147
|
-
- - "
|
37
|
+
- - ">="
|
148
38
|
- !ruby/object:Gem::Version
|
149
39
|
version: '1.26'
|
150
40
|
type: :runtime
|
151
41
|
prerelease: false
|
152
42
|
version_requirements: !ruby/object:Gem::Requirement
|
153
43
|
requirements:
|
154
|
-
- - "
|
44
|
+
- - ">="
|
155
45
|
- !ruby/object:Gem::Version
|
156
46
|
version: '1.26'
|
157
47
|
- !ruby/object:Gem::Dependency
|
@@ -189,7 +79,6 @@ files:
|
|
189
79
|
- Rakefile
|
190
80
|
- bin/console
|
191
81
|
- bin/setup
|
192
|
-
- gemfiles/kubeclient_3.gemfile
|
193
82
|
- gemfiles/kubeclient_4.gemfile
|
194
83
|
- lib/resque/kubernetes.rb
|
195
84
|
- lib/resque/kubernetes/configurable.rb
|
@@ -207,8 +96,9 @@ files:
|
|
207
96
|
homepage: https://github.com/keylimetoolbox/resque-kubernetes
|
208
97
|
licenses:
|
209
98
|
- MIT
|
210
|
-
metadata:
|
211
|
-
|
99
|
+
metadata:
|
100
|
+
rubygems_mfa_required: 'true'
|
101
|
+
post_install_message:
|
212
102
|
rdoc_options: []
|
213
103
|
require_paths:
|
214
104
|
- lib
|
@@ -216,16 +106,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
216
106
|
requirements:
|
217
107
|
- - ">="
|
218
108
|
- !ruby/object:Gem::Version
|
219
|
-
version: '0'
|
109
|
+
version: '3.0'
|
220
110
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
111
|
requirements:
|
222
112
|
- - ">="
|
223
113
|
- !ruby/object:Gem::Version
|
224
114
|
version: '0'
|
225
115
|
requirements: []
|
226
|
-
|
227
|
-
|
228
|
-
signing_key:
|
116
|
+
rubygems_version: 3.2.33
|
117
|
+
signing_key:
|
229
118
|
specification_version: 4
|
230
119
|
summary: Run Resque Jobs as Kubernetes Jobs
|
231
120
|
test_files: []
|