pfab 0.58.18 → 0.58.19

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: 49ab8d90eaed3d15f16ca811102a36d316bbd3b7bbcebf0dccc6d664cb1bbc85
4
- data.tar.gz: 27706a86056773d0624ce4d5bc2490e1c1b790ee9a0104eec59b560799d7adc1
3
+ metadata.gz: f7691bb5b1e776fa0a627d0c0c310fd4487b00840d7696479b1cf73564e586fc
4
+ data.tar.gz: 1c9c35389d9d7afd8a8688bc01cdd50219aa6d525a0f311ac6201706a15dc9d9
5
5
  SHA512:
6
- metadata.gz: c2f67d0e51a3d34d7aa16c1b952da6875a1e5c2db30c2f0a17e18d2ea95f690780fe79f13308e69fca6f3b104887239baefac289d7ec6c88b176a262b2087e26
7
- data.tar.gz: 571e3e47519eb6756153281cad1521065cf1da6e1e63b0d3d7e47c8047b8c00b725f6ef64b471558f76f81c501eed37b758f9c7017b44d80a84cce0dfd6ed56b
6
+ metadata.gz: 0b2987d1d0aa78f625c948bb39af2f6c675d0f2f609214ff57311021ad1364e55d79582b4e857189b5cf4fb14ec37b9cc4a43426eda8a8510692a37e527f5b6d
7
+ data.tar.gz: 6d9ab217334a5e06f1f2604d1b9dae6d4611707c14ae0b4d220fe7b1e0935ce0102d0c32731653e28707586f083da1a923f0d34482d66c34dd16672b33851ce9
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 3.1.2
1
+ ruby 3.3.9
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source "https://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
- gem "commander"
6
+ gem "commander", "~> 4.6"
7
7
 
8
8
  gem "activesupport"
9
9
  gem "pry-byebug"
data/Gemfile.lock CHANGED
@@ -29,8 +29,8 @@ GEM
29
29
  builder (3.2.4)
30
30
  byebug (11.1.3)
31
31
  coderay (1.1.3)
32
- commander (4.4.6)
33
- highline (~> 1.7.2)
32
+ commander (4.6.0)
33
+ highline (~> 2.0.0)
34
34
  concurrent-ruby (1.2.3)
35
35
  descendants_tracker (0.0.4)
36
36
  thread_safe (~> 0.3, >= 0.3.1)
@@ -64,7 +64,7 @@ GEM
64
64
  hashie (~> 3.5, >= 3.5.2)
65
65
  oauth2 (~> 1.0)
66
66
  hashie (3.6.0)
67
- highline (1.7.10)
67
+ highline (2.0.3)
68
68
  i18n (1.14.5)
69
69
  concurrent-ruby (~> 1.0)
70
70
  json (2.6.3)
@@ -121,7 +121,7 @@ PLATFORMS
121
121
  DEPENDENCIES
122
122
  activesupport
123
123
  bundler (~> 2.3)
124
- commander
124
+ commander (~> 4.6)
125
125
  juwelier (~> 2.4.9)!
126
126
  pry-byebug
127
127
  rdoc (~> 6.1)
data/README.markdown CHANGED
@@ -229,7 +229,7 @@ Contributing to pfab
229
229
  Local Testing
230
230
  -----------------------------------------
231
231
  ```bash
232
- bundle exec rake build
232
+ bundle exec rake clean build
233
233
  gem install --local pkg/pfab-0.57.1.gem
234
234
  ```
