k8s-ruby 0.11.0 → 0.12.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: 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