kubeclient 4.9.1 → 4.9.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/actions.yml +42 -0
  3. data/CHANGELOG.md +47 -0
  4. data/README.md +7 -0
  5. data/kubeclient.gemspec +4 -2
  6. data/lib/kubeclient/common.rb +2 -2
  7. data/lib/kubeclient/config.rb +22 -10
  8. data/lib/kubeclient/version.rb +1 -1
  9. metadata +22 -214
  10. data/.travis.yml +0 -29
  11. data/test/cassettes/kubernetes_guestbook.yml +0 -879
  12. data/test/config/allinone.kubeconfig +0 -20
  13. data/test/config/execauth.kubeconfig +0 -62
  14. data/test/config/external-ca.pem +0 -18
  15. data/test/config/external-cert.pem +0 -19
  16. data/test/config/external-key.rsa +0 -27
  17. data/test/config/external.kubeconfig +0 -20
  18. data/test/config/gcpauth.kubeconfig +0 -22
  19. data/test/config/gcpcmdauth.kubeconfig +0 -26
  20. data/test/config/nouser.kubeconfig +0 -16
  21. data/test/config/oidcauth.kubeconfig +0 -25
  22. data/test/config/timestamps.kubeconfig +0 -25
  23. data/test/config/userauth.kubeconfig +0 -28
  24. data/test/json/bindings_list.json +0 -10
  25. data/test/json/component_status.json +0 -17
  26. data/test/json/component_status_list.json +0 -52
  27. data/test/json/config.istio.io_api_resource_list.json +0 -679
  28. data/test/json/config_map_list.json +0 -9
  29. data/test/json/core_api_resource_list.json +0 -181
  30. data/test/json/core_api_resource_list_without_kind.json +0 -129
  31. data/test/json/core_oapi_resource_list_without_kind.json +0 -197
  32. data/test/json/created_endpoint.json +0 -28
  33. data/test/json/created_namespace.json +0 -20
  34. data/test/json/created_secret.json +0 -16
  35. data/test/json/created_security_context_constraint.json +0 -65
  36. data/test/json/created_service.json +0 -31
  37. data/test/json/empty_pod_list.json +0 -9
  38. data/test/json/endpoint_list.json +0 -48
  39. data/test/json/entity_list.json +0 -56
  40. data/test/json/event_list.json +0 -35
  41. data/test/json/extensions_v1beta1_api_resource_list.json +0 -217
  42. data/test/json/limit_range.json +0 -23
  43. data/test/json/limit_range_list.json +0 -31
  44. data/test/json/namespace.json +0 -13
  45. data/test/json/namespace_exception.json +0 -8
  46. data/test/json/namespace_list.json +0 -32
  47. data/test/json/node.json +0 -29
  48. data/test/json/node_list.json +0 -37
  49. data/test/json/node_notice.json +0 -160
  50. data/test/json/persistent_volume.json +0 -37
  51. data/test/json/persistent_volume_claim.json +0 -32
  52. data/test/json/persistent_volume_claim_list.json +0 -40
  53. data/test/json/persistent_volume_claims_nil_items.json +0 -8
  54. data/test/json/persistent_volume_list.json +0 -45
  55. data/test/json/pod.json +0 -92
  56. data/test/json/pod_list.json +0 -79
  57. data/test/json/pod_template_list.json +0 -9
  58. data/test/json/pods_1.json +0 -265
  59. data/test/json/pods_2.json +0 -102
  60. data/test/json/pods_410.json +0 -9
  61. data/test/json/processed_template.json +0 -27
  62. data/test/json/replication_controller.json +0 -57
  63. data/test/json/replication_controller_list.json +0 -66
  64. data/test/json/resource_quota.json +0 -46
  65. data/test/json/resource_quota_list.json +0 -54
  66. data/test/json/secret_list.json +0 -44
  67. data/test/json/security.openshift.io_api_resource_list.json +0 -69
  68. data/test/json/security_context_constraint_list.json +0 -375
  69. data/test/json/service.json +0 -33
  70. data/test/json/service_account.json +0 -25
  71. data/test/json/service_account_list.json +0 -82
  72. data/test/json/service_illegal_json_404.json +0 -1
  73. data/test/json/service_json_patch.json +0 -26
  74. data/test/json/service_list.json +0 -97
  75. data/test/json/service_merge_patch.json +0 -26
  76. data/test/json/service_patch.json +0 -25
  77. data/test/json/service_update.json +0 -22
  78. data/test/json/template.json +0 -27
  79. data/test/json/template.openshift.io_api_resource_list.json +0 -75
  80. data/test/json/template_list.json +0 -35
  81. data/test/json/versions_list.json +0 -6
  82. data/test/json/watch_stream.json +0 -3
  83. data/test/test_common.rb +0 -95
  84. data/test/test_common_url_handling.rb +0 -160
  85. data/test/test_component_status.rb +0 -29
  86. data/test/test_config.rb +0 -222
  87. data/test/test_endpoint.rb +0 -54
  88. data/test/test_exec_credentials.rb +0 -225
  89. data/test/test_gcp_command_credentials.rb +0 -27
  90. data/test/test_google_application_default_credentials.rb +0 -15
  91. data/test/test_guestbook_go.rb +0 -235
  92. data/test/test_helper.rb +0 -18
  93. data/test/test_kubeclient.rb +0 -881
  94. data/test/test_limit_range.rb +0 -25
  95. data/test/test_missing_methods.rb +0 -80
  96. data/test/test_namespace.rb +0 -59
  97. data/test/test_node.rb +0 -70
  98. data/test/test_oidc_auth_provider.rb +0 -103
  99. data/test/test_persistent_volume.rb +0 -29
  100. data/test/test_persistent_volume_claim.rb +0 -28
  101. data/test/test_pod.rb +0 -81
  102. data/test/test_pod_log.rb +0 -157
  103. data/test/test_process_template.rb +0 -80
  104. data/test/test_replication_controller.rb +0 -47
  105. data/test/test_resource_list_without_kind.rb +0 -78
  106. data/test/test_resource_quota.rb +0 -23
  107. data/test/test_secret.rb +0 -62
  108. data/test/test_security_context_constraint.rb +0 -62
  109. data/test/test_service.rb +0 -357
  110. data/test/test_service_account.rb +0 -26
  111. data/test/test_watch.rb +0 -195
  112. data/test/txt/pod_log.txt +0 -6
  113. data/test/valid_token_file +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1ea191875dc5c9e99d49152f6615caa50478bc8604a4de9c6fdda0d46da75ea5
