k8s-ruby 0.12.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: 462575bda9c48588eb7d9d9d1ffda32c973ebdbf0b3d9113a7b8a2fdd94b781f
4
- data.tar.gz: 2a593329f6040478517bc2895d1cf4929a19f728fd97ceb696e538dfb0de161e
3
+ metadata.gz: 852ad2775ba818eac10ac0cfd9f1e362e1390526102e7c6e0d46b4941e153dc6
4
+ data.tar.gz: 83ef7dc2a19aa6abcc703161f715ce3d4b14732546ec5025991fbcc9d1440b47
5
5
  SHA512:
6
- metadata.gz: 4ca53f957316cfc8b8fa38988e5637e85e110c8772601c6ad591a711486393d7ed530bfd86b6840bd8156bab9bf4299f5547963e825a5b1ee4c5835d95d8c0ae
7
- data.tar.gz: b5ad610fadaa524f603e90b5c027bd6f17dc9005dc70785467a5ef50e59ae73aebf4c1962f0202f8221b070927c480286725baab366cfa888d7b1a9a76036b39
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,7 +6,7 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
- Gemfile.lock
9
+
10
10
  .ruby-version
11
11
  .tool-versions
12
12
  /.byebug_history
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.5
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,6 +175,7 @@ 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
180
  service = K8s::Resource.new({
179
181
  apiVersion: 'v1',
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,8 +13,6 @@ services:
15
13
  BASE_IMAGE: ruby:2.7
16
14
  volumes:
17
15
  - .:/app
18
- entrypoint: bundle exec rspec
19
-
20
16
  rspec-3.0:
21
17
  build:
22
18
  context: .
@@ -24,4 +20,3 @@ services:
24
20
  BASE_IMAGE: ruby:3.0
25
21
  volumes:
26
22
  - .:/app
27
- entrypoint: bundle exec rspec
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
@@ -24,8 +24,8 @@ Gem::Specification.new do |spec|
24
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", "~> 1.3.0"
28
- spec.add_runtime_dependency "dry-types", "~> 1.4.0"
27
+ spec.add_runtime_dependency "dry-struct", "<= 1.6.0"
28
+ spec.add_runtime_dependency "dry-types", "<= 1.7.0"
29
29
  spec.add_runtime_dependency "dry-configurable", "~> 0.13.0"
30
30
  spec.add_runtime_dependency "recursive-open-struct", "~> 1.1.3"
31
31
  spec.add_runtime_dependency "hashdiff", "~> 1.0.0"
@@ -3,6 +3,6 @@
3
3
  module K8s
4
4
  class Ruby
5
5
  # Updated on releases using semver.
6
- VERSION = "0.12.0"
6
+ VERSION = "0.13.0"
7
7
  end
8
8
  end
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.12.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-26 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,30 +29,30 @@ 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: 1.3.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: 1.3.0
41
+ version: 1.6.0
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: dry-types
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "~>"
46
+ - - "<="
47
47
  - !ruby/object:Gem::Version
48
- version: 1.4.0
48
+ version: 1.7.0
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - "<="
54
54
  - !ruby/object:Gem::Version
55
- version: 1.4.0
55
+ version: 1.7.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: dry-configurable
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -234,16 +234,19 @@ executables: []
234
234
  extensions: []
235
235
  extra_rdoc_files: []
236
236
  files:
237
+ - ".github/workflows/tests.yml"
237
238
  - ".gitignore"
238
239
  - ".rspec"
239
240
  - ".rubocop.relaxed.yml"
240
241
  - ".rubocop.yml"
241
242
  - Dockerfile
242
243
  - Gemfile
244
+ - Gemfile.lock
243
245
  - LICENSE
244
246
  - README.md
245
247
  - Rakefile
246
248
  - docker-compose.yaml
249
+ - entrypoint.sh
247
250
  - k8s-ruby.gemspec
248
251
  - lib/k8s-ruby.rb
249
252
  - lib/k8s/api.rb
@@ -288,7 +291,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
288
291
  - !ruby/object:Gem::Version
289
292
  version: '0'
290
293
  requirements: []
291
- rubygems_version: 3.2.3
294
+ rubygems_version: 3.2.33
292
295
  signing_key:
293
296
  specification_version: 4
294
297
  summary: Kubernetes client library for Ruby