pfab 0.58.19 → 0.58.21
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 +4 -4
- data/Gemfile.lock +2 -2
- data/lib/pfab/cli.rb +35 -12
- data/lib/pfab/version.rb +1 -1
- data/pfab.gemspec +4 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ae171cf942f1ee9f5226810a96169ddc0f5d1ef1bb715baaebc42dbc7dd027d
|
4
|
+
data.tar.gz: 98b9d183e651a03c8aa29d652a660ff4e4d2d2c8e80dba728ec41f0c7d2334c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8559ce5e8df9cd2e193e25fa553ffe08f54074be2abc1a13bee545df398824ee0d212947bd58ac290f2137e0d2f6cb6ff0fa860d9c7ec8bb0c07a7fca61dc6bb
|
7
|
+
data.tar.gz: 14095425002f7207519ddfb63bdfa93da9c95311884c83d3cfad2d5dc2385342ffc027dd109b79718d4c926c8e46a43a39e1b9ef2cca888aa265a1007feb15ef
|
data/Gemfile.lock
CHANGED
@@ -72,12 +72,12 @@ GEM
|
|
72
72
|
kamelcase (0.0.2)
|
73
73
|
semver2 (~> 3)
|
74
74
|
method_source (1.0.0)
|
75
|
-
mini_portile2 (2.8.
|
75
|
+
mini_portile2 (2.8.9)
|
76
76
|
minitest (5.22.3)
|
77
77
|
multi_json (1.15.0)
|
78
78
|
multi_xml (0.6.0)
|
79
79
|
multipart-post (2.1.1)
|
80
|
-
nokogiri (1.18.
|
80
|
+
nokogiri (1.18.9)
|
81
81
|
mini_portile2 (~> 2.8.2)
|
82
82
|
racc (~> 1.4)
|
83
83
|
oauth2 (1.4.11)
|
data/lib/pfab/cli.rb
CHANGED
@@ -352,23 +352,38 @@ module Pfab
|
|
352
352
|
cache_image_name = "#{container_repository}/#{image_name}:cache"
|
353
353
|
cache_args = "--cache-from type=registry,ref=#{cache_image_name} --cache-to type=registry,ref=#{cache_image_name},mode=max"
|
354
354
|
say "Using Docker registry cache: #{cache_image_name}"
|
355
|
+
elsif !docker_container_driver_available? && !$disable_docker_registry_cache
|
356
|
+
say "Docker registry caching not available - docker-container driver not found. Set up with: docker buildx create --driver docker-container --use"
|
355
357
|
end
|
356
358
|
|
357
|
-
|
358
|
-
|
359
|
-
|
359
|
+
if docker_container_driver_available?
|
360
|
+
say "Using docker-container driver - building and pushing directly to avoid local tagging issues"
|
361
|
+
# When using docker-container driver, build and push directly since image won't be in local docker
|
362
|
+
build_cmd = "docker buildx build --tag #{image_name}:#{rev} --tag #{full_image_name} --platform linux/amd64 #{build_args} #{cache_args} --push ."
|
363
|
+
puts build_cmd
|
364
|
+
result = system(build_cmd)
|
360
365
|
|
361
|
-
|
366
|
+
puts "Build Result #{result}"
|
367
|
+
return result
|
368
|
+
else
|
369
|
+
say "Using default docker driver - building locally then tagging and pushing"
|
370
|
+
# Traditional build, tag, and push workflow for local docker
|
371
|
+
build_cmd = "docker buildx build --tag #{image_name} --platform linux/amd64 #{build_args} #{cache_args} ."
|
372
|
+
puts build_cmd
|
373
|
+
result = system(build_cmd)
|
362
374
|
|
363
|
-
|
364
|
-
puts_and_system "docker tag #{image_name}:latest #{image_name}:#{rev}"
|
365
|
-
puts_and_system "docker tag #{image_name}:#{rev} #{full_image_name}"
|
375
|
+
puts "Build Result #{result}"
|
366
376
|
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
377
|
+
if result
|
378
|
+
puts_and_system "docker tag #{image_name} #{image_name}:#{rev}"
|
379
|
+
puts_and_system "docker tag #{image_name}:#{rev} #{full_image_name}"
|
380
|
+
|
381
|
+
puts_and_system "docker push #{container_repository}/#{image_name}:#{rev}"
|
382
|
+
return true
|
383
|
+
else
|
384
|
+
say "Build Did Not Succeed"
|
385
|
+
return false
|
386
|
+
end
|
372
387
|
end
|
373
388
|
|
374
389
|
end
|
@@ -509,10 +524,18 @@ module Pfab
|
|
509
524
|
(name == "all") ? deployables.keys : [name]
|
510
525
|
end
|
511
526
|
|
527
|
+
def docker_container_driver_available?
|
528
|
+
output = `docker buildx ls 2>/dev/null`
|
529
|
+
output.lines.any? { |line| line.match(/^\S+\s+docker-container/) }
|
530
|
+
end
|
531
|
+
|
512
532
|
def should_use_registry_cache?
|
513
533
|
# Disable flag takes highest precedence
|
514
534
|
return false if $disable_docker_registry_cache
|
515
535
|
|
536
|
+
# Registry cache requires docker-container driver - this is mandatory
|
537
|
+
return false unless docker_container_driver_available?
|
538
|
+
|
516
539
|
# Enable flag takes precedence over auto-detection
|
517
540
|
return true if $enable_docker_registry_cache
|
518
541
|
|
data/lib/pfab/version.rb
CHANGED
data/pfab.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: pfab 0.58.
|
5
|
+
# stub: pfab 0.58.21 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "pfab".freeze
|
9
|
-
s.version = "0.58.
|
9
|
+
s.version = "0.58.21".freeze
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["Jeff Dwyer".freeze]
|
14
|
-
s.date = "2025-08-
|
14
|
+
s.date = "2025-08-26"
|
15
15
|
s.description = "k8s helper".freeze
|
16
16
|
s.email = "jdwyer@prefab.cloud".freeze
|
17
17
|
s.executables = ["pfab".freeze]
|
@@ -53,7 +53,7 @@ Gem::Specification.new do |s|
|
|
53
53
|
|
54
54
|
s.specification_version = 4
|
55
55
|
|
56
|
-
s.add_runtime_dependency(%q<commander>.freeze, ["
|
56
|
+
s.add_runtime_dependency(%q<commander>.freeze, ["~> 4.6".freeze])
|
57
57
|
s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0".freeze])
|
58
58
|
s.add_runtime_dependency(%q<pry-byebug>.freeze, [">= 0".freeze])
|
59
59
|
s.add_runtime_dependency(%q<styled_yaml>.freeze, ["~> 0.0.1".freeze])
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pfab
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.58.
|
4
|
+
version: 0.58.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Dwyer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-08-
|
11
|
+
date: 2025-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|