k8s-ruby 0.12.0 → 0.14.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 +4 -4
- data/.github/workflows/tests.yml +36 -0
- data/.gitignore +1 -1
- data/Dockerfile +3 -3
- data/Gemfile +2 -0
- data/README.md +6 -2
- data/docker-compose.yaml +7 -4
- data/entrypoint.sh +6 -0
- data/k8s-ruby.gemspec +4 -4
- data/lib/k8s/config.rb +4 -1
- data/lib/k8s/resource.rb +1 -1
- data/lib/k8s/ruby/version.rb +1 -1
- metadata +19 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9578f60e7b7d2a2b420991a83fe76229b24b2ae979659489bc799da9b0d04ec9
|
4
|
+
data.tar.gz: 85701ff904f50ede9395191e30df570fd2efbfb0006fb128c696bd23cada36e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2d9d82630ecdd1b7a19d180d77d26290807ef0c7fa5b7c9e3e0356cabd75ac71df01c621e31699988fb0365dd764ed33a1273431ee443acc2d5ca844a6337d6
|
7
|
+
data.tar.gz: 7eb209e837f19da46987014fe0b144999632052159ae8ca34ab0544a632fa040bb107951bc2d390f1aa57afcb2dfa99feeaa7aff70d5d5c31a126278c46ef27a
|
@@ -0,0 +1,36 @@
|
|
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 build rspec-2.6
|
15
|
+
- run: docker-compose run rspec-2.6
|
16
|
+
|
17
|
+
build-2-7:
|
18
|
+
runs-on: ubuntu-latest
|
19
|
+
steps:
|
20
|
+
- uses: actions/checkout@v3
|
21
|
+
- run: docker-compose build rspec-2.7
|
22
|
+
- run: docker-compose run rspec-2.7
|
23
|
+
|
24
|
+
build-3-0:
|
25
|
+
runs-on: ubuntu-latest
|
26
|
+
steps:
|
27
|
+
- uses: actions/checkout@v3
|
28
|
+
- run: docker-compose build rspec-3.0
|
29
|
+
- run: docker-compose run rspec-3.0
|
30
|
+
|
31
|
+
build-3-1:
|
32
|
+
runs-on: ubuntu-latest
|
33
|
+
steps:
|
34
|
+
- uses: actions/checkout@v3
|
35
|
+
- run: docker-compose build rspec-3.1
|
36
|
+
- run: docker-compose run rspec-3.1
|
data/.gitignore
CHANGED
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
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# K8s::Client provided by k8s-ruby
|
2
2
|
|
3
|
+
## Readme continues
|
4
|
+
|
3
5
|
Ruby client library for the Kubernetes (1.9+) API.
|
4
6
|
|
5
7
|
The `k8s-ruby` project is a fork of
|
@@ -32,11 +34,11 @@ gem 'k8s-ruby'
|
|
32
34
|
|
33
35
|
And then execute:
|
34
36
|
|
35
|
-
|
37
|
+
bundle
|
36
38
|
|
37
39
|
Or install it yourself as:
|
38
40
|
|
39
|
-
|
41
|
+
gem install k8s-ruby
|
40
42
|
|
41
43
|
And then load the code using:
|
42
44
|
|
@@ -47,6 +49,7 @@ require 'k8s-ruby'
|
|
47
49
|
## Usage
|
48
50
|
|
49
51
|
### Overview
|
52
|
+
|
50
53
|
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
54
|
|
52
55
|
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 +177,7 @@ pods = client.api('v1').resource('pods', namespace: 'default').delete_collection
|
|
174
177
|
### Creating resources
|
175
178
|
|
176
179
|
#### Programmatically defined resources
|
180
|
+
|
177
181
|
```ruby
|
178
182
|
service = K8s::Resource.new({
|
179
183
|
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,11 @@ services:
|
|
24
20
|
BASE_IMAGE: ruby:3.0
|
25
21
|
volumes:
|
26
22
|
- .:/app
|
23
|
+
rspec-3.1:
|
24
|
+
build:
|
25
|
+
context: .
|
26
|
+
args:
|
27
|
+
BASE_IMAGE: ruby:3.1
|
28
|
+
volumes:
|
29
|
+
- .:/app
|
27
30
|
entrypoint: bundle exec rspec
|
data/entrypoint.sh
ADDED
data/k8s-ruby.gemspec
CHANGED
@@ -21,17 +21,17 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.bindir = "bin"
|
22
22
|
spec.executables = []
|
23
23
|
spec.require_paths = ["lib"]
|
24
|
-
spec.required_ruby_version = [">= 2.4", "< 3.
|
24
|
+
spec.required_ruby_version = spec.required_ruby_version = [">= 2.4", "< 3.2"]
|
25
25
|
|
26
26
|
spec.add_runtime_dependency "excon", "~> 0.71"
|
27
|
-
spec.add_runtime_dependency "dry-struct", "
|
28
|
-
spec.add_runtime_dependency "dry-types", "
|
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"
|
32
32
|
spec.add_runtime_dependency "jsonpath", "~> 0.9.5"
|
33
33
|
spec.add_runtime_dependency "yajl-ruby", "~> 1.4.0"
|
34
|
-
spec.add_runtime_dependency "yaml-
|
34
|
+
spec.add_runtime_dependency "yaml-safe_load_stream3"
|
35
35
|
|
36
36
|
spec.add_development_dependency "bundler", ">= 1.17", "< 3.0"
|
37
37
|
spec.add_development_dependency "rake", ">= 12.3.3"
|
data/lib/k8s/config.rb
CHANGED
@@ -111,7 +111,10 @@ module K8s
|
|
111
111
|
# @param path [String]
|
112
112
|
# @return [K8s::Config]
|
113
113
|
def self.load_file(path)
|
114
|
-
new(YAML.safe_load(File.read(File.expand_path(path)),
|
114
|
+
new(YAML.safe_load(File.read(File.expand_path(path)),
|
115
|
+
permitted_classes: [Time, DateTime, Date],
|
116
|
+
permitted_symbols: [],
|
117
|
+
aliases: true))
|
115
118
|
end
|
116
119
|
|
117
120
|
# Loads configuration files listed in KUBE_CONFIG environment variable and
|
data/lib/k8s/resource.rb
CHANGED
@@ -23,7 +23,7 @@ module K8s
|
|
23
23
|
# @param filename [String] file path
|
24
24
|
# @return [K8s::Resource]
|
25
25
|
def self.from_file(filename)
|
26
|
-
new(YAML.safe_load(File.read(filename), [], [], true, filename))
|
26
|
+
new(YAML.safe_load(File.read(filename), permitted_classes: [], permitted_symbols: [], aliases: true, filename: filename))
|
27
27
|
end
|
28
28
|
|
29
29
|
# @param path [String] file path
|
data/lib/k8s/ruby/version.rb
CHANGED
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.
|
4
|
+
version: 0.14.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:
|
12
|
+
date: 2023-04-12 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.
|
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.
|
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.
|
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.
|
55
|
+
version: 1.7.0
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: dry-configurable
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -124,19 +124,19 @@ dependencies:
|
|
124
124
|
- !ruby/object:Gem::Version
|
125
125
|
version: 1.4.0
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
|
-
name: yaml-
|
127
|
+
name: yaml-safe_load_stream3
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
|
-
- - "
|
130
|
+
- - ">="
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version: 0
|
132
|
+
version: '0'
|
133
133
|
type: :runtime
|
134
134
|
prerelease: false
|
135
135
|
version_requirements: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
|
-
- - "
|
137
|
+
- - ">="
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
version: 0
|
139
|
+
version: '0'
|
140
140
|
- !ruby/object:Gem::Dependency
|
141
141
|
name: bundler
|
142
142
|
requirement: !ruby/object:Gem::Requirement
|
@@ -234,6 +234,7 @@ 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"
|
@@ -244,6 +245,7 @@ files:
|
|
244
245
|
- README.md
|
245
246
|
- Rakefile
|
246
247
|
- docker-compose.yaml
|
248
|
+
- entrypoint.sh
|
247
249
|
- k8s-ruby.gemspec
|
248
250
|
- lib/k8s-ruby.rb
|
249
251
|
- lib/k8s/api.rb
|
@@ -281,14 +283,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
281
283
|
version: '2.4'
|
282
284
|
- - "<"
|
283
285
|
- !ruby/object:Gem::Version
|
284
|
-
version: '3.
|
286
|
+
version: '3.2'
|
285
287
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
286
288
|
requirements:
|
287
289
|
- - ">="
|
288
290
|
- !ruby/object:Gem::Version
|
289
291
|
version: '0'
|
290
292
|
requirements: []
|
291
|
-
rubygems_version: 3.
|
293
|
+
rubygems_version: 3.3.7
|
292
294
|
signing_key:
|
293
295
|
specification_version: 4
|
294
296
|
summary: Kubernetes client library for Ruby
|