kdep 0.3.0 → 0.3.2

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: f3ef2af09e9aa247210ced122bcc9c547a32a53eb87badf8b84b406858134024
4
- data.tar.gz: 3ece813bcdeef1d1da737e209ec3d6af5261231da4a4e34fa75a2637cbd1ba84
3
+ metadata.gz: 31b9cdda6d1844d118db0fb9d4e5a15b77fca16cbce57be97087972df0bcc202
4
+ data.tar.gz: e2c9d713663d6e682ac3cf73808af7d34da016ee424ffe0b6df4199d9368bf55
5
5
  SHA512:
6
- metadata.gz: f849b90a283a8291f807dcce38bcf5a59e0304f69676fe212321a185a95b252abb8025ec4a37a81c79cbd667cde4186dbddff9239aa7c34b7a90b35108549cb1
7
- data.tar.gz: e91757586b1dd6574502b26ff03025c9a7e4b87aa48845c0d95b70b57f26c91df35bc84e824da0044fe2eb9997c1fa6e57ee32a4e6db12598ec66ae81ef9efaf
6
+ metadata.gz: 3f9b2177e397d00f9ba41cb5cc28cda8bd33a4167a7849f58f65ef5a05e611500a8d8813400344738293889614fbf859d10c018a564cdc445263fbaf4cea8a75
7
+ data.tar.gz: c493a225039f31dfe0460db182a134e7c28e41d44f3d6aff9a54acd6c02ab4b6ca01f32b31435da7591ff432a7323ae199362233d166c87e212377c824342d75
data/lib/kdep/config.rb CHANGED
@@ -37,11 +37,7 @@ module Kdep
37
37
 
38
38
  def load_yaml(path)
39
39
  content = File.read(path)
40
- if RUBY_VERSION >= "3.1"
41
- YAML.safe_load(content, permitted_classes: [], permitted_symbols: [], aliases: false, filename: path) || {}
42
- else
43
- YAML.safe_load(content, [], [], false, path) || {}
44
- end
40
+ Kdep::YAMLCompat.safe_load(content, filename: path) || {}
45
41
  end
46
42
 
47
43
  def apply_defaults(config)
data/lib/kdep/docker.rb CHANGED
@@ -7,7 +7,7 @@ module Kdep
7
7
  def self.build(tag:, context_dir:, dockerfile: nil, target: nil, platform: nil, build_args: nil)
8
8
  ensure_login(tag)
9
9
 
10
- args = ["docker", "build", "-t", tag]
10
+ args = ["docker", "build", "--progress=plain", "-t", tag]
11
11
  args.push("--file", dockerfile) if dockerfile
12
12
  args.push("--target", target) if target
13
13
  args.push("--platform", platform) if platform
@@ -16,21 +16,22 @@ module Kdep
16
16
  end
17
17
  args.push(context_dir)
18
18
 
19
- stdout, stderr, status = Open3.capture3(*args)
20
- unless status.success?
21
- raise Error, "docker build failed: #{stderr.strip}"
22
- end
23
- stdout
19
+ run_streaming(*args)
24
20
  end
25
21
 
26
22
  def self.push(tag)
27
23
  ensure_login(tag)
24
+ run_streaming("docker", "push", tag)
25
+ end
28
26
 
29
- stdout, stderr, status = Open3.capture3("docker", "push", tag)
30
- unless status.success?
31
- raise Error, "docker push failed: #{stderr.strip}"
27
+ def self.run_streaming(*args)
28
+ status = nil
29
+ Open3.popen2e(*args) do |_stdin, out, wait_thr|
30
+ _stdin.close
31
+ out.each_line { |line| $stdout.print line }
32
+ status = wait_thr.value
32
33
  end
33
- stdout
34
+ raise Error, "#{args[0..1].join(' ')} failed (exit #{status.exitstatus})" unless status.success?
34
35
  end
35
36
 
36
37
  def self.ensure_login(tag)
@@ -80,6 +81,6 @@ module Kdep
80
81
  [nil, nil]
81
82
  end
82
83
 
83
- private_class_method :ensure_login, :read_credentials
84
+ private_class_method :run_streaming, :ensure_login, :read_credentials
84
85
  end
85
86
  end
@@ -34,11 +34,7 @@ module Kdep
34
34
  config_file = File.join(@path, "app.yml")
35
35
  return {} unless File.exist?(config_file)
36
36
  content = File.read(config_file)
37
- if RUBY_VERSION >= "3.1"
38
- YAML.safe_load(content, permitted_classes: [], permitted_symbols: [], aliases: false) || {}
39
- else
40
- YAML.safe_load(content, [], [], false) || {}
41
- end
37
+ Kdep::YAMLCompat.safe_load(content) || {}
42
38
  end
43
39
 
44
40
  def materialized_files
@@ -727,11 +723,7 @@ module Kdep
727
723
  # Handle multi-document YAML
728
724
  content.split(/^---\s*$/).each do |part|
729
725
  next if part.strip.empty?
730
- doc = if RUBY_VERSION >= "3.1"
731
- YAML.safe_load(part, permitted_classes: [], permitted_symbols: [], aliases: false)
732
- else
733
- YAML.safe_load(part, [], [], false)
734
- end
726
+ doc = Kdep::YAMLCompat.safe_load(part)
735
727
  yield doc if doc.is_a?(Hash)
736
728
  end
737
729
  end
data/lib/kdep/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kdep
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.2"
3
3
  end
@@ -0,0 +1,24 @@
1
+ require "yaml"
2
+
3
+ module Kdep
4
+ # Compatibility shim for YAML.safe_load across Psych versions.
5
+ #
6
+ # Psych 3.0 (Ruby 2.5): positional args only.
7
+ # Psych 3.1+ (Ruby 2.6+): kwargs added, positional still accepted.
8
+ # Psych 4.0+ (Ruby 3.1+): positional removed — kwargs only.
9
+ #
10
+ # We discriminate on Psych::VERSION (NOT RUBY_VERSION) because Psych is a
11
+ # default gem and can be updated independently of the Ruby runtime — e.g.
12
+ # Ruby 3.0 with an upgraded Psych 4+ would break a RUBY_VERSION-based check.
13
+ module YAMLCompat
14
+ module_function
15
+
16
+ def safe_load(content, filename: nil)
17
+ if Gem::Version.new(Psych::VERSION) >= Gem::Version.new("3.1.0")
18
+ YAML.safe_load(content, permitted_classes: [], permitted_symbols: [], aliases: false, filename: filename)
19
+ else
20
+ YAML.safe_load(content, [], [], false, filename)
21
+ end
22
+ end
23
+ end
24
+ end
data/lib/kdep.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "kdep/version"
2
2
  require "kdep/ui"
3
+ require "kdep/yaml_compat"
3
4
  require "kdep/defaults"
4
5
  require "kdep/config"
5
6
  require "kdep/preset"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kdep
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leadfy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-03-30 00:00:00.000000000 Z
11
+ date: 2026-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -107,6 +107,7 @@ files:
107
107
  - lib/kdep/version.rb
108
108
  - lib/kdep/version_tagger.rb
109
109
  - lib/kdep/writer.rb
110
+ - lib/kdep/yaml_compat.rb
110
111
  - templates/init/app.yml.erb
111
112
  - templates/init/gitignore
112
113
  - templates/init/secrets.yml
@@ -145,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
146
  - !ruby/object:Gem::Version
146
147
  version: '0'
147
148
  requirements: []
148
- rubygems_version: 3.5.22
149
+ rubygems_version: 3.2.32
149
150
  signing_key:
150
151
  specification_version: 4
151
152
  summary: Kubernetes deployment CLI