k8s-ruby 0.11.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 88dee10d641080bb5896aab32b8fd522415ce8e94a2135d68b06a3b9467ab6f8
4
- data.tar.gz: 36d072c3d850a13419a1964afa0934494b220e3a9b82c359699ce13cf417356a
3
+ metadata.gz: 852ad2775ba818eac10ac0cfd9f1e362e1390526102e7c6e0d46b4941e153dc6
4
+ data.tar.gz: 83ef7dc2a19aa6abcc703161f715ce3d4b14732546ec5025991fbcc9d1440b47
5
5
  SHA512:
6
- metadata.gz: 278cf65ef4d9795795b31352720831f82b90110a8463d6f792eddd6c8357e1549d70d859d113e042f1ef6543b2b43bd0d1aa07e178dbfbdd279bcc6d25907f51
7
- data.tar.gz: 104f06d0534076270881b857f85b180c13cd8fe3a6b995f1335a69ae57844abc3f01f3665c58748b33791537173de0de35d9b09e7b7f3d0b4cefac61586ba2c3
6
+ metadata.gz: ffac9cb78159e00e5a84c8e81d60981f2a67f05a414e382599761e6c83f44ffc468e1367862225f3c652a69ff8265deba09a5525631a2f67dc12cefef69e1717
7
+ data.tar.gz: '087453bd8f6650b2db503e286c17f4ee3455bb9b376a13c04bfe145ae48ddcef9f31563f5f64d0e88dd2e52302a0888767c91e7a03b43a045f57bb4261095ea3'
@@ -0,0 +1,26 @@
1
+ name: tests
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+
9
+ jobs:
10
+ build-2-6:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - run: docker-compose up --build rspec-2.6
15
+
16
+ build-2-7:
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - uses: actions/checkout@v3
20
+ - run: docker-compose up --build rspec-2.7
21
+
22
+ build-3-0:
23
+ runs-on: ubuntu-latest
24
+ steps:
25
+ - uses: actions/checkout@v3
26
+ - run: docker-compose up --build rspec-3.0
data/.gitignore CHANGED
@@ -6,8 +6,9 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
- Gemfile.lock
9
+
10
10
  .ruby-version
11
+ .tool-versions
11
12
  /.byebug_history
12
13
 
13
14
  # rspec failure tracking
data/Dockerfile CHANGED
@@ -1,15 +1,15 @@
1
1
  ARG BASE_IMAGE=ruby:2.7
2
2
  FROM ${BASE_IMAGE}
3
3
 
4
+ RUN gem install bundler:2.3.5
5
+
4
6
  WORKDIR /app
5
7
 
6
8
  COPY Gemfile *.gemspec ./
7
9
  COPY lib/k8s/ruby/version.rb ./lib/k8s/ruby/
8
10
 
9
- RUN gem install bundler:2.3.4
10
11
  RUN bundle install
11
12
  RUN bundle update --bundler
12
13
 
13
14
  COPY . .
