sct 0.1.16 → 0.1.17

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: d056bb6dee0b4f63c1f1480dcf45fb72ddc7c56d438c22e198b516337226d10f
4
- data.tar.gz: 70e73a9e31b06b96f3e0c39cdc68e830e4eb155f6bf3656d8d8906244c4dbab2
3
+ metadata.gz: eb3124f71d7225fc1c88fb1385b1de8c308b3cb9dcd3621c57d82c681b90ea10
4
+ data.tar.gz: bdc089394ec064af60751b213a57f491752bb3184e6eacdc11d8367ed65d7658
5
5
  SHA512:
6
- metadata.gz: 19cc423a5d5e5e52aa63ed5f2c995c7b87f0c7e8802ede561ecc9326f438e6bc0e1be45e79c63adad37b1bd8db378518d9ec4491fc59b752a32f841991658b1a
7
- data.tar.gz: ca64a6c7ab008432005c5f6e53498de49fa3d608be78980963fd79fe4ec79940d0c4364418059dd78c05b7966fa8cdfa06934dea089eee6cc985fa42daae8a5a
6
+ metadata.gz: a8a45d11bc4c50a627a913a8a38cd602eadd4520c2064a14801b9c31bc5e3943f6cb0c2cf2487bc8e191096b81a9797f12790a73267e46758fb6403ea5c1cec3
7
+ data.tar.gz: 696c6ae0977971f48f9460113b11aca055a6687f884adb70606eab9d2d6822bfb37c33c8cc45bd66e8bc216b601b750fa24d45babef9a0e0c638bd32f8e17f31
@@ -1,4 +1,5 @@
1
1
  require 'sct/command_interface'
2
+ require 'terminal-table'
2
3
 
3
4
  module Sct
4
5
 
@@ -27,6 +28,8 @@ module Sct
27
28
  reset
28
29
  when "delete-stalled-pods"
29
30
  delete_stalled_pods(feedback: true)
31
+ when "status"
32
+ status
30
33
  else
31
34
  puts "Unknown or missing argument. Please run 'sct cluster up', 'sct cluster down', 'sct cluster setup', 'sct cluster reset', 'sct cluster update-config', or 'sct cluster delete-stalled-pods'.".red
32
35
  end
@@ -151,6 +154,61 @@ module Sct
151
154
  puts "Pods are now ready.".green
152
155
  end
153
156
 
157
+ def status
158
+ minikube_status
159
+ pods_status
160
+ system_pods
161
+ current_contexts
162
+ end
163
+
164
+ def pods_status
165
+ rows = []
166
+ pods.map do |pod|
167
+ status = pod[:status] == "Running" ? pod[:status].green : pod[:status].red
168
+ rows << [pod[:name], status]
169
+ end
170
+ puts Terminal::Table.new :title => "Pods Status".green, :headings => ['Name', 'Status'], :rows => rows
171
+ end
172
+
173
+ def system_pods
174
+ rows = []
175
+ pods("kube-system").map do |pod|
176
+ status = pod[:status] == "Running" ? pod[:status].green : pod[:status].red
177
+ rows << [pod[:name], status]
178
+ end
179
+ puts Terminal::Table.new :title => "System pods Status".green, :headings => ['Name', 'Status'], :rows => rows
180
+ end
181
+
182
+ def current_contexts
183
+ output = `kubectl config get-contexts`
184
+
185
+ lines = output.split "\n"
186
+ lines = lines[1..-1]
187
+
188
+ rows = []
189
+ lines.map do |line|
190
+ columns = line.split(" ")
191
+
192
+ current_context = columns[0] == "*" ? "Yes".green : "No".red
193
+ rows << [columns[2], current_context]
194
+ end
195
+ puts Terminal::Table.new :title => "Contexts".green, :headings => ['Cluster', 'Using context'], :rows => rows
196
+ end
197
+
198
+ def minikube_status
199
+ output = `#{minikube} status`
200
+
201
+ lines = output.split "\n"
202
+
203
+ rows = []
204
+ lines.map do |line|
205
+ columns = line.split(" ")
206
+
207
+ rows << [columns[0], columns[1]]
208
+ end
209
+ puts Terminal::Table.new :title => "Minikube Status".green, :headings => ['Name', 'Status'], :rows => rows
210
+ end
211
+
154
212
  def pods(namespace = nil)
155
213
  if namespace
156
214
  output = `kubectl get pods -n #{namespace}`
data/lib/sct/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sct
2
- VERSION = "0.1.16"
2
+ VERSION = "0.1.17"
3
3
  end
data/sct.gemspec CHANGED
@@ -32,6 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency "colored", "~> 1.2"
33
33
  spec.add_dependency "commander", "~> 4.4.7"
34
34
  spec.add_dependency "highline", ">= 1.7.2"
35
+ spec.add_dependency "terminal-table", "~> 1.8"
35
36
 
36
37
  spec.add_development_dependency "bundler", "~> 2.0"
37
38
  spec.add_development_dependency "rake", "~> 10.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sct
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reshad Farid
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-17 00:00:00.000000000 Z
11
+ date: 2020-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: class_interface
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.7.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: terminal-table
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.8'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.8'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: bundler
71
85
  requirement: !ruby/object:Gem::Requirement