k8s-ruby 0.11.0 → 0.12.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: 462575bda9c48588eb7d9d9d1ffda32c973ebdbf0b3d9113a7b8a2fdd94b781f
4
+ data.tar.gz: 2a593329f6040478517bc2895d1cf4929a19f728fd97ceb696e538dfb0de161e
5
5
  SHA512:
6
- metadata.gz: 278cf65ef4d9795795b31352720831f82b90110a8463d6f792eddd6c8357e1549d70d859d113e042f1ef6543b2b43bd0d1aa07e178dbfbdd279bcc6d25907f51
7
- data.tar.gz: 104f06d0534076270881b857f85b180c13cd8fe3a6b995f1335a69ae57844abc3f01f3665c58748b33791537173de0de35d9b09e7b7f3d0b4cefac61586ba2c3
6
+ metadata.gz: 4ca53f957316cfc8b8fa38988e5637e85e110c8772601c6ad591a711486393d7ed530bfd86b6840bd8156bab9bf4299f5547963e825a5b1ee4c5835d95d8c0ae
7
+ data.tar.gz: b5ad610fadaa524f603e90b5c027bd6f17dc9005dc70785467a5ef50e59ae73aebf4c1962f0202f8221b070927c480286725baab366cfa888d7b1a9a76036b39
data/.gitignore CHANGED
@@ -8,6 +8,7 @@
8
8
  /tmp/
9
9
  Gemfile.lock
10
10
  .ruby-version
11
+ .tool-versions
11
12
  /.byebug_history
12
13
 
13
14
  # rspec failure tracking
data/Dockerfile CHANGED
@@ -6,7 +6,7 @@ WORKDIR /app
6
6
  COPY Gemfile *.gemspec ./
7
7
  COPY lib/k8s/ruby/version.rb ./lib/k8s/ruby/
8
8
 
9
- RUN gem install bundler:2.3.4
9
+ RUN gem install bundler:2.3.5
10
10
  RUN bundle install
11
11
  RUN bundle update --bundler
12
12
 
data/README.md CHANGED
@@ -175,7 +175,7 @@ pods = client.api('v1').resource('pods', namespace: 'default').delete_collection
175
175
 
176
176
  #### Programmatically defined resources
177
177
  ```ruby
178
- service = K8s::Resource.new(
178
+ service = K8s::Resource.new({
179
179
  apiVersion: 'v1',
180
180
  kind: 'Service',
181
181
  metadata: {
@@ -189,7 +189,7 @@ service = K8s::Resource.new(
189
189
  ],
190
190
  selector: {'app' => 'test'},
191
191
  },
192
- )
192
+ })
193
193
 
194
194
  logger.info "Create service=#{service.metadata.name} in namespace=#{service.metadata.namespace}"
195
195
 
data/docker-compose.yaml CHANGED
@@ -16,12 +16,12 @@ services:
16
16
  volumes:
17
17
  - .:/app
18
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
19
+
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
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.3.0"
28
+ spec.add_runtime_dependency "dry-types", "~> 1.4.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.12.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.12.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-01-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: excon
@@ -31,16 +31,30 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 0.5.0
34
+ version: 1.3.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.3.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.4.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.4.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
@@ -265,13 +279,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
265
279
  - - ">="
266
280
  - !ruby/object:Gem::Version
267
281
  version: '2.4'
282
+ - - "<"
283
+ - !ruby/object:Gem::Version
284
+ version: '3.1'
268
285
  required_rubygems_version: !ruby/object:Gem::Requirement
269
286
  requirements:
270
287
  - - ">="
271
288
  - !ruby/object:Gem::Version
272
289
  version: '0'
273
290
  requirements: []
274
- rubygems_version: 3.0.9
291
+ rubygems_version: 3.2.3
275
292
  signing_key:
276
293
  specification_version: 4
277
294
  summary: Kubernetes client library for Ruby