14
-
15
- ENTRYPOINT ["bundle", "exec"]
15
+ ENTRYPOINT ["/app/entrypoint.sh"]
data/Gemfile.lock ADDED
@@ -0,0 +1,117 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ k8s-ruby (0.13.0)
5
+ dry-configurable (~> 0.13.0)
6
+ dry-struct (<= 1.6.0)
7
+ dry-types (<= 1.7.0)
8
+ excon (~> 0.71)
9
+ hashdiff (~> 1.0.0)
10
+ jsonpath (~> 0.9.5)
11
+ recursive-open-struct (~> 1.1.3)
12
+ yajl-ruby (~> 1.4.0)
13
+ yaml-safe_load_stream2 (~> 0.1.1)
14
+
15
+ GEM
16
+ remote: https://rubygems.org/
17
+ specs:
18
+ addressable (2.8.1)
19
+ public_suffix (>= 2.0.2, < 6.0)
20
+ ast (2.4.2)
21
+ byebug (11.1.3)
22
+ concurrent-ruby (1.1.10)
23
+ crack (0.4.5)
24
+ rexml
25
+ diff-lcs (1.5.0)
26
+ dry-configurable (0.13.0)
27
+ concurrent-ruby (~> 1.0)
28
+ dry-core (~> 0.6)
29
+ dry-container (0.11.0)
30
+ concurrent-ruby (~> 1.0)
31
+ dry-core (0.9.1)
32
+ concurrent-ruby (~> 1.0)
33
+ zeitwerk (~> 2.6)
34
+ dry-inflector (0.3.0)
35
+ dry-logic (1.3.0)
36
+ concurrent-ruby (~> 1.0)
37
+ dry-core (~> 0.9, >= 0.9)
38
+ zeitwerk (~> 2.6)
39
+ dry-struct (1.5.2)
40
+ dry-core (~> 0.9, >= 0.9)
41
+ dry-types (~> 1.6)
42
+ ice_nine (~> 0.11)
43
+ zeitwerk (~> 2.6)
44
+ dry-types (1.6.1)
45
+ concurrent-ruby (~> 1.0)
46
+ dry-container (~> 0.3)
47
+ dry-core (~> 0.9, >= 0.9)
48
+ dry-inflector (~> 0.1, >= 0.1.2)
49
+ dry-logic (~> 1.3, >= 1.3)
50
+ zeitwerk (~> 2.6)
51
+ excon (0.94.0)
52
+ hashdiff (1.0.1)
53
+ ice_nine (0.11.2)
54
+ jsonpath (0.9.9)
55
+ multi_json
56
+ to_regexp (~> 0.2.1)
57
+ multi_json (1.15.0)
58
+ parallel (1.22.1)
59
+ parser (3.1.2.1)
60
+ ast (~> 2.4.1)
61
+ public_suffix (5.0.0)
62
+ rainbow (3.1.1)
63
+ rake (13.0.6)
64
+ recursive-open-struct (1.1.3)
65
+ regexp_parser (2.6.1)
66
+ rexml (3.2.5)
67
+ rspec (3.12.0)
68
+ rspec-core (~> 3.12.0)
69
+ rspec-expectations (~> 3.12.0)
70
+ rspec-mocks (~> 3.12.0)
71
+ rspec-core (3.12.0)
72
+ rspec-support (~> 3.12.0)
73
+ rspec-expectations (3.12.0)
74
+ diff-lcs (>= 1.2.0, < 2.0)
75
+ rspec-support (~> 3.12.0)
76
+ rspec-mocks (3.12.0)
77
+ diff-lcs (>= 1.2.0, < 2.0)
78
+ rspec-support (~> 3.12.0)
79
+ rspec-support (3.12.0)
80
+ rubocop (0.93.1)
81
+ parallel (~> 1.10)
82
+ parser (>= 2.7.1.5)
83
+ rainbow (>= 2.2.2, < 4.0)
84
+ regexp_parser (>= 1.8)
85
+ rexml
86
+ rubocop-ast (>= 0.6.0)
87
+ ruby-progressbar (~> 1.7)
88
+ unicode-display_width (>= 1.4.0, < 2.0)
89
+ rubocop-ast (1.23.0)
90
+ parser (>= 3.1.1.0)
91
+ ruby-progressbar (1.11.0)
92
+ to_regexp (0.2.1)
93
+ unicode-display_width (1.8.0)
94
+ webmock (3.6.2)
95
+ addressable (>= 2.3.6)
96
+ crack (>= 0.3.2)
97
+ hashdiff (>= 0.4.0, < 2.0.0)
98
+ yajl-ruby (1.4.3)
99
+ yaml-safe_load_stream2 (0.1.1)
100
+ zeitwerk (2.6.6)
101
+
102
+ PLATFORMS
103
+ aarch64-linux
104
+ arm64-darwin-21
105
+ x86_64-darwin-21
106
+
107
+ DEPENDENCIES
108
+ bundler (>= 1.17, < 3.0)
109
+ byebug (~> 11.1)
110
+ k8s-ruby!
111
+ rake (>= 12.3.3)
112
+ rspec (~> 3.7)
113
+ rubocop (~> 0.82)
114
+ webmock (~> 3.6.2)
115
+
116
+ BUNDLED WITH
117
+ 2.3.26
data/README.md CHANGED
@@ -32,11 +32,11 @@ gem 'k8s-ruby'
32
32
 
