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,181 @@
|
|
1
|
+
|
2
|
+
require 'net/http'
|
3
|
+
require 'uri'
|
4
|
+
require 'openssl'
|
5
|
+
require 'json'
|
6
|
+
|
7
|
+
require_relative 'generic'
|
8
|
+
|
9
|
+
module ReplicaSets
|
10
|
+
include Generic
|
11
|
+
|
12
|
+
# Create new ReplicaSet
|
13
|
+
def create_new_replicaset(namespace, config)
|
14
|
+
extension = "/apis/extensions/v1beta1/namespaces/#{namespace}/replicasets"
|
15
|
+
|
16
|
+
uri = prepareURI(@endpoint, extension)
|
17
|
+
|
18
|
+
request = prepareGenericRequest(uri, @bearer_token, "POST")
|
19
|
+
request.content_type = "application/json"
|
20
|
+
|
21
|
+
if @yaml
|
22
|
+
request.body = yaml_file_to_json(config)
|
23
|
+
else
|
24
|
+
request.body = config
|
25
|
+
end
|
26
|
+
|
27
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
28
|
+
|
29
|
+
begin
|
30
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
31
|
+
http.request(request)
|
32
|
+
end
|
33
|
+
return response.body
|
34
|
+
|
35
|
+
rescue Errno::ECONNREFUSED
|
36
|
+
raise "Connection for host #{uri.hostname} refused"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# Get all ReplicaSets
|
41
|
+
def get_all_replicasets
|
42
|
+
extension = "/apis/extensions/v1beta1/replicasets"
|
43
|
+
|
44
|
+
uri = prepareURI(@endpoint, extension)
|
45
|
+
|
46
|
+
request = prepareGenericRequest(uri, @bearer_token, "GET")
|
47
|
+
|
48
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
49
|
+
|
50
|
+
begin
|
51
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
52
|
+
http.request(request)
|
53
|
+
end
|
54
|
+
return response.body
|
55
|
+
|
56
|
+
rescue Errno::ECONNREFUSED
|
57
|
+
raise "Connection for host #{uri.hostname} refused"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
# Get all existing ReplicaSets in Namespace
|
62
|
+
def get_all_namespaced_replicasets(namespace)
|
63
|
+
extension = "/apis/extensions/v1beta1/namespaces/#{namespace}/replicasets"
|
64
|
+
|
65
|
+
uri = prepareURI(@endpoint, extension)
|
66
|
+
|
67
|
+
request = prepareGenericRequest(uri, @bearer_token, "GET")
|
68
|
+
|
69
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
70
|
+
|
71
|
+
begin
|
72
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
73
|
+
http.request(request)
|
74
|
+
end
|
75
|
+
return response.body
|
76
|
+
|
77
|
+
rescue Errno::ECONNREFUSED
|
78
|
+
raise "Connection for host #{uri.hostname} refused"
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# Get single ReplicaSet in Namespace
|
83
|
+
def get_single_namespaced_replicaset(namespace, replicaset_name)
|
84
|
+
extension = "/apis/extensions/v1beta1/namespaces/#{namespace}/replicasets/#{replicaset_name}"
|
85
|
+
|
86
|
+
uri = prepareURI(@endpoint, extension)
|
87
|
+
|
88
|
+
request = prepareGenericRequest(uri, @bearer_token, "GET")
|
89
|
+
|
90
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
91
|
+
|
92
|
+
begin
|
93
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
94
|
+
http.request(request)
|
95
|
+
end
|
96
|
+
return response.body
|
97
|
+
rescue Errno::ECONNREFUSED
|
98
|
+
raise "Connection for host #{uri.hostname} refused"
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
# Update existing ReplicaSet in Namespace
|
103
|
+
def update_namespaced_replicaset(namespace, replicaset_name, update)
|
104
|
+
extension = "/apis/extensions/v1beta1/namespaces/#{namespace}/replicasets/#{replicaset_name}"
|
105
|
+
|
106
|
+
uri = prepareURI(@endpoint, extension)
|
107
|
+
|
108
|
+
request = prepareGenericRequest(uri, @bearer_token, "PUT")
|
109
|
+
request.content_type = "application/json"
|
110
|
+
|
111
|
+
if @yaml
|
112
|
+
request.body = yaml_file_to_json(update)
|
113
|
+
else
|
114
|
+
request.body = update
|
115
|
+
end
|
116
|
+
|
117
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
118
|
+
|
119
|
+
begin
|
120
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
121
|
+
http.request(request)
|
122
|
+
end
|
123
|
+
return response.body
|
124
|
+
|
125
|
+
rescue Errno::ECONNREFUSED
|
126
|
+
raise "Connection for host #{uri.hostname} refused"
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
# Patch existing ReplicaSet
|
131
|
+
def patch_replicaset(namespace, replicaset_name, patch)
|
132
|
+
extension = "/apis/extensions/v1beta1/namespaces/#{namespace}/replicasets/#{replicaset_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 Namespace
|
154
|
+
def delete_replicaset(namespace, replicaset_name, options = '')
|
155
|
+
extension = "/apis/extensions/v1beta1/namespaces/#{namespace}/replicasets/#{replicaset_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,176 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'uri'
|
3
|
+
require 'openssl'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
require_relative 'generic'
|
7
|
+
|
8
|
+
module Services
|
9
|
+
include Generic
|
10
|
+
|
11
|
+
# Create new Service
|
12
|
+
def create_new_service(namespace, config)
|
13
|
+
extension = "/api/v1/namespaces/#{namespace}/services"
|
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 Services
|
40
|
+
def get_all_services
|
41
|
+
extension = "/api/v1/services"
|
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 Services in Namespace
|
61
|
+
def get_all_namespaced_services(namespace)
|
62
|
+
extension = "/api/v1/namespaces/#{namespace}/services"
|
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 Service in Namespace
|
82
|
+
def get_single_namespaced_service(namespace, service_name)
|
83
|
+
extension = "/api/v1/namespaces/#{namespace}/services/#{service_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 Service in Namespace
|
102
|
+
def update_namespaced_service(namespace, service_name, update)
|
103
|
+
extension = "/api/v1/namespaces/#{namespace}/services/#{service_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 Service
|
130
|
+
def patch_service(namespace, service_name, patch)
|
131
|
+
extension = "/api/v1/namespaces/#{namespace}/services/#{service_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 Service
|
153
|
+
def delete_service(namespace, service_name)
|
154
|
+
extension = "/api/v1/namespaces/#{namespace}/services/#{service_name}"
|
155
|
+
|
156
|
+
uri = prepareURI(@endpoint, extension)
|
157
|
+
|
158
|
+
request = prepareGenericRequest(uri, @bearer_token, "DELETE")
|
159
|
+
|
160
|
+
req_options = prepareGenericRequestOptions(@ssl, uri)
|
161
|
+
|
162
|
+
begin
|
163
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
164
|
+
http.request(request)
|
165
|
+
end
|
166
|
+
return response.body
|
167
|
+
|
168
|
+
rescue Errno::ECONNREFUSED
|
169
|
+
raise "Connection for host #{uri.hostname} refused"
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
end
|
174
|
+
|
175
|
+
|
176
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require "ruby-kubernetes-controller/version"
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "ruby-kubernetes-controller"
|
8
|
+
spec.version = RubyKubernetesController::VERSION
|
9
|
+
spec.authors = ["Shivansh Vij (ShivanshVij)", "Matthew Grech (mgrech)", "Zack Livingston (ZackLivingston)"]
|
10
|
+
spec.email = ["shivanshvij@outlook.com", "mgrech97@gmaii.com", "15zel@queensu.ca"]
|
11
|
+
|
12
|
+
spec.summary = %q{Ruby Kubernetes Controller is a Ruby Client Library for interacting with existing Kubernetes Clusters.}
|
13
|
+
spec.description = <<-EOF
|
14
|
+
The Ruby Kubernetes Controller allows users to interact with the core Kubernetes APIs natively from within their Ruby
|
15
|
+
applications. This library is compatible with all leading Kubernetes Instances, including OpenShift Kubernetes,
|
16
|
+
Azure Kubernetes Service, Amazon EKS, Google Kubernetes Service, IBM Kubernetes Service, and Rancher Orchestrated Kubernetes.
|
17
|
+
This library also supports yaml ingestion for creating, patching, updating, or deleting existing Kubernetes types,
|
18
|
+
including Pods, Services, Deployments, Endpoints, and Ingresses. Our documentation also contains complete examples for
|
19
|
+
all operation types.
|
20
|
+
EOF
|
21
|
+
spec.homepage = "https://github.com/IBM/ruby-kubernetes-controller/"
|
22
|
+
spec.license = "MIT"
|
23
|
+
|
24
|
+
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
25
|
+
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
26
|
+
if spec.respond_to?(:metadata)
|
27
|
+
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
28
|
+
|
29
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
30
|
+
spec.metadata["source_code_uri"] = "https://github.com/IBM/ruby-kubernetes-controller/"
|
31
|
+
spec.metadata["changelog_uri"] = "https://github.com/IBM/ruby-kubernetes-controller/blob/master/CHANGELOG.md"
|
32
|
+
spec.metadata["documentation_uri"] = "https://github.com/IBM/ruby-kubernetes-controller/blob/master/Documentation/DOCUMENTATION.md"
|
33
|
+
else
|
34
|
+
raise "RubyGems 2.0 or newer is required to protect against " \
|
35
|
+
"public gem pushes."
|
36
|
+
end
|
37
|
+
|
38
|
+
# Specify which files should be added to the gem when it is released.
|
39
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
40
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
41
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
42
|
+
end
|
43
|
+
spec.bindir = "exe"
|
44
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
45
|
+
spec.require_paths = ["lib"]
|
46
|
+
|
47
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
48
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
49
|
+
spec.add_development_dependency "minitest", "~> 5.0"
|
50
|
+
spec.add_development_dependency "minitest-ci", "~>3.4.0"
|
51
|
+
|
52
|
+
spec.required_ruby_version = '>= 2.0.0'
|
53
|
+
end
|
metadata
ADDED
@@ -0,0 +1,146 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ruby-kubernetes-controller
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Shivansh Vij (ShivanshVij)
|
8
|
+
- Matthew Grech (mgrech)
|
9
|
+
- Zack Livingston (ZackLivingston)
|
10
|
+
autorequire:
|
11
|
+
bindir: exe
|
12
|
+
cert_chain: []
|
13
|
+
date: 2019-06-10 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: bundler
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - "~>"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '2.0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - "~>"
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: '2.0'
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: rake
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - "~>"
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '10.0'
|
36
|
+
type: :development
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '10.0'
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: minitest
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '5.0'
|
50
|
+
type: :development
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - "~>"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '5.0'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: minitest-ci
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 3.4.0
|
64
|
+
type: :development
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 3.4.0
|
71
|
+
description: " The Ruby Kubernetes Controller allows users
|
72
|
+
to interact with the core Kubernetes APIs natively from within their Ruby\n applications.
|
73
|
+
This library is compatible with all leading Kubernetes Instances, including OpenShift
|
74
|
+
Kubernetes, \n Azure Kubernetes Service, Amazon EKS, Google
|
75
|
+
Kubernetes Service, IBM Kubernetes Service, and Rancher Orchestrated Kubernetes.
|
76
|
+
\n This library also supports yaml ingestion for creating,
|
77
|
+
patching, updating, or deleting existing Kubernetes types, \n including
|
78
|
+
Pods, Services, Deployments, Endpoints, and Ingresses. Our documentation also contains
|
79
|
+
complete examples for \n all operation types.\n"
|
80
|
+
email:
|
81
|
+
- shivanshvij@outlook.com
|
82
|
+
- mgrech97@gmaii.com
|
83
|
+
- 15zel@queensu.ca
|
84
|
+
executables: []
|
85
|
+
extensions: []
|
86
|
+
extra_rdoc_files: []
|
87
|
+
files:
|
88
|
+
- ".circleci/config.yml"
|
89
|
+
- ".circleci/setup-rubygems.sh"
|
90
|
+
- ".gitignore"
|
91
|
+
- CODE_OF_CONDUCT.md
|
92
|
+
- Documentation/DOCUMENTATION.md
|
93
|
+
- Documentation/serviceaccount.png
|
94
|
+
- Documentation/serviceaccount.yaml
|
95
|
+
- Gemfile
|
96
|
+
- LICENSE.txt
|
97
|
+
- README.md
|
98
|
+
- Rakefile
|
99
|
+
- bin/console
|
100
|
+
- bin/setup
|
101
|
+
- lib/ruby-kubernetes-controller.rb
|
102
|
+
- lib/ruby-kubernetes-controller/client.rb
|
103
|
+
- lib/ruby-kubernetes-controller/configmaps.rb
|
104
|
+
- lib/ruby-kubernetes-controller/deployments.rb
|
105
|
+
- lib/ruby-kubernetes-controller/endpoints.rb
|
106
|
+
- lib/ruby-kubernetes-controller/generic.rb
|
107
|
+
- lib/ruby-kubernetes-controller/ingresses.rb
|
108
|
+
- lib/ruby-kubernetes-controller/namespaces.rb
|
109
|
+
- lib/ruby-kubernetes-controller/nodes.rb
|
110
|
+
- lib/ruby-kubernetes-controller/persistentvolumeclaims.rb
|
111
|
+
- lib/ruby-kubernetes-controller/persistentvolumes.rb
|
112
|
+
- lib/ruby-kubernetes-controller/pods.rb
|
113
|
+
- lib/ruby-kubernetes-controller/replicasets.rb
|
114
|
+
- lib/ruby-kubernetes-controller/services.rb
|
115
|
+
- lib/ruby-kubernetes-controller/version.rb
|
116
|
+
- ruby-kubernetes-controller.gemspec
|
117
|
+
homepage: https://github.com/IBM/ruby-kubernetes-controller/
|
118
|
+
licenses:
|
119
|
+
- MIT
|
120
|
+
metadata:
|
121
|
+
allowed_push_host: https://rubygems.org
|
122
|
+
homepage_uri: https://github.com/IBM/ruby-kubernetes-controller/
|
123
|
+
source_code_uri: https://github.com/IBM/ruby-kubernetes-controller/
|
124
|
+
changelog_uri: https://github.com/IBM/ruby-kubernetes-controller/blob/master/CHANGELOG.md
|
125
|
+
documentation_uri: https://github.com/IBM/ruby-kubernetes-controller/blob/master/Documentation/DOCUMENTATION.md
|
126
|
+
post_install_message:
|
127
|
+
rdoc_options: []
|
128
|
+
require_paths:
|
129
|
+
- lib
|
130
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
131
|
+
requirements:
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 2.0.0
|
135
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - ">="
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
140
|
+
requirements: []
|
141
|
+
rubygems_version: 3.0.3
|
142
|
+
signing_key:
|
143
|
+
specification_version: 4
|
144
|
+
summary: Ruby Kubernetes Controller is a Ruby Client Library for interacting with
|
145
|
+
existing Kubernetes Clusters.
|
146
|
+
test_files: []
|