235
235
  ```ruby
data/Rakefile CHANGED
@@ -23,6 +23,7 @@ Juwelier::Tasks.new do |gem|
23
23
  gem.email = "jdwyer@prefab.cloud"
24
24
  gem.authors = ["Jeff Dwyer"]
25
25
  gem.version = Pfab::Version::STRING
26
+ gem.required_ruby_version = ">= 3.1"
26
27
  # dependencies defined in Gemfile
27
28
  end
28
29
  Juwelier::RubygemsDotOrgTasks.new
data/lib/pfab/cli.rb CHANGED
@@ -39,6 +39,14 @@ module Pfab
39
39
  global_option("-a", "--application_name APP_NAME", "run without prompting for app") do |app_name|
40
40
  $app_name = app_name
41
41
  end
42
+ $enable_docker_registry_cache = false
43
+ $disable_docker_registry_cache = false
44
+ global_option("--enable-docker-registry-cache", "enable docker registry caching with 'cache' label") do
45
+ $enable_docker_registry_cache = true
46
+ end
47
+ global_option("--disable-docker-registry-cache", "disable docker registry caching (overrides auto-detection)") do
48
+ $disable_docker_registry_cache = true
49
+ end
42
50
 
43
51
  command :build do |c|
44
52
  c.syntax = "pfab build"
@@ -339,7 +347,14 @@ module Pfab
339
347
  end
340
348
  end
341
349
 
342
- build_cmd = "docker buildx build --tag #{image_name} --platform linux/amd64 #{build_args} ."
350
+ cache_args = ""
351
+ if should_use_registry_cache?
352
+ cache_image_name = "#{container_repository}/#{image_name}:cache"
353
+ cache_args = "--cache-from type=registry,ref=#{cache_image_name} --cache-to type=registry,ref=#{cache_image_name},mode=max"
354
+ say "Using Docker registry cache: #{cache_image_name}"
355
+ end
356
+
357
+ build_cmd = "docker buildx build --tag #{image_name} --platform linux/amd64 #{build_args} #{cache_args} ."
343
358
  puts build_cmd
344
359
  result = system(build_cmd)
345
360
 
@@ -493,6 +508,28 @@ module Pfab
493
508
  name = get_app_name(all: true)
494
509
  (name == "all") ? deployables.keys : [name]
495
510
  end
511
+
512
+ def should_use_registry_cache?
513
+ # Disable flag takes highest precedence
514
+ return false if $disable_docker_registry_cache
515
+
516
+ # Enable flag takes precedence over auto-detection
517
+ return true if $enable_docker_registry_cache
518
+
519
+ # Auto-detect CI environments where local Docker cache isn't available
520
+ ci_env_vars = [
521
+ 'CI', # Generic CI indicator
522
+ 'GITHUB_ACTIONS', # GitHub Actions
523
+ 'GITLAB_CI', # GitLab CI
524
+ 'CIRCLECI', # CircleCI
525
+ 'TRAVIS', # Travis CI
526
+ 'JENKINS_URL', # Jenkins
527
+ 'BUILD_ID', # Various CI systems
528
+ 'CONTINUOUS_INTEGRATION' # Generic CI
529
+ ]
530
+
531
+ ci_env_vars.any? { |var| ENV[var] }
532
+ end
496
533
  end
497
534
 
498
535
  CommandResult = Struct.new(:stdout, :stderr, :exit_status_code, keyword_init: true) do
data/lib/pfab/version.rb CHANGED
@@ -2,7 +2,7 @@ module Pfab
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 58
5
- PATCH = 18
5
+ PATCH = 19
6
6
  BUILD = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
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.18 ruby lib
5
+ # stub: pfab 0.58.19 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "pfab".freeze
9
- s.version = "0.58.18"
9
+ s.version = "0.58.19".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"
14
+ s.date = "2025-08-19"
15
15
  s.description = "k8s helper".freeze
16
16
  s.email = "jdwyer@prefab.cloud".freeze
17
17
  s.executables = ["pfab".freeze]
@@ -47,33 +47,20 @@ Gem::Specification.new do |s|
47
47
  ]
48
48
  s.homepage = "http://github.com/prefab-cloud/pfab".freeze
49
49
  s.licenses = ["MIT".freeze]
50
- s.rubygems_version = "3.3.7".freeze
50
+ s.required_ruby_version = Gem::Requirement.new(">= 3.1".freeze)
51
+ s.rubygems_version = "3.5.22".freeze
51
52
  s.summary = "helper gem".freeze
52
53
 
53
- if s.respond_to? :specification_version then
54
- s.specification_version = 4
55
- end
54
+ s.specification_version = 4
56
55
 
57
- if s.respond_to? :add_runtime_dependency then
58
- s.add_runtime_dependency(%q<commander>.freeze, [">= 0"])
59
- s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0"])
60
- s.add_runtime_dependency(%q<pry-byebug>.freeze, [">= 0"])
61
- s.add_runtime_dependency(%q<styled_yaml>.freeze, ["~> 0.0.1"])
62
- s.add_development_dependency(%q<rdoc>.freeze, ["~> 6.1"])
63
- s.add_development_dependency(%q<bundler>.freeze, ["~> 2.3"])
64
- s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
65
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
66
- s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
67
- else
68
- s.add_dependency(%q<commander>.freeze, [">= 0"])
69
- s.add_dependency(%q<activesupport>.freeze, [">= 0"])
70
- s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
71
- s.add_dependency(%q<styled_yaml>.freeze, ["~> 0.0.1"])
72
- s.add_dependency(%q<rdoc>.freeze, ["~> 6.1"])
73
- s.add_dependency(%q<bundler>.freeze, ["~> 2.3"])
74
- s.add_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
75
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
76
- s.add_dependency(%q<test-unit>.freeze, [">= 0"])
77
- end
56
+ s.add_runtime_dependency(%q<commander>.freeze, [">= 0".freeze])
57
+ s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0".freeze])
58
+ s.add_runtime_dependency(%q<pry-byebug>.freeze, [">= 0".freeze])
59
+ s.add_runtime_dependency(%q<styled_yaml>.freeze, ["~> 0.0.1".freeze])
60
+ s.add_development_dependency(%q<rdoc>.freeze, ["~> 6.1".freeze])
61
+ s.add_development_dependency(%q<bundler>.freeze, ["~> 2.3".freeze])
62
+ s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.4.9".freeze])
63
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0".freeze])
64
+ s.add_development_dependency(%q<test-unit>.freeze, [">= 0".freeze])
78
65
  end
79
66
 
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pfab
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.58.18
4
+ version: 0.58.19
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-15 00:00:00.000000000 Z
11
+ date: 2025-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '4.6'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '4.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -181,14 +181,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
181
181
  requirements:
182
182
  - - ">="
183
183
  - !ruby/object:Gem::Version
184
- version: '0'
184
+ version: '3.1'
185
185
  required_rubygems_version: !ruby/object:Gem::Requirement
186
186
  requirements:
187
187
  - - ">="
188
188
  - !ruby/object:Gem::Version
189
189
  version: '0'
190
190
  requirements: []
191
- rubygems_version: 3.3.7
191
+ rubygems_version: 3.5.22
192
192
  signing_key:
193
193
  specification_version: 4
194
194
  summary: helper gem