ruby-kubernetes-controller 0.1.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 +7 -0
- data/.circleci/config.yml +131 -0
- data/.circleci/setup-rubygems.sh +5 -0
- data/.gitignore +12 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Documentation/DOCUMENTATION.md +1606 -0
- data/Documentation/serviceaccount.png +0 -0
- data/Documentation/serviceaccount.yaml +18 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +54 -0
- data/Rakefile +10 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/ruby-kubernetes-controller.rb +6 -0
- data/lib/ruby-kubernetes-controller/client.rb +62 -0
- data/lib/ruby-kubernetes-controller/configmaps.rb +180 -0
- data/lib/ruby-kubernetes-controller/deployments.rb +181 -0
- data/lib/ruby-kubernetes-controller/endpoints.rb +182 -0
- data/lib/ruby-kubernetes-controller/generic.rb +70 -0
- data/lib/ruby-kubernetes-controller/ingresses.rb +180 -0
- data/lib/ruby-kubernetes-controller/namespaces.rb +142 -0
- data/lib/ruby-kubernetes-controller/nodes.rb +34 -0
- data/lib/ruby-kubernetes-controller/persistentvolumeclaims.rb +181 -0
- data/lib/ruby-kubernetes-controller/persistentvolumes.rb +160 -0
- data/lib/ruby-kubernetes-controller/pods.rb +182 -0
- data/lib/ruby-kubernetes-controller/replicasets.rb +181 -0
- data/lib/ruby-kubernetes-controller/services.rb +176 -0
- data/lib/ruby-kubernetes-controller/version.rb +4 -0
- data/ruby-kubernetes-controller.gemspec +53 -0
- metadata +146 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'uri'
|
3
|
+
require 'openssl'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
require_relative 'generic'
|
7
|
+
|
8
|
+
module Nodes
|
9
|
+
include Generic
|
10
|
+
|
11
|
+
# Get Nodes
|
12
|
+
def get_nodes
|
13
|
+
extension = '/api/v1/nodes'
|
14
|
+
|
15
|
+
uri = prepareURI(@endpoint, extension)
|
16
|
+
|
17
|
+
request = prepareGenericRequest(uri, @bearer_token, "GET")
|
18
|
+
|
19
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
20
|
+
|
21
|
+
begin
|
22
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
23
|
+
http.request(request)
|
24
|
+
end
|
25
|
+
|
26
|
+
return response.body
|
27
|
+
|
28
|
+
rescue Errno::ECONNREFUSED
|
29
|
+
raise "Connection for host #{uri.hostname} refused"
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,181 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'uri'
|
3
|
+
require 'openssl'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
require_relative 'generic'
|
7
|
+
|
8
|
+
module PersistentVolumeClaims
|
9
|
+
include Generic
|
10
|
+
|
11
|
+
# Create new PersistentVolumeClaim
|
12
|
+
def create_new_persistentvolumeclaim(namespace, config)
|
13
|
+
extension = "/apis/apps/v1/namespaces/#{namespace}/persistentvolumeclaims"
|
14
|
+
|
15
|
+
uri = prepareURI(@endpoint, extension)
|
16
|
+
|
17
|
+
request = prepareGenericRequest(uri, @bearer_token, "POST")
|
18
|
+
request.content_type = "application/json"
|
19
|
+
|
20
|
+
if @yaml
|
21
|
+
request.body = yaml_file_to_json(config)
|
22
|
+
else
|
23
|
+
request.body = config
|
24
|
+
end
|
25
|
+
|
26
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
27
|
+
|
28
|
+
begin
|
29
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
30
|
+
http.request(request)
|
31
|
+
end
|
32
|
+
return response.body
|
33
|
+
|
34
|
+
rescue Errno::ECONNREFUSED
|
35
|
+
raise "Connection for host #{uri.hostname} refused"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# Get all PersistentVolumeClaims
|
40
|
+
def get_all_persistentvolumeclaims
|
41
|
+
extension = "/apis/apps/v1/persistentvolumeclaims"
|
42
|
+
|
43
|
+
uri = prepareURI(@endpoint, extension)
|
44
|
+
|
45
|
+
request = prepareGenericRequest(uri, @bearer_token, "GET")
|
46
|
+
|
47
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
48
|
+
|
49
|
+
begin
|
50
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
51
|
+
http.request(request)
|
52
|
+
end
|
53
|
+
return response.body
|
54
|
+
|
55
|
+
rescue Errno::ECONNREFUSED
|
56
|
+
raise "Connection for host #{uri.hostname} refused"
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# Get all existing PersistentVolumeClaims in Namespace
|
61
|
+
def get_all_namespaced_persistentvolumeclaims(namespace)
|
62
|
+
extension = "/apis/apps/v1/namespaces/#{namespace}/persistentvolumeclaims"
|
63
|
+
|
64
|
+
uri = prepareURI(@endpoint, extension)
|
65
|
+
|
66
|
+
request = prepareGenericRequest(uri, @bearer_token, "GET")
|
67
|
+
|
68
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
69
|
+
|
70
|
+
begin
|
71
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
72
|
+
http.request(request)
|
73
|
+
end
|
74
|
+
return response.body
|
75
|
+
|
76
|
+
rescue Errno::ECONNREFUSED
|
77
|
+
raise "Connection for host #{uri.hostname} refused"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
# Get single PersistentVolumeClaim in Namespace
|
82
|
+
def get_single_namespaced_persistentvolumeclaim(namespace, persistentvolumeclaim_name)
|
83
|
+
extension = "/apis/apps/v1/namespaces/#{namespace}/persistentvolumeclaims/#{persistentvolumeclaim_name}"
|
84
|
+
|
85
|
+
uri = prepareURI(@endpoint, extension)
|
86
|
+
|
87
|
+
request = prepareGenericRequest(uri, @bearer_token, "GET")
|
88
|
+
|
89
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
90
|
+
|
91
|
+
begin
|
92
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
93
|
+
http.request(request)
|
94
|
+
end
|
95
|
+
return response.body
|
96
|
+
rescue Errno::ECONNREFUSED
|
97
|
+
raise "Connection for host #{uri.hostname} refused"
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
# Update existing PersistentVolumeClaim in Namespace
|
102
|
+
def update_namespaced_persistentvolumeclaim(namespace, persistentvolumeclaim_name, update)
|
103
|
+
extension = "/apis/apps/v1/namespaces/#{namespace}/persistentvolumeclaims/#{persistentvolumeclaim_name}"
|
104
|
+
|
105
|
+
uri = prepareURI(@endpoint, extension)
|
106
|
+
|
107
|
+
request = prepareGenericRequest(uri, @bearer_token, "PUT")
|
108
|
+
request.content_type = "application/json"
|
109
|
+
|
110
|
+
if @yaml
|
111
|
+
request.body = yaml_file_to_json(update)
|
112
|
+
else
|
113
|
+
request.body = update
|
114
|
+
end
|
115
|
+
|
116
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
117
|
+
|
118
|
+
begin
|
119
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
120
|
+
http.request(request)
|
121
|
+
end
|
122
|
+
return response.body
|
123
|
+
|
124
|
+
rescue Errno::ECONNREFUSED
|
125
|
+
raise "Connection for host #{uri.hostname} refused"
|
126
|
+
end
|
127
|
+
|
128
|
+
end
|
129
|
+
|
130
|
+
# Patch existing PersistentVolumeClaim in Namespace
|
131
|
+
def patch_persistentvolumeclaim(namespace, persistentvolumeclaim_name, patch)
|
132
|
+
extension = "/apis/apps/v1/namespaces/#{namespace}/persistentvolumeclaims/#{persistentvolumeclaim_name}"
|
133
|
+
|
134
|
+
uri = prepareURI(@endpoint, extension)
|
135
|
+
|
136
|
+
request = prepareGenericRequest(uri, @bearer_token, "PATCH")
|
137
|
+
request.content_type = "application/json-patch+json"
|
138
|
+
|
139
|
+
request.body = patch
|
140
|
+
|
141
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
142
|
+
|
143
|
+
begin
|
144
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
145
|
+
http.request(request)
|
146
|
+
end
|
147
|
+
return response.body
|
148
|
+
rescue Errno::ECONNREFUSED
|
149
|
+
raise "Connection for host #{uri.hostname} refused"
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
# Delete existing PersistentVolumeClaim in Namespace
|
154
|
+
def delete_persistentvolumeclaim(namespace, persistentvolumeclaim_name, options = '')
|
155
|
+
extension = "/apis/apps/v1/namespaces/#{namespace}/persistentvolumeclaims/#{persistentvolumeclaim_name}"
|
156
|
+
|
157
|
+
uri = prepareURI(@endpoint, extension)
|
158
|
+
|
159
|
+
request = prepareGenericRequest(uri, @bearer_token, "DELETE")
|
160
|
+
request.content_type = "application/json"
|
161
|
+
|
162
|
+
if @yaml
|
163
|
+
request.body = yaml_file_to_json(options)
|
164
|
+
else
|
165
|
+
request.body = options
|
166
|
+
end
|
167
|
+
|
168
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
169
|
+
|
170
|
+
begin
|
171
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
172
|
+
http.request(request)
|
173
|
+
end
|
174
|
+
return response.body
|
175
|
+
|
176
|
+
rescue Errno::ECONNREFUSED
|
177
|
+
raise "Connection for host #{uri.hostname} refused"
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
end
|
@@ -0,0 +1,160 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'uri'
|
3
|
+
require 'openssl'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
require_relative 'generic'
|
7
|
+
|
8
|
+
module PersistentVolumes
|
9
|
+
include Generic
|
10
|
+
|
11
|
+
# Create new PersistentVolume
|
12
|
+
def create_new_persistentvolume(config)
|
13
|
+
extension = "/api/v1/persistentvolumes"
|
14
|
+
|
15
|
+
uri = prepareURI(@endpoint, extension)
|
16
|
+
|
17
|
+
request = prepareGenericRequest(uri, @bearer_token, "POST")
|
18
|
+
request.content_type = "application/json"
|
19
|
+
|
20
|
+
if @yaml
|
21
|
+
request.body = yaml_file_to_json(config)
|
22
|
+
else
|
23
|
+
request.body = config
|
24
|
+
end
|
25
|
+
|
26
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
27
|
+
|
28
|
+
begin
|
29
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
30
|
+
http.request(request)
|
31
|
+
end
|
32
|
+
return response.body
|
33
|
+
|
34
|
+
rescue Errno::ECONNREFUSED
|
35
|
+
raise "Connection for host #{uri.hostname} refused"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# Get all PersistentVolumes
|
40
|
+
def get_all_persistentvolumes
|
41
|
+
extension = "/apis/v1/persistentvolumes"
|
42
|
+
|
43
|
+
uri = prepareURI(@endpoint, extension)
|
44
|
+
|
45
|
+
request = prepareGenericRequest(uri, @bearer_token, "GET")
|
46
|
+
|
47
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
48
|
+
|
49
|
+
begin
|
50
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
51
|
+
http.request(request)
|
52
|
+
end
|
53
|
+
return response.body
|
54
|
+
|
55
|
+
rescue Errno::ECONNREFUSED
|
56
|
+
raise "Connection for host #{uri.hostname} refused"
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# Get single PersistentVolume
|
61
|
+
def get_single_persistentvolume(persistentvolume_name)
|
62
|
+
extension = "/api/v1/persistentvolumes/#{persistentvolume_name}"
|
63
|
+
|
64
|
+
uri = prepareURI(@endpoint, extension)
|
65
|
+
|
66
|
+
request = prepareGenericRequest(uri, @bearer_token, "GET")
|
67
|
+
|
68
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
69
|
+
|
70
|
+
begin
|
71
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
72
|
+
http.request(request)
|
73
|
+
end
|
74
|
+
return response.body
|
75
|
+
rescue Errno::ECONNREFUSED
|
76
|
+
raise "Connection for host #{uri.hostname} refused"
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
# Update existing PersistentVolume
|
81
|
+
def update_namespaced_persistentvolume(persistentvolume_name, update)
|
82
|
+
extension = "/api/v1/persistentvolumes/#{persistentvolume_name}"
|
83
|
+
|
84
|
+
uri = prepareURI(@endpoint, extension)
|
85
|
+
|
86
|
+
request = prepareGenericRequest(uri, @bearer_token, "PUT")
|
87
|
+
request.content_type = "application/json"
|
88
|
+
|
89
|
+
if @yaml
|
90
|
+
request.body = yaml_file_to_json(update)
|
91
|
+
else
|
92
|
+
request.body = update
|
93
|
+
end
|
94
|
+
|
95
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
96
|
+
|
97
|
+
begin
|
98
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
99
|
+
http.request(request)
|
100
|
+
end
|
101
|
+
return response.body
|
102
|
+
|
103
|
+
rescue Errno::ECONNREFUSED
|
104
|
+
raise "Connection for host #{uri.hostname} refused"
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
108
|
+
|
109
|
+
# Patch existing PersistentVolume
|
110
|
+
def patch_persistentvolume(persistentvolume_name, patch)
|
111
|
+
extension = "/api/v1/persistentvolumes/#{persistentvolume_name}"
|
112
|
+
|
113
|
+
uri = prepareURI(@endpoint, extension)
|
114
|
+
|
115
|
+
request = prepareGenericRequest(uri, @bearer_token, "PATCH")
|
116
|
+
request.content_type = "application/json-patch+json"
|
117
|
+
|
118
|
+
request.body = patch
|
119
|
+
|
120
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
121
|
+
|
122
|
+
begin
|
123
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
124
|
+
http.request(request)
|
125
|
+
end
|
126
|
+
return response.body
|
127
|
+
rescue Errno::ECONNREFUSED
|
128
|
+
raise "Connection for host #{uri.hostname} refused"
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
# Delete existing PersistentVolume
|
133
|
+
def delete_persistentvolume(persistentvolume_name, options = '')
|
134
|
+
extension = "/api/v1/persistentvolumes/#{persistentvolume_name}"
|
135
|
+
|
136
|
+
uri = prepareURI(@endpoint, extension)
|
137
|
+
|
138
|
+
request = prepareGenericRequest(uri, @bearer_token, "DELETE")
|
139
|
+
request.content_type = "application/json"
|
140
|
+
|
141
|
+
if @yaml
|
142
|
+
request.body = yaml_file_to_json(options)
|
143
|
+
else
|
144
|
+
request.body = options
|
145
|
+
end
|
146
|
+
|
147
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
148
|
+
|
149
|
+
begin
|
150
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
151
|
+
http.request(request)
|
152
|
+
end
|
153
|
+
return response.body
|
154
|
+
|
155
|
+
rescue Errno::ECONNREFUSED
|
156
|
+
raise "Connection for host #{uri.hostname} refused"
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
end
|
@@ -0,0 +1,182 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'uri'
|
3
|
+
require 'openssl'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
require_relative 'generic'
|
7
|
+
|
8
|
+
module Pods
|
9
|
+
include Generic
|
10
|
+
|
11
|
+
# Create new Pod
|
12
|
+
def create_new_pod(namespace, config)
|
13
|
+
extension = "/api/v1/namespaces/#{namespace}/pods"
|
14
|
+
|
15
|
+
uri = prepareURI(@endpoint, extension)
|
16
|
+
|
17
|
+
request = prepareGenericRequest(uri, @bearer_token, "POST")
|
18
|
+
request.content_type = "application/json"
|
19
|
+
|
20
|
+
if @yaml
|
21
|
+
request.body = yaml_file_to_json(config)
|
22
|
+
else
|
23
|
+
request.body = config
|
24
|
+
end
|
25
|
+
|
26
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
27
|
+
|
28
|
+
begin
|
29
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
30
|
+
http.request(request)
|
31
|
+
end
|
32
|
+
return response.body
|
33
|
+
|
34
|
+
rescue Errno::ECONNREFUSED
|
35
|
+
raise "Connection for host #{uri.hostname} refused"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# Get all Pods
|
40
|
+
def get_all_pods
|
41
|
+
extension = "/api/v1/pods"
|
42
|
+
|
43
|
+
uri = prepareURI(@endpoint, extension)
|
44
|
+
|
45
|
+
request = prepareGenericRequest(uri, @bearer_token, "GET")
|
46
|
+
|
47
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
48
|
+
|
49
|
+
begin
|
50
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
51
|
+
http.request(request)
|
52
|
+
end
|
53
|
+
return response.body
|
54
|
+
|
55
|
+
rescue Errno::ECONNREFUSED
|
56
|
+
raise "Connection for host #{uri.hostname} refused"
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# Get all existing Pods in Namespace
|
61
|
+
def get_all_namespaced_pods(namespace)
|
62
|
+
extension = "/api/v1/namespaces/#{namespace}/pods"
|
63
|
+
|
64
|
+
uri = prepareURI(@endpoint, extension)
|
65
|
+
|
66
|
+
request = prepareGenericRequest(uri, @bearer_token, "GET")
|
67
|
+
|
68
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
69
|
+
|
70
|
+
begin
|
71
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
72
|
+
http.request(request)
|
73
|
+
end
|
74
|
+
return response.body
|
75
|
+
|
76
|
+
rescue Errno::ECONNREFUSED
|
77
|
+
raise "Connection for host #{uri.hostname} refused"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
# Get single Pod in Namespace
|
82
|
+
def get_single_namespaced_pod(namespace, pod_name)
|
83
|
+
extension = "/api/v1/namespaces/#{namespace}/pods/#{pod_name}"
|
84
|
+
|
85
|
+
uri = prepareURI(@endpoint, extension)
|
86
|
+
|
87
|
+
request = prepareGenericRequest(uri, @bearer_token, "GET")
|
88
|
+
|
89
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
90
|
+
|
91
|
+
begin
|
92
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
93
|
+
http.request(request)
|
94
|
+
end
|
95
|
+
return response.body
|
96
|
+
rescue Errno::ECONNREFUSED
|
97
|
+
raise "Connection for host #{uri.hostname} refused"
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
# Update existing Pod in Namespace
|
102
|
+
def update_namespaced_pod(namespace, pod_name, update)
|
103
|
+
extension = "/api/v1/namespaces/#{namespace}/pods/#{pod_name}"
|
104
|
+
|
105
|
+
uri = prepareURI(@endpoint, extension)
|
106
|
+
|
107
|
+
request = prepareGenericRequest(uri, @bearer_token, "PUT")
|
108
|
+
request.content_type = "application/json"
|
109
|
+
|
110
|
+
if @yaml
|
111
|
+
request.body = yaml_file_to_json(update)
|
112
|
+
else
|
113
|
+
request.body = update
|
114
|
+
end
|
115
|
+
|
116
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
117
|
+
|
118
|
+
begin
|
119
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
120
|
+
http.request(request)
|
121
|
+
end
|
122
|
+
return response.body
|
123
|
+
|
124
|
+
rescue Errno::ECONNREFUSED
|
125
|
+
raise "Connection for host #{uri.hostname} refused"
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
# Patch existing Pod
|
130
|
+
def patch_pod(namespace, pod_name, patch)
|
131
|
+
extension = "/api/v1/namespaces/#{namespace}/pods/#{pod_name}"
|
132
|
+
|
133
|
+
uri = prepareURI(@endpoint, extension)
|
134
|
+
|
135
|
+
request = prepareGenericRequest(uri, @bearer_token, "PATCH")
|
136
|
+
request.content_type = "application/json-patch+json"
|
137
|
+
|
138
|
+
request.body = patch
|
139
|
+
|
140
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
141
|
+
|
142
|
+
begin
|
143
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
144
|
+
http.request(request)
|
145
|
+
end
|
146
|
+
return response.body
|
147
|
+
rescue Errno::ECONNREFUSED
|
148
|
+
raise "Connection for host #{uri.hostname} refused"
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
# Delete existing Pod
|
153
|
+
def delete_pod(namespace, pod_name, options = '')
|
154
|
+
extension = "/api/v1/namespaces/#{namespace}/pods/#{pod_name}"
|
155
|
+
|
156
|
+
uri = prepareURI(@endpoint, extension)
|
157
|
+
|
158
|
+
request = prepareGenericRequest(uri, @bearer_token, "DELETE")
|
159
|
+
request.content_type = "application/json"
|
160
|
+
|
161
|
+
if @yaml
|
162
|
+
request.body = yaml_file_to_json(options)
|
163
|
+
else
|
164
|
+
request.body = options
|
165
|
+
end
|
166
|
+
|
167
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
168
|
+
|
169
|
+
begin
|
170
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
171
|
+
http.request(request)
|
172
|
+
end
|
173
|
+
return response.body
|
174
|
+
|
175
|
+
rescue Errno::ECONNREFUSED
|
176
|
+
raise "Connection for host #{uri.hostname} refused"
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
end
|
181
|
+
|
182
|
+
|