kubernetes-cli 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.