33
33
  And then execute:
34
34
 
35
- $ bundle
35
+ bundle
36
36
 
37
37
  Or install it yourself as:
38
38
 
39
- $ gem install k8s-ruby
39
+ gem install k8s-ruby
40
40
 
41
41
  And then load the code using:
42
42
 
@@ -47,6 +47,7 @@ require 'k8s-ruby'
47
47
  ## Usage
48
48
 
49
49
  ### Overview
50
+
50
51
  The top-level `K8s::Client` provides access to separate `APIClient` instances for each Kubernetes API Group (`v1`, `apps/v1`, etc.), which in turns provides access to separate `ResourceClient` instances for each API resource type (`nodes`, `pods`, `deployments`, etc.).
51
52
 
52
53
  Individual resources are returned as `K8s::Resource` instances, which are `RecursiveOpenStruct` instances providing attribute access (`resource.metadata.name`). The resource instances are returned by methods such as `client.api('v1').resource('nodes').get('foo')`, and passed as arguments for `client.api('v1').resource('nodes').create_resource(res)`. Resources can also be loaded from disk using `K8s::Resource.from_files(path)`, and passed to the top-level methods such as `client.create_resource(res)`, which lookup the correct API/Resource client from the resource `apiVersion` and `kind`.
@@ -174,8 +175,9 @@ pods = client.api('v1').resource('pods', namespace: 'default').delete_collection
174
175
  ### Creating resources
175
176
 
176
177
  #### Programmatically defined resources
