kubert 0.1.0 → 0.1.1

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
  SHA1:
3
- metadata.gz: 13d3f33521c6405a0742f4ad72762bae8eb98039
4
- data.tar.gz: f6063a35ffe1f8146b779f515f1646bc448286c4
3
+ metadata.gz: e5c74268cc6b8183802832e52b2915204446ecc3
4
+ data.tar.gz: 1be4118c38ac3bc70e1ccaae091a98224c53a4c2
5
5
  SHA512:
6
- metadata.gz: cad02b12eabe8d9bf7d6edac689ec48c91f6ebaaeef5da59a96624ac0a0071dd67165454419bd25fbd18dc631d87a4f0727bedd41e4ee2d2d04b3ed2acb2854d
7
- data.tar.gz: 2c9545f878499dba963ef758ee5bcb4f56a6c0057d7901cbd87493d333d9b67f957923888484cdaa8fb641b6513393d252ff8c521fff6bb6b10414ab38022534
6
+ metadata.gz: 97697fadf8dcfe45a70457e8ad9c05dcd739e098ebeb9adb4d186449c62d62792bcb8ca168cd2e7705bc1478f1d34f4442f735432841e121e3e45435043e3767
7
+ data.tar.gz: 45ac797aad87616892d75ef0fd127d73f0b1181bafc324cb83d118e08d06dd876984dd140dd62483f10612da859dc5563663d40dec35a4b23d5d7d9cbfa7be30
data/lib/kubert/cli.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require_relative '../kubert'
2
2
  require 'thor'
3
- require "irb"
4
3
  module Kubert
5
4
  class Cli < Thor
6
5
 
@@ -31,6 +30,11 @@ module Kubert
31
30
  Pods.execute(command)
32
31
  end
33
32
 
33
+ desc "logs pod_type (status, default Running)", "Interleave and tail logs from all running pods of the specified type"
34
+ def logs(pod_type, status= :running)
35
+ Pods.logs(pod_type, status)
36
+ end
37
+
34
38
  desc "deploy", "Perform a deployment"
35
39
  method_option :namespace, type: :string, aliases: "-n"
36
40
  method_option :environment, type: :string, aliases: "-e"
data/lib/kubert/pods.rb CHANGED
@@ -12,6 +12,10 @@ module Kubert
12
12
  new.execute(command)
13
13
  end
14
14
 
15
+ def self.logs(pod_type, status)
16
+ new.all(pod_type).status(status).logs
17
+ end
18
+
15
19
  attr_reader :project_name, :pods
16
20
  def initialize(project_name= Kubert.configuration[:project_name])
17
21
  @project_name = project_name
@@ -42,5 +46,22 @@ module Kubert
42
46
  puts "THIS WILL NEVER EXECUTE BECAUSE OF EXEC ABOVE"
43
47
  end
44
48
 
49
+ def logs
50
+ fibers = names.map.with_index do |pod_name, i|
51
+ puts "logging #{pod_name}:"
52
+ watcher = Kubert.client.watch_pod_log(pod_name, pods.first.metadata.namespace)
53
+ pod_name = names[i]
54
+ log_enum = watcher.to_enum
55
+ Fiber.new do
56
+ loop do
57
+ Fiber.yield(puts "#{pod_name} |> #{log_enum.next}")
58
+ end
59
+ end
60
+ end
61
+ while fibers.all?(&:alive?) do
62
+ fibers.shuffle.each(&:resume)
63
+ end
64
+ end
65
+
45
66
  end
46
67
  end
@@ -1,3 +1,3 @@
1
1
  module Kubert
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/kubert.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'kubeclient'
2
2
  require 'ky'
3
3
  require 'open3'
4
+ require 'fiber'
4
5
  require_relative "kubert/pods"
5
6
  require_relative "kubert/deployment"
6
7
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kubert
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Glusman