kubernetes-client 0.0.1 → 0.0.2
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/lib/kubernetes/client/class.rb +15 -34
- data/lib/kubernetes/client/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: edc39300ce21bec6b01dee4bd28c21dcefa3502125ec7a49e8c7cb3a9841853f
|
4
|
+
data.tar.gz: 65090aeebe9aa6632d38121182c2cc1357806c5a5566e23a1c041d317a8e4d45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d105e79dfe008557f5918f1aef1fb3c257dae959083c3fe8ee10b8c56f0043d64531514cb94a9d86311a7a7ca75881c97147bf752a0835a5318b1b1ca0cc815
|
7
|
+
data.tar.gz: 3beb5cd59a4aad8ddfb261164d95585f2931c48608c1c4d608dfc9a2fc6883a5053ce5c574c5d9175c4b9018404e5dd1e4d6f2cf2ec7ad73dc9774eab78bc96b
|
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'rest-client'
|
2
2
|
require 'json'
|
3
3
|
|
4
|
-
class Hash
|
5
|
-
def method_missing(m, *args, &block)
|
6
|
-
self[m.to_sym]
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
4
|
module Kubernetes
|
11
5
|
class Client
|
12
6
|
|
@@ -30,7 +24,6 @@ module Kubernetes
|
|
30
24
|
password: nil,
|
31
25
|
token: nil,
|
32
26
|
namespace: nil,
|
33
|
-
symbolize: true,
|
34
27
|
discovery: true
|
35
28
|
}
|
36
29
|
@options.merge!(options)
|
@@ -53,18 +46,6 @@ module Kubernetes
|
|
53
46
|
end
|
54
47
|
|
55
48
|
def formatter(s)
|
56
|
-
def symbolize(obj)
|
57
|
-
return obj.reduce({}) do |memo, (k, v)|
|
58
|
-
memo.tap { |m| m[k.to_sym] = symbolize(v) }
|
59
|
-
end if obj.is_a? Hash
|
60
|
-
|
61
|
-
return obj.reduce([]) do |memo, v|
|
62
|
-
memo << symbolize(v); memo
|
63
|
-
end if obj.is_a? Array
|
64
|
-
|
65
|
-
obj
|
66
|
-
end
|
67
|
-
return symbolize(JSON.load(s)) if @options[:symbolize] == true
|
68
49
|
return JSON.load(s)
|
69
50
|
end
|
70
51
|
|
@@ -145,7 +126,7 @@ module Kubernetes
|
|
145
126
|
|
146
127
|
uri = URI(@options[:url])
|
147
128
|
cachefile = File.join(File.expand_path('~'),".kubernetes-client.#{uri.host}.#{uri.port}.cache")
|
148
|
-
if File.readable?(cachefile)
|
129
|
+
if File.readable?(cachefile) && ( nocache == false )
|
149
130
|
@apis, @resources = JSON.load(File.read(cachefile))
|
150
131
|
@resources.each do |name, value|
|
151
132
|
@resources[name] = {
|
@@ -157,28 +138,28 @@ module Kubernetes
|
|
157
138
|
end
|
158
139
|
|
159
140
|
# Load api versions
|
160
|
-
formatter(@rest_client['/api'].get.body)
|
141
|
+
formatter(@rest_client['/api'].get.body)['versions'].each do |version|
|
161
142
|
@apis << "/api/#{version}"
|
162
143
|
end
|
163
144
|
|
164
145
|
# Load apis versions
|
165
|
-
formatter(@rest_client['/apis'].get.body)
|
166
|
-
@apis << "/apis/#{group
|
146
|
+
formatter(@rest_client['/apis'].get.body)['groups'].each do |group|
|
147
|
+
@apis << "/apis/#{group['preferredVersion']['groupVersion']}"
|
167
148
|
end
|
168
149
|
|
169
150
|
# Load Resources
|
170
151
|
@apis.each do |api|
|
171
|
-
formatter(@rest_client[api].get.body)
|
172
|
-
@resources[resource[
|
173
|
-
@resources[resource[
|
174
|
-
@resources[resource[
|
175
|
-
unless resource
|
176
|
-
@resources[resource[
|
177
|
-
{ api: api, name: resource[
|
178
|
-
unless resource
|
179
|
-
if resource[
|
180
|
-
resource[
|
181
|
-
@resources[shortname] = { api: api, name: resource[
|
152
|
+
formatter(@rest_client[api].get.body)['resources'].each do |resource|
|
153
|
+
@resources[resource['name']] = { api: api, name: resource['name'] }
|
154
|
+
@resources[resource['kind']] = { api: api, name: resource['name'] }
|
155
|
+
@resources[resource['singularName']] = { api: api, name: resource['name'] } \
|
156
|
+
unless resource['singularName'].nil?
|
157
|
+
@resources[resource['singularName'].to_s.downcase] = \
|
158
|
+
{ api: api, name: resource['name'] } \
|
159
|
+
unless resource['singularName'].nil?
|
160
|
+
if resource['shortNames']
|
161
|
+
resource['shortNames'].each do |shortname|
|
162
|
+
@resources[shortname] = { api: api, name: resource['name'] }
|
182
163
|
end
|
183
164
|
end
|
184
165
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kubernetes-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sascha Spreitzer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|