178
+
177
179
  ```ruby
178
- service = K8s::Resource.new(
180
+ service = K8s::Resource.new({
179
181
  apiVersion: 'v1',
180
182
  kind: 'Service',
181
183
  metadata: {
@@ -189,7 +191,7 @@ service = K8s::Resource.new(
189
191
  ],
190
192
  selector: {'app' => 'test'},
191
193
  },
192
- )
194
+ })
193
195
 
194
196
  logger.info "Create service=#{service.metadata.name} in namespace=#{service.metadata.namespace}"
195
197
 
data/docker-compose.yaml CHANGED
@@ -6,8 +6,6 @@ services:
6
6
  BASE_IMAGE: ruby:2.6
7
7
  volumes:
8
8
  - .:/app
9
- entrypoint: bundle exec rspec
10
-
11
9
  rspec-2.7:
12
10
  build:
13
11
  context: .
@@ -15,13 +13,10 @@ services:
15
13
  BASE_IMAGE: ruby:2.7
16
14
  volumes:
17
15
  - .:/app
18
- entrypoint: bundle exec rspec
19
- # # Fails, please fix
20
- # rspec-3.0:
21
- # build:
22
- # context: .
23
- # args:
24
- # BASE_IMAGE: ruby:3.0
25
- # volumes:
26
- # - .:/app
27
- # entrypoint: bundle exec rspec
16
+ rspec-3.0:
17
+ build:
18
+ context: .
19
+ args:
20
+ BASE_IMAGE: ruby:3.0
21
+ volumes:
22
+ - .:/app
data/entrypoint.sh ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -Eeuo pipefail
4
+
5
+ bundle install
6
+ bundle exec rake spec
data/k8s-ruby.gemspec CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- lib = File.expand_path("../lib", __FILE__)
2
+ lib = File.expand_path("lib", __dir__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require "k8s/ruby/version"
5
5
 
@@ -15,22 +15,23 @@ Gem::Specification.new do |spec|
15
15
 
16
16
  # Specify which files should be added to the gem when it is released.
17
17
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
18
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
18
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
19
19
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
20
20
  end
21
21
  spec.bindir = "bin"
22
22
  spec.executables = []
23
23
  spec.require_paths = ["lib"]
24
- spec.required_ruby_version = '>= 2.4'
24
+ spec.required_ruby_version = [">= 2.4", "< 3.1"]
25
25
 
26
26
  spec.add_runtime_dependency "excon", "~> 0.71"
27
- spec.add_runtime_dependency "dry-struct", "~> 0.5.0"
28
- spec.add_runtime_dependency "dry-types", "~> 0.13.0"
29
- spec.add_runtime_dependency "recursive-open-struct", "~> 1.1.0"
30
- spec.add_runtime_dependency 'hashdiff', '~> 1.0.0'
31
- spec.add_runtime_dependency 'jsonpath', '~> 0.9.5'
32
- spec.add_runtime_dependency 'yajl-ruby', '~> 1.4.0'
33
- spec.add_runtime_dependency "yaml-safe_load_stream", "~> 0.1"
27
+ spec.add_runtime_dependency "dry-struct", "<= 1.6.0"
28
+ spec.add_runtime_dependency "dry-types", "<= 1.7.0"
29
+ spec.add_runtime_dependency "dry-configurable", "~> 0.13.0"
30
+ spec.add_runtime_dependency "recursive-open-struct", "~> 1.1.3"
31
+ spec.add_runtime_dependency "hashdiff", "~> 1.0.0"
32
+ spec.add_runtime_dependency "jsonpath", "~> 0.9.5"
33
+ spec.add_runtime_dependency "yajl-ruby", "~> 1.4.0"
34
+ spec.add_runtime_dependency "yaml-safe_load_stream2", "~> 0.1.1"
34
35
 
35
36
  spec.add_development_dependency "bundler", ">= 1.17", "< 3.0"
36
37
  spec.add_development_dependency "rake", ">= 12.3.3"
@@ -12,8 +12,8 @@ module K8s
12
12
  attribute :version, Types::Strict::String.optional.default(nil)
13
13
  attribute :kind, Types::Strict::String
14
14
  attribute :verbs, Types::Strict::Array.of(Types::Strict::String)
15
- attribute :shortNames, Types::Strict::Array.of(Types::Strict::String).optional.default(proc { [] })
16
- attribute :categories, Types::Strict::Array.of(Types::Strict::String).optional.default(proc { [] })
15
+ attribute :shortNames, Types::Strict::Array.of(Types::Strict::String).optional.default(proc { [] }, shared: true)
16
+ attribute :categories, Types::Strict::Array.of(Types::Strict::String).optional.default(proc { [] }, shared: true)
17
17
  end
18
18
 
19
19
  # @see https://godoc.org/k8s.io/apimachinery/pkg/apis/meta/v1#APIResourceList
@@ -38,9 +38,9 @@ module K8s
38
38
  attribute :deletionGracePeriodSeconds, Types::Strict::Integer.optional.default(nil)
39
39
  attribute :labels, Types::Strict::Hash.map(Types::Strict::String, Types::Strict::String).optional.default(nil)
40
40
  attribute :annotations, Types::Strict::Hash.map(Types::Strict::String, Types::Strict::String).optional.default(nil)
41
- attribute :ownerReferences, Types::Strict::Array.of(OwnerReference).optional.default([])
41
+ attribute :ownerReferences, Types::Strict::Array.of(OwnerReference).optional.default([], shared: true)
42
42
  attribute :initializers, Initializers.optional.default(nil)
43
- attribute :finalizers, Types::Strict::Array.of(Types::Strict::String).optional.default([])
43
+ attribute :finalizers, Types::Strict::Array.of(Types::Strict::String).optional.default([], shared: true)
44
44
  attribute :clusterName, Types::Strict::String.optional.default(nil)
45
45
  end
46
46
 
data/lib/k8s/api.rb CHANGED
@@ -8,7 +8,7 @@ module K8s
8
8
  module API
9
9
  # Common Dry::Types used in the API
10
10
  module Types
11
- include Dry::Types.module
11
+ include Dry::Types()
12
12
  end
13
13
 
14
14
  # Common API struct type, handling JSON transforms with symbol keys
data/lib/k8s/config.rb CHANGED
@@ -25,7 +25,7 @@ module K8s
25
25
  class Config < ConfigStruct
26
26
  # Common dry-types for config
27
27
  class Types
28
- include Dry::Types.module
28
+ include Dry::Types()
29
29
  end
30
30
 
31
31
  # structured cluster
@@ -99,12 +99,12 @@ module K8s
99
99
 
100
100
  attribute :kind, Types::Strict::String.optional.default(nil)
101
101
  attribute :apiVersion, Types::Strict::String.optional.default(nil)
102
- attribute :preferences, Types::Strict::Hash.optional.default(proc { {} })
103
- attribute :clusters, Types::Strict::Array.of(NamedCluster).optional.default(proc { [] })
104
- attribute :users, Types::Strict::Array.of(NamedUser).optional.default(proc { [] })
105
- attribute :contexts, Types::Strict::Array.of(NamedContext).optional.default(proc { [] })
102
+ attribute :preferences, Types::Strict::Hash.optional.default(proc { {} }, shared: true)
103
+ attribute :clusters, Types::Strict::Array.of(NamedCluster).optional.default(proc { [] }, shared: true)
104
+ attribute :users, Types::Strict::Array.of(NamedUser).optional.default(proc { [] }, shared: true)
105
+ attribute :contexts, Types::Strict::Array.of(NamedContext).optional.default(proc { [] }, shared: true)
106
106
  attribute :current_context, Types::Strict::String.optional.default(nil)
107
- attribute :extensions, Types::Strict::Array.optional.default(proc { [] })
107
+ attribute :extensions, Types::Strict::Array.optional.default(proc { [] }, shared: true)
108
108
 
109
109
  # Loads a configuration from a YAML file
110
110
  #
data/lib/k8s/resource.rb CHANGED
@@ -40,19 +40,16 @@ module K8s
40
40
  end
41
41
 
42
42
  # @param hash [Hash]
43
- # @param recurse_over_arrays [Boolean]
44
43
  # @param options [Hash] see RecursiveOpenStruct#initialize
45
- def initialize(hash, recurse_over_arrays: true, **options)
46
- super(hash,
47
- recurse_over_arrays: recurse_over_arrays,
48
- **options
49
- )
44
+ def initialize(hash, options = {})
45
+ options_with_defaults = { recurse_over_arrays: true }.merge(options)
46
+ super(hash, options_with_defaults)
50
47
  end
51
48
 
52
- # @param options [Hash] see Hash#to_json
49
+ # @param args [Array] see Hash#to_json
53
50
  # @return [String]
54
- def to_json(**options)
55
- to_hash.to_json(**options)
51
+ def to_json(*args, **options)
52
+ to_hash.to_json(*args, **options)
56
53
  end
57
54
 
58
55
  # @param other [K8s::Resource]
@@ -3,6 +3,6 @@
3
3
  module K8s
4
4
  class Ruby
5
5
  # Updated on releases using semver.
6
- VERSION = "0.11.0"
6
+ VERSION = "0.13.0"
7
7
  end
8
8
  end
data/lib/k8s/transport.rb CHANGED
@@ -370,11 +370,8 @@ module K8s
370
370
  # @param options [Hash] @see #request
371
371
  # @return [Array<response_class, Hash, NilClass>]
372
372
  def get(*path, **options)
373
- request(
374
- method: 'GET',
375
- path: self.path(*path),
376
- **options
377
- )
373
+ options = options.merge({ method: 'GET', path: self.path(*path) })
374
+ request(**options)
378
375
  end
379
376
 
380
377
  # @param paths [Array<String>]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: k8s-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - rdx.net
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-01-12 00:00:00.000000000 Z
12
+ date: 2022-11-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: excon
@@ -29,18 +29,32 @@ dependencies:
29
29
  name: dry-struct
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - "<="
33
33
  - !ruby/object:Gem::Version
34
- version: 0.5.0
34
+ version: 1.6.0
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - "~>"
39
+ - - "<="
40
40
  - !ruby/object:Gem::Version
41
- version: 0.5.0
41
+ version: 1.6.0
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: dry-types
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "<="
47
+ - !ruby/object:Gem::Version
48
+ version: 1.7.0
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "<="
54
+ - !ruby/object:Gem::Version
55
+ version: 1.7.0
56
+ - !ruby/object:Gem::Dependency
57
+ name: dry-configurable
44
58
  requirement: !ruby/object:Gem::Requirement
45
59
  requirements:
46
60
  - - "~>"
@@ -59,14 +73,14 @@ dependencies:
59
73
  requirements:
60
74
  - - "~>"
61
75
  - !ruby/object:Gem::Version
62
- version: 1.1.0
76
+ version: 1.1.3
63
77
  type: :runtime
64
78
  prerelease: false
65
79
  version_requirements: !ruby/object:Gem::Requirement
66
80
  requirements:
67
81
  - - "~>"
68
82
  - !ruby/object:Gem::Version
69
- version: 1.1.0
83
+ version: 1.1.3
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: hashdiff
72
86
  requirement: !ruby/object:Gem::Requirement
@@ -110,19 +124,19 @@ dependencies:
110
124
  - !ruby/object:Gem::Version
111
125
  version: 1.4.0
112
126
  - !ruby/object:Gem::Dependency
113
- name: yaml-safe_load_stream
127
+ name: yaml-safe_load_stream2
114
128
  requirement: !ruby/object:Gem::Requirement
115
129
  requirements:
116
130
  - - "~>"
117
131
  - !ruby/object:Gem::Version
118
- version: '0.1'
132
+ version: 0.1.1
119
133
  type: :runtime
120
134
  prerelease: false
121
135
  version_requirements: !ruby/object:Gem::Requirement
122
136
  requirements:
123
137
  - - "~>"
124
138
  - !ruby/object:Gem::Version
125
- version: '0.1'
139
+ version: 0.1.1
126
140
  - !ruby/object:Gem::Dependency
127
141
  name: bundler
128
142
  requirement: !ruby/object:Gem::Requirement
@@ -220,16 +234,19 @@ executables: []
220
234
  extensions: []
221
235
  extra_rdoc_files: []
222
236
  files:
237
+ - ".github/workflows/tests.yml"
223
238
  - ".gitignore"
224
239
  - ".rspec"
225
240
  - ".rubocop.relaxed.yml"
226
241
  - ".rubocop.yml"
227
242
  - Dockerfile
228
243
  - Gemfile
244
+ - Gemfile.lock
229
245
  - LICENSE
230
246
  - README.md
231
247
  - Rakefile
232
248
  - docker-compose.yaml
249
+ - entrypoint.sh
233
250
  - k8s-ruby.gemspec
234
251
  - lib/k8s-ruby.rb
235
252
  - lib/k8s/api.rb
@@ -265,13 +282,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
265
282
  - - ">="
266
283
  - !ruby/object:Gem::Version
267
284
  version: '2.4'
285
+ - - "<"
286
+ - !ruby/object:Gem::Version
287
+ version: '3.1'
268
288
  required_rubygems_version: !ruby/object:Gem::Requirement
269
289
  requirements:
270
290
  - - ">="
271
291
  - !ruby/object:Gem::Version
272
292
  version: '0'
273
293
  requirements: []
274
- rubygems_version: 3.0.9
294
+ rubygems_version: 3.2.33
275
295
  signing_key:
276
296
  specification_version: 4
277
297
  summary: Kubernetes client library for Ruby