4
- data.tar.gz: 84214e5b1f2f3116aeb646828e0a5cf6456173493abf1fb384fe6132a723271d
3
+ metadata.gz: 3f402a08fef66f160df49d507487769073b248828869a2c874d78e947b1d6686
4
+ data.tar.gz: 5d371f47861538f1e3e9deced8d1c41be1e0ca857ab8ed0607a75417948bb6f6
5
5
  SHA512:
6
- metadata.gz: 549974ed0fbec82aa99df19db4829af4da21eec3ab037037c9a6880ab2b7f0bbf9a854ee9e1713a9eedccf6e7fafbc593301a8e67b745e54d88f9da158f6b596
7
- data.tar.gz: 2f44720eca3c585e69c562b218f6e17c1ed0fb13dd5e26177fef6fa3ec610a6c0b1f056102ac3d3e3d9cf21801fe13d8560c509423838304cac0a40b66eedae8
6
+ metadata.gz: f06a16d02e150194d06a4aa2c37a23bd1b7bbef4daca379ed7f60dd9581310b98cd3026d86e90b1b23d861fe6186d05e003d41380cb1edeaf7a2e52ccc594520
7
+ data.tar.gz: 7fbceb84c48af3bf4f28eadb05a2807a61196a26a66d72eb836ee5faa23d9a22fb1bd8e76fd16febd794007f1f0fd487000db40f543143789d33225c2350ccd0
@@ -0,0 +1,42 @@
1
+ name: CI
2
+ on:
3
+ push:
4
+ branches:
5
+ - '**'
6
+ tags:
7
+ - '**'
8
+ pull_request:
9
+ branches:
10
+ - '**'
11
+ jobs:
12
+ build:
13
+ continue-on-error: true
14
+ runs-on: ${{ matrix.os_and_command.os }}
15
+ strategy:
16
+ matrix:
17
+ ruby: [ '2.5', '2.6', '2.7', '3.0', '3.1', 'ruby-head', 'truffleruby-head' ]
18
+ os_and_command:
19
+ - os: 'macos-latest'
20
+ command: 'env TESTOPTS="--verbose" bundle exec rake test'
21
+ - os: ubuntu-latest
22
+ # Sometimes minitest starts and then just hangs printing nothing.
23
+ # Github by default kills after 6hours(!). Hopefully SIGTERM may let it print some details?
24
+ command: 'timeout --signal=TERM 3m env TESTOPTS="--verbose" test/config/update_certs_k0s.rb'
25
+ include:
26
+ # run rubocop against lowest supported ruby
27
+ - os: ubuntu-latest
28
+ ruby: '2.5'
29
+ command: 'bundle exec rake rubocop'
30
+ name: ${{ matrix.os_and_command.os }} ${{ matrix.ruby }} rake ${{ matrix.os_and_command.command }}
31
+ steps:
32
+ - uses: actions/checkout@v2
33
+ # actions/setup-ruby did not support truffle or bundler caching
34
+ - uses: ruby/setup-ruby@v1
35
+ with:
36
+ ruby-version: ${{ matrix.ruby }}
37
+ bundler-cache: false # disable running 'bundle install' and caching installed gems see https://github.com/httprb/http/issues/572
38
+ - run: gem install rake bundler
39
+ - run: bundle install
40
+ - run: ${{ matrix.os_and_command.command }}
41
+ timeout-minutes: 10
42
+
data/CHANGELOG.md CHANGED
@@ -4,6 +4,53 @@ Notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
5
5
  Kubeclient release versioning follows [SemVer](https://semver.org/).
6
6
 
7
+ ## 4.9.3 — 2021-03-23
8
+
9
+ ### Fixed
10
+
11
+ - VULNERABILITY FIX: Previously, whenever kubeconfig did not define custom CA
12
+ (normal situation for production clusters with public domain and certificate!),
13
+ `Config` was returning ssl_options[:verify_ssl] hard-coded to `VERIFY_NONE` :-(
14
+
15
+ Assuming you passed those ssl_options to Kubeclient::Client, this means that
16
+ instead of checking server's certificate against your system CA store,
17
+ it would accept ANY certificate, allowing easy man-in-the middle attacks.
18
+
19
+ This is especially dangerous with user/password or token credentials
20
+ because MITM attacker could simply steal those credentials to the cluster
21
+ and do anything you could do on the cluster.
22
+
23
+ This was broken IN ALL RELEASES MADE BEFORE 2022, ever since
24
+ [`Kubeclient::Config` was created](https://github.com/ManageIQ/kubeclient/pull/127/files#diff-32e70f2f6781a9e9c7b83ae5e7eaf5ffd068a05649077fa38f6789e72f3de837R41-R48).
25
+
26
+ - Bug fix: kubeconfig `insecure-skip-tls-verify` field was ignored.
27
+ When kubeconfig did define custom CA, `Config` was returning hard-coded `VERIFY_PEER`.
28
+
29
+ Now we honor it, return `VERIFY_NONE` iff kubeconfig has explicit
30
+ `insecure-skip-tls-verify: true`, otherwise `VERIFY_PEER`.
31
+
32
+ - `Config`: fixed parsing of `certificate-authority` file containing concatenation of
33
+ several certificates. Previously, server's cert was checked against only first CA cert,
34
+ resulting in possible "certificate verify failed" errors.
35
+
36
+ An important use case is a chain of root & intermediate cert(s) - necessary when cluster's CA
37
+ itself is signed by another custom CA.
38
+ But also helps when you simply concatenate independent certs. (#461, #552)
39
+
40
+ - Still broken (#460): inline `certificate-authority-data` is still parsed using `add_cert`
41
+ method that handles only one cert.
42
+
43
+ These don't affect code that supplies `Client` parameters directly,
44
+ only code that uses `Config`.
45
+
46
+ ## 4.9.2 — 2021-05-30
47
+
48
+ ### Added
49
+ - Ruby 3.0 compatibility (#500, #505).
50
+
51
+ ### Removed
52
+ - Reduce .gem size by dropping test/ directory, it's useless at run time (#502).
53
+
7
54
  ## 4.9.1 — 2020-08-31
8
55
  ### Fixed
9
56
  - Now should work with apiserver deployed not at root of domain but a sub-path,
data/README.md CHANGED
@@ -9,6 +9,13 @@ The client supports GET, POST, PUT, DELETE on all the entities available in kube
9
9
  The client currently supports Kubernetes REST api version v1.
10
10
  To learn more about groups and versions in kubernetes refer to [k8s docs](https://kubernetes.io/docs/api/)
11
11
 
12
+ ## VULNERABILITY❗
13
+
14
+ If you use `Kubeclient::Config`, all gem versions released before 2022 could return incorrect `ssl_options[:verify_ssl]`,
15
+ endangering your connection and cluster credentials.
16
+ See [latest CHANGELOG.md](https://github.com/ManageIQ/kubeclient/blob/master/CHANGELOG.md) for details and which versions got a fix.
17
+ Open an issue if you want a backport to another version.
18
+
12
19
  ## Installation
13
20
 
14
21
  Add this line to your application's Gemfile:
data/kubeclient.gemspec CHANGED
@@ -14,9 +14,10 @@ Gem::Specification.new do |spec|
14
14
  spec.homepage = 'https://github.com/abonas/kubeclient'
15
15
  spec.license = 'MIT'
16
16
 
17
- spec.files = `git ls-files -z`.split("\x0")
17
+ git_files = `git ls-files -z`.split("\x0")
18
+ spec.files = git_files.grep_v(%r{^(test|spec|features)/})
18
19
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
+ spec.test_files = []
20
21
  spec.require_paths = ['lib']
21
22
  spec.required_ruby_version = '>= 2.2.0'
22
23
 
@@ -30,6 +31,7 @@ Gem::Specification.new do |spec|
30
31
  spec.add_development_dependency 'googleauth', '~> 0.5.1'
31
32
  spec.add_development_dependency('mocha', '~> 1.5')
32
33
  spec.add_development_dependency 'openid_connect', '~> 1.1'
34
+ spec.add_development_dependency 'net-smtp'
33
35
 
34
36
  spec.add_dependency 'jsonpath', '~> 1.0'
35
37
  spec.add_dependency 'rest-client', '~> 2.0'
@@ -267,8 +267,8 @@ module Kubeclient
267
267
  patch_entity(entity.resource_name, name, patch, 'merge-patch', namespace)
268
268
  end
269
269
 
270
- define_singleton_method("apply_#{entity.method_names[0]}") do |*args|
271
- apply_entity(entity.resource_name, *args)
270
+ define_singleton_method("apply_#{entity.method_names[0]}") do |resource, opts = {}|
271
+ apply_entity(entity.resource_name, resource, **opts)
272
272
  end
273
273
  end
274
274
  end
@@ -30,7 +30,12 @@ module Kubeclient
30
30
 
31
31
  # Builds Config instance by parsing given file, with lookups relative to file's directory.
32
32
  def self.read(filename)
33
- parsed = YAML.safe_load(File.read(filename), [Date, Time])
33
+ parsed =
34
+ if RUBY_VERSION >= '2.6'
35
+ YAML.safe_load(File.read(filename), permitted_classes: [Date, Time])
36
+ else
37
+ YAML.safe_load(File.read(filename), [Date, Time])
38
+ end
34
39
  Config.new(parsed, File.dirname(filename))
35
40
  end
36
41
 
@@ -46,20 +51,22 @@ module Kubeclient
46
51
  user['exec_result'] = ExecCredentials.run(exec_opts)
47
52
  end
48
53
 
49
- ca_cert_data = fetch_cluster_ca_data(cluster)
50
54
  client_cert_data = fetch_user_cert_data(user)
51
55
  client_key_data = fetch_user_key_data(user)
52
56
  auth_options = fetch_user_auth_options(user)
53
57
 
54
58
  ssl_options = {}
55
59
 
56
- if !ca_cert_data.nil?
60
+ ssl_options[:verify_ssl] = if cluster['insecure-skip-tls-verify'] == true
61
+ OpenSSL::SSL::VERIFY_NONE
62
+ else
63
+ OpenSSL::SSL::VERIFY_PEER
64
+ end
65
+
66
+ if cluster_ca_data?(cluster)
57
67
  cert_store = OpenSSL::X509::Store.new
58
- cert_store.add_cert(OpenSSL::X509::Certificate.new(ca_cert_data))
59
- ssl_options[:verify_ssl] = OpenSSL::SSL::VERIFY_PEER
68
+ populate_cert_store_from_cluster_ca_data(cluster, cert_store)
60
69
  ssl_options[:cert_store] = cert_store
61
- else
62
- ssl_options[:verify_ssl] = OpenSSL::SSL::VERIFY_NONE
63
70
  end
64
71
 
65
72
  unless client_cert_data.nil?
@@ -126,11 +133,16 @@ module Kubeclient
126
133
  [cluster, user, namespace]
127
134
  end
128
135
 
129
- def fetch_cluster_ca_data(cluster)
136
+ def cluster_ca_data?(cluster)
137
+ cluster.key?('certificate-authority') || cluster.key?('certificate-authority-data')
138
+ end
139
+
140
+ def populate_cert_store_from_cluster_ca_data(cluster, cert_store)
130
141
  if cluster.key?('certificate-authority')
131
- File.read(ext_file_path(cluster['certificate-authority']))
142
+ cert_store.add_file(ext_file_path(cluster['certificate-authority']))
132
143
  elsif cluster.key?('certificate-authority-data')
133
- Base64.decode64(cluster['certificate-authority-data'])
144
+ ca_cert_data = Base64.decode64(cluster['certificate-authority-data'])
145
+ cert_store.add_cert(OpenSSL::X509::Certificate.new(ca_cert_data))
134
146
  end
135
147
  end
136
148
 
@@ -1,4 +1,4 @@
1
1
  # Kubernetes REST-API Client
2
2
  module Kubeclient
3
- VERSION = '4.9.1'.freeze
3
+ VERSION = '4.9.3'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kubeclient
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.9.1
4
+ version: 4.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alissa Bonas
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-31 00:00:00.000000000 Z
11
+ date: 2022-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '1.1'
153
+ - !ruby/object:Gem::Dependency
154
+ name: net-smtp
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: jsonpath
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -225,9 +239,9 @@ executables: []
225
239
  extensions: []
226
240
  extra_rdoc_files: []
227
241
  files:
242
+ - ".github/workflows/actions.yml"
228
243
  - ".gitignore"
229
244
  - ".rubocop.yml"
230
- - ".travis.yml"
231
245
  - CHANGELOG.md
232
246
  - Gemfile
233
247
  - LICENSE.txt
@@ -251,114 +265,11 @@ files:
251
265
  - lib/kubeclient/resource_not_found_error.rb
252
266
  - lib/kubeclient/version.rb
253
267
  - lib/kubeclient/watch_stream.rb
254
- - test/cassettes/kubernetes_guestbook.yml
255
- - test/config/allinone.kubeconfig
256
- - test/config/execauth.kubeconfig
257
- - test/config/external-ca.pem
258
- - test/config/external-cert.pem
259
- - test/config/external-key.rsa
260
- - test/config/external.kubeconfig
261
- - test/config/gcpauth.kubeconfig
262
- - test/config/gcpcmdauth.kubeconfig
263
- - test/config/nouser.kubeconfig
264
- - test/config/oidcauth.kubeconfig
265
- - test/config/timestamps.kubeconfig
266
- - test/config/userauth.kubeconfig
267
- - test/json/bindings_list.json
268
- - test/json/component_status.json
269
- - test/json/component_status_list.json
270
- - test/json/config.istio.io_api_resource_list.json
271
- - test/json/config_map_list.json
272
- - test/json/core_api_resource_list.json
273
- - test/json/core_api_resource_list_without_kind.json
274
- - test/json/core_oapi_resource_list_without_kind.json
275
- - test/json/created_endpoint.json
276
- - test/json/created_namespace.json
277
- - test/json/created_secret.json
278
- - test/json/created_security_context_constraint.json
279
- - test/json/created_service.json
280
- - test/json/empty_pod_list.json
281
- - test/json/endpoint_list.json
282
- - test/json/entity_list.json
283
- - test/json/event_list.json
284
- - test/json/extensions_v1beta1_api_resource_list.json
285
- - test/json/limit_range.json
286
- - test/json/limit_range_list.json
287
- - test/json/namespace.json
288
- - test/json/namespace_exception.json
289
- - test/json/namespace_list.json
290
- - test/json/node.json
291
- - test/json/node_list.json
292
- - test/json/node_notice.json
293
- - test/json/persistent_volume.json
294
- - test/json/persistent_volume_claim.json
295
- - test/json/persistent_volume_claim_list.json
296
- - test/json/persistent_volume_claims_nil_items.json
297
- - test/json/persistent_volume_list.json
298
- - test/json/pod.json
299
- - test/json/pod_list.json
300
- - test/json/pod_template_list.json
301
- - test/json/pods_1.json
302
- - test/json/pods_2.json
303
- - test/json/pods_410.json
304
- - test/json/processed_template.json
305
- - test/json/replication_controller.json
306
- - test/json/replication_controller_list.json
307
- - test/json/resource_quota.json
308
- - test/json/resource_quota_list.json
309
- - test/json/secret_list.json
310
- - test/json/security.openshift.io_api_resource_list.json
311
- - test/json/security_context_constraint_list.json
312
- - test/json/service.json
313
- - test/json/service_account.json
314
- - test/json/service_account_list.json
315
- - test/json/service_illegal_json_404.json
316
- - test/json/service_json_patch.json
317
- - test/json/service_list.json
318
- - test/json/service_merge_patch.json
319
- - test/json/service_patch.json
320
- - test/json/service_update.json
321
- - test/json/template.json
322
- - test/json/template.openshift.io_api_resource_list.json
323
- - test/json/template_list.json
324
- - test/json/versions_list.json
325
- - test/json/watch_stream.json
326
- - test/test_common.rb
327
- - test/test_common_url_handling.rb
328
- - test/test_component_status.rb
329
- - test/test_config.rb
330
- - test/test_endpoint.rb
331
- - test/test_exec_credentials.rb
332
- - test/test_gcp_command_credentials.rb
333
- - test/test_google_application_default_credentials.rb
334
- - test/test_guestbook_go.rb
335
- - test/test_helper.rb
336
- - test/test_kubeclient.rb
337
- - test/test_limit_range.rb
338
- - test/test_missing_methods.rb
339
- - test/test_namespace.rb
340
- - test/test_node.rb
341
- - test/test_oidc_auth_provider.rb
342
- - test/test_persistent_volume.rb
343
- - test/test_persistent_volume_claim.rb
344
- - test/test_pod.rb
345
- - test/test_pod_log.rb
346
- - test/test_process_template.rb
347
- - test/test_replication_controller.rb
348
- - test/test_resource_list_without_kind.rb
349
- - test/test_resource_quota.rb
350
- - test/test_secret.rb
351
- - test/test_security_context_constraint.rb
352
- - test/test_service.rb
353
- - test/test_service_account.rb
354
- - test/test_watch.rb
355
- - test/txt/pod_log.txt
356
- - test/valid_token_file
357
268
  homepage: https://github.com/abonas/kubeclient
358
269
  licenses:
359
270
  - MIT
360
271
  metadata: {}
361
- post_install_message:
272
+ post_install_message:
362
273
  rdoc_options: []
363
274
  require_paths:
364
275
  - lib
@@ -373,111 +284,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
373
284
  - !ruby/object:Gem::Version
374
285
  version: '0'
375
286
  requirements: []
376
- rubygems_version: 3.1.2
377
- signing_key:
287
+ rubygems_version: 3.3.3
288
+ signing_key:
378
289
  specification_version: 4
379
290
  summary: A client for Kubernetes REST api
380
- test_files:
381
- - test/cassettes/kubernetes_guestbook.yml
382
- - test/config/allinone.kubeconfig
383
- - test/config/execauth.kubeconfig
384
- - test/config/external-ca.pem
385
- - test/config/external-cert.pem
386
- - test/config/external-key.rsa
387
- - test/config/external.kubeconfig
388
- - test/config/gcpauth.kubeconfig
389
- - test/config/gcpcmdauth.kubeconfig
390
- - test/config/nouser.kubeconfig
391
- - test/config/oidcauth.kubeconfig
392
- - test/config/timestamps.kubeconfig
393
- - test/config/userauth.kubeconfig
394
- - test/json/bindings_list.json
395
- - test/json/component_status.json
396
- - test/json/component_status_list.json
397
- - test/json/config.istio.io_api_resource_list.json
398
- - test/json/config_map_list.json
399
- - test/json/core_api_resource_list.json
400
- - test/json/core_api_resource_list_without_kind.json
401
- - test/json/core_oapi_resource_list_without_kind.json
402
- - test/json/created_endpoint.json
403
- - test/json/created_namespace.json
404
- - test/json/created_secret.json
405
- - test/json/created_security_context_constraint.json
406
- - test/json/created_service.json
407
- - test/json/empty_pod_list.json
408
- - test/json/endpoint_list.json
409
- - test/json/entity_list.json
410
- - test/json/event_list.json
411
- - test/json/extensions_v1beta1_api_resource_list.json
412
- - test/json/limit_range.json
413
- - test/json/limit_range_list.json
414
- - test/json/namespace.json
415
- - test/json/namespace_exception.json
416
- - test/json/namespace_list.json
417
- - test/json/node.json
418
- - test/json/node_list.json
419
- - test/json/node_notice.json
420
- - test/json/persistent_volume.json
421
- - test/json/persistent_volume_claim.json
422
- - test/json/persistent_volume_claim_list.json
423
- - test/json/persistent_volume_claims_nil_items.json
424
- - test/json/persistent_volume_list.json
425
- - test/json/pod.json
426
- - test/json/pod_list.json
427
- - test/json/pod_template_list.json
428
- - test/json/pods_1.json
429
- - test/json/pods_2.json
430
- - test/json/pods_410.json
431
- - test/json/processed_template.json
432
- - test/json/replication_controller.json
433
- - test/json/replication_controller_list.json
434
- - test/json/resource_quota.json
435
- - test/json/resource_quota_list.json
436
- - test/json/secret_list.json
437
- - test/json/security.openshift.io_api_resource_list.json
438
- - test/json/security_context_constraint_list.json
439
- - test/json/service.json
440
- - test/json/service_account.json
441
- - test/json/service_account_list.json
442
- - test/json/service_illegal_json_404.json
443
- - test/json/service_json_patch.json
444
- - test/json/service_list.json
445
- - test/json/service_merge_patch.json
446
- - test/json/service_patch.json
447
- - test/json/service_update.json
448
- - test/json/template.json
449
- - test/json/template.openshift.io_api_resource_list.json
450
- - test/json/template_list.json
451
- - test/json/versions_list.json
452
- - test/json/watch_stream.json
453
- - test/test_common.rb
454
- - test/test_common_url_handling.rb
455
- - test/test_component_status.rb
456
- - test/test_config.rb
457
- - test/test_endpoint.rb
458
- - test/test_exec_credentials.rb
459
- - test/test_gcp_command_credentials.rb
460
- - test/test_google_application_default_credentials.rb
461
- - test/test_guestbook_go.rb
462
- - test/test_helper.rb
463
- - test/test_kubeclient.rb
464
- - test/test_limit_range.rb
465
- - test/test_missing_methods.rb
466
- - test/test_namespace.rb
467
- - test/test_node.rb
468
- - test/test_oidc_auth_provider.rb
469
- - test/test_persistent_volume.rb
470
- - test/test_persistent_volume_claim.rb
471
- - test/test_pod.rb
472
- - test/test_pod_log.rb
473
- - test/test_process_template.rb
474
- - test/test_replication_controller.rb
475
- - test/test_resource_list_without_kind.rb
476
- - test/test_resource_quota.rb
477
- - test/test_secret.rb
478
- - test/test_security_context_constraint.rb
479
- - test/test_service.rb
480
- - test/test_service_account.rb
481
- - test/test_watch.rb
482
- - test/txt/pod_log.txt
483
- - test/valid_token_file
291
+ test_files: []
data/.travis.yml DELETED
@@ -1,29 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- cache: bundler
4
- script: bundle exec rake $TASK
5
-
6
- os:
7
- - linux
8
- - osx
9
- rvm:
10
- - "2.2.0"
11
- - "2.3.0"
12
- - "2.4.0"
13
- - "2.5.0"
14
- - "2.6.0"
15
- - "2.7.0"
16
- env:
17
- - TASK=test
18
- matrix:
19
- exclude:
20
- - os: osx
21
- rvm: "2.2.0"
22
- - os: osx
23
- rvm: "2.3.0"
24
- # No point running Rubocop on different rubies, results will be same.
25
- # The rubies it expects the code to target are controlled in .rubocop.yml.
26
- include:
27
- - os: linux
28
- rvm: "2.5.0"
29
- env: TASK=rubocop