kubernetes-cli 0.4.0 → 0.5.0

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: b93bf8e3f620c17f2781d2eb5f2748f970982a854d0aa622d3313b1d74104d3b
4
- data.tar.gz: 9c7d170e2ab873b66cfbf6a12532260e3442781330c9e96363e472d354ff997a
3
+ metadata.gz: 0707011c2436682540842704a82abf87ab93497f7195ca11603ecdd78216d2a9
4
+ data.tar.gz: 29af2ba1be9b5c483817e91b10ed410103a96bf59f32d9f03e8056d37e06e55d
5
5
  SHA512:
6
- metadata.gz: 0156747413340bab08b571bf13db212d0a8397ceb0b733fbc152c7835080f203400f6f1554829c74dab4fe1b743b3f3eda3d2e11950896f01da6b9bedf5bc3ca
7
- data.tar.gz: c21786be60e403d60d2c39fd7be371a7043539412000e9cff2ea197e37092fe38a2bc621a6413266aabd0b8633656375056ce46745ac65726eb08c3e31cd14e3
6
+ metadata.gz: 6d2702486be69a391fdabfd0cf1d3acce0034b5f7e59006145d4987b42699a425a6a08eae66af6abc538dc55c00d984003c4a903c96ea01a49eecf5c37e1e829
7
+ data.tar.gz: ff00655941c13e125b838c4aac18008b11b58883b204eede1e9660f25e6f7e0749a8cf063f20fe79e11fd24bf86151546d9b687bd1d81d4b879ab00ac2d989a4
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.5.0
2
+ * Pass environment variables to every command.
3
+
1
4
  ## 0.4.0
2
5
  * Add `#version` method to get k8s client/server version info.
3
6
  * Add Sorbet type definitions.
data/Gemfile CHANGED
@@ -16,8 +16,9 @@ group :development do
16
16
  gem 'curdle', '~> 1.0'
17
17
 
18
18
  # lock to same version as kuby-core
19
- gem 'sorbet', '= 0.5.6433'
20
- gem 'parlour', '~> 6.0'
19
+ gem 'sorbet', '= 0.5.10851'
20
+ gem 'parlour', '~> 7.0'
21
+ gem 'tapioca', '~> 0.11'
21
22
  end
22
23
 
23
24
  group :development, :test do
@@ -1,5 +1,5 @@
1
1
  # typed: ignore
2
2
 
3
3
  class KubernetesCLI
4
- VERSION = '0.4.0'.freeze
4
+ VERSION = '0.5.0'.freeze
5
5
  end
@@ -440,13 +440,13 @@ class KubernetesCLI
440
440
  Thread.current[STDERR_KEY] = new_stderr
441
441
  end
442
442
 
443
- private
444
-
445
443
  # T::Sig::WithoutRuntime.sig { returns(T::Hash[String, String]) }
446
444
  def env
447
445
  @env ||= {}
448
446
  end
449
447
 
448
+ private
449
+
450
450
  # T::Sig::WithoutRuntime.sig { returns(T::Array[String]) }
451
451
  def base_cmd
452
452
  [executable, '--kubeconfig', kubeconfig_path]
@@ -456,7 +456,7 @@ class KubernetesCLI
456
456
  def execc(cmd)
457
457
  run_before_callbacks(cmd)
458
458
  cmd_s = cmd.join(' ')
459
- exec(cmd_s)
459
+ exec(env, cmd_s)
460
460
  end
461
461
 
462
462
  # T::Sig::WithoutRuntime.sig { params(cmd: T::Array[String]).void }
@@ -472,7 +472,7 @@ class KubernetesCLI
472
472
  def systemm_default(cmd)
473
473
  run_before_callbacks(cmd)
474
474
  cmd_s = cmd.join(' ')
475
- system(cmd_s).tap do
475
+ system(env, cmd_s).tap do
476
476
  self.last_status = $?
477
477
  run_after_callbacks(cmd)
478
478
  end
@@ -483,7 +483,7 @@ class KubernetesCLI
483
483
  run_before_callbacks(cmd)
484
484
  cmd_s = cmd.join(' ')
485
485
 
