ruby-kubernetes-controller 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ae9bccbe5b323b1c7319de8370b94439cd95627c785e2bda8ba359d6f27b3df0
4
- data.tar.gz: 6a5b3923bb1f538942c4d61355957ff31ab9ea7048c379773d4df77b1a97fe26
3
+ metadata.gz: 367cf0c821db043996230dbbd4f934616906dd8630874807c8e45000d777c640
4
+ data.tar.gz: 40e5fae6ed73fedc968ade455f1a284fff4fff7fcb30cc846ea7781674ee5bc4
5
5
  SHA512:
6
- metadata.gz: b82a2e8b4e416deeeeec55a9adbba752c9f555dc2c72cba9896d1af82f0ee6356ba6c38472f56b5344b4801d8dc1cc16747908eba3ec8110cdc9182ecf3f2a8c
7
- data.tar.gz: ddee35da7ff08689047c2faa4a9b98a8b83ac75356e67216304832feffee5d3d614efb20660d293838f70019fae61f177330108c299b5764d0be08098ed9e340
6
+ metadata.gz: 6f7bada708d34d21ba9a120ab9d58fbce8d68ce40232af815cf38b6d2d6485561680e8e03c2123d087c1436d7d3bf20000d510bea66eef396c51975287a79c7c
7
+ data.tar.gz: 31f582542b7a6e7d0a15196c254aca87b69411c740b1f812d3fed3f7d50b1b55ec3ed85e0be4d590eeddd000002b6530c4c177cb65fc1c0a90cd5d8019c1ad76
@@ -543,6 +543,38 @@ Before beginning, you must generate a bearer token for the Ruby Kubernetes Contr
543
543
  puts client.get_all_namespaced_pods(namespace) # Returns JSON
544
544
  ```
545
545
 
546
+ #### Get Namespaced Pods With Field Selector
547
+ * List all existing Pods in Namespace that have a specific field selector
548
+ ```ruby
549
+ require 'ruby-kubernetes-controller'
550
+
551
+ pod = "localhost"
552
+ bearer_token = "token"
553
+ ssl = false
554
+
555
+ client = ::RubyKubernetesController::Client.new(pod, bearer_token, ssl)
556
+
557
+ namespace = "default"
558
+
559
+ puts client.get_all_namespaced_pods_with_field_selector(namespace, field_selector) # Returns JSON
560
+ ```
561
+
562
+ #### Get Namespaced Pods With Label Selector
563
+ * List all existing Pods in Namespace that have a specific label selector
564
+ ```ruby
565
+ require 'ruby-kubernetes-controller'
566
+
567
+ pod = "localhost"
568
+ bearer_token = "token"
569
+ ssl = false
570
+
571
+ client = ::RubyKubernetesController::Client.new(pod, bearer_token, ssl)
572
+
573
+ namespace = "default"
574
+
575
+ puts client.get_all_namespaced_pods_with_label_selector(namespace, label_selector) # Returns JSON
576
+ ```
577
+
546
578
  #### Get Single Namespaced Pod
547
579
  * Get details for single Pod in Namespace
548
580
  ```ruby
@@ -11,6 +11,14 @@ module Generic
11
11
  URI.parse("https://#{endpoint}#{extension}")
12
12
  end
13
13
 
14
+ # Create a URI Object with params
15
+ def prepareURIWithParams(endpoint, extension, params)
16
+ uri = URI.parse("https://#{endpoint}#{extension}")
17
+ uri.query = URI.encode_www_form(params)
18
+
19
+ uri
20
+ end
21
+
14
22
  # Prepare a Generic Request Object
15
23
  def prepareGenericRequest(uri, bearer_token, type)
16
24
  if type == "GET"
@@ -78,6 +78,54 @@ module Pods
78
78
  end
79
79
  end
80
80
 
81
+ # Get all existing Pods in Namespace with field selector
82
+ def get_all_namespaced_pods_with_field_selector(namespace, selector)
83
+ extension = "/api/v1/namespaces/#{namespace}/pods"
84
+
85
+ params = { :fieldSelector => "#{selector}" }
86
+
87
+ uri = prepareURIWithParams(@endpoint, extension, params)
88
+
89
+ puts(uri)
90
+
91
+ request = prepareGenericRequest(uri, @bearer_token, "GET")
92
+
93
+ req_options = prepareGenericRequestOptions(@ssl, uri)
94
+
95
+ begin
96
+ response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
97
+ http.request(request)
98
+ end
99
+ return response.body
100
+
101
+ rescue Errno::ECONNREFUSED
102
+ raise "Connection for host #{uri.hostname} refused"
103
+ end
104
+ end
105
+
106
+ # Get all existing Pods in Namespace with label selector
107
+ def get_all_namespaced_pods_with_label_selector(namespace, selector)
108
+ extension = "/api/v1/namespaces/#{namespace}/pods"
109
+
110
+ params = { :labelSelector => "#{selector}" }
111
+
112
+ uri = prepareURIWithParams(@endpoint, extension, params)
113
+
114
+ request = prepareGenericRequest(uri, @bearer_token, "GET")
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
+
81
129
  # Get single Pod in Namespace
82
130
  def get_single_namespaced_pod(namespace, pod_name)
83
131
  extension = "/api/v1/namespaces/#{namespace}/pods/#{pod_name}"
@@ -1,4 +1,4 @@
1
1
  # Part of the RubyKubernetesController module
2
2
  module RubyKubernetesController
3
- VERSION = "0.2.3"
3
+ VERSION = "0.2.4"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-kubernetes-controller
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shivansh Vij (ShivanshVij)
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2020-01-02 00:00:00.000000000 Z
13
+ date: 2020-07-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler