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 +4 -4
- data/lib/sct/commands/cluster.rb +58 -0
- data/lib/sct/version.rb +1 -1
- data/sct.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb3124f71d7225fc1c88fb1385b1de8c308b3cb9dcd3621c57d82c681b90ea10
|
4
|
+
data.tar.gz: bdc089394ec064af60751b213a57f491752bb3184e6eacdc11d8367ed65d7658
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8a45d11bc4c50a627a913a8a38cd602eadd4520c2064a14801b9c31bc5e3943f6cb0c2cf2487bc8e191096b81a9797f12790a73267e46758fb6403ea5c1cec3
|
7
|
+
data.tar.gz: 696c6ae0977971f48f9460113b11aca055a6687f884adb70606eab9d2d6822bfb37c33c8cc45bd66e8bc216b601b750fa24d45babef9a0e0c638bd32f8e17f31
|
data/lib/sct/commands/cluster.rb
CHANGED
@@ -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
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.
|
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-
|
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
|