486
- Open3.popen3(cmd_s) do |p_stdin, p_stdout, p_stderr, wait_thread|
486
+ Open3.popen3(env, cmd_s) do |p_stdin, p_stdout, p_stderr, wait_thread|
487
487
  Thread.new(stdout) do |t_stdout|
488
488
  begin
489
489
  p_stdout.each { |line| t_stdout.puts(line) }
@@ -507,21 +507,7 @@ class KubernetesCLI
507
507
 
508
508
  # T::Sig::WithoutRuntime.sig { params(cmd: T::Array[String]).returns(String) }
509
509
  def backticks(cmd)
510
- if stdout == STDOUT && stderr == STDERR
511
- backticks_default(cmd)
512
- else
513
- backticks_open3(cmd)
514
- end
515
- end
516
-
517
- # T::Sig::WithoutRuntime.sig { params(cmd: T::Array[String]).returns(String) }
518
- def backticks_default(cmd)
519
- run_before_callbacks(cmd)
520
- cmd_s = cmd.join(' ')
521
- `#{cmd_s}`.tap do
522
- self.last_status = $?
523
- run_after_callbacks(cmd)
524
- end
510
+ backticks_open3(cmd)
525
511
  end
526
512
 
527
513
  # T::Sig::WithoutRuntime.sig { params(cmd: T::Array[String]).returns(String) }
@@ -530,7 +516,7 @@ class KubernetesCLI
530
516
  cmd_s = cmd.join(' ')
531
517
  result = StringIO.new
532
518
 
533
- Open3.popen3(cmd_s) do |p_stdin, p_stdout, p_stderr, wait_thread|
519
+ Open3.popen3(env, cmd_s) do |p_stdin, p_stdout, p_stderr, wait_thread|
534
520
  Thread.new do
535
521
  begin
536
522
  p_stdout.each { |line| result.puts(line) }
@@ -192,9 +192,6 @@ class KubernetesCLI
192
192
  sig { params(cmd: T::Array[String]).returns(String) }
193
193
  def backticks(cmd); end
194
194
 
195
- sig { params(cmd: T::Array[String]).returns(String) }
196
- def backticks_default(cmd); end
197
-
198
195
  sig { params(cmd: T::Array[String]).returns(String) }
199
196
  def backticks_open3(cmd); end
200
197
 
@@ -2,7 +2,8 @@
2
2
  require 'rspec/expectations'
3
3
 
4
4
  class TestCommand
5
- def initialize(cmd_s)
5
+ def initialize(env, cmd_s)
6
+ @env = env
6
7
  @cmd_s = cmd_s
7
8
  @cmd = cmd_s.split(' ')
8
9
  end
@@ -32,7 +33,7 @@ module CommandHelpers
32
33
  @extra = []
33
34
  @missing_redirect = false
34
35
 
35
- commands.map! { |cmd_s| TestCommand.new(cmd_s) }
36
+ commands.map! { |env, cmd_s| TestCommand.new(env, cmd_s) }
36
37
 
37
38
  @matching_commands = commands.select do |cmd|
38
39
  missing_for_cmd = []
@@ -17,21 +17,15 @@ class FakeStatus
17
17
  end
18
18
 
19
19
  class TestCLI < KubernetesCLI
20
- attr_reader :exec_commands, :system_commands
20
+ attr_reader :exec_commands
21
21
 
22
22
  def initialize(kubeconfig_path, executable = KubectlRb.executable)
23
23
  @exec_commands = []
24
- @system_commands = []
25
24
 
26
25
  super
27
26
  end
28
27
 
29
- def on_exec(&block)
30
- @exec_callback = block
31
- end
32
-
33
- def exec(cmd)
34
- @exec_commands << cmd
35
- @exec_callback.call(cmd) if @exec_callback
28
+ def exec(env, cmd)
29
+ @exec_commands << [env, cmd]
36
30
  end
37
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kubernetes-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Dutro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-05 00:00:00.000000000 Z
11
+ date: 2023-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kubectl-rb
@@ -66,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0'
68
68
  requirements: []
69
- rubygems_version: 3.2.32
69
+ rubygems_version: 3.4.5
70
70
  signing_key:
71
71
  specification_version: 4
72
72
  summary: Ruby wrapper around the Kubernetes CLI.