berkshelf 8.0.22 → 8.1.4

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: 285e9896759a9c75e6b12468afdd4766ba16a747eb4e3d08fe5c27632bcd6ff4
4
- data.tar.gz: c9a643ebb4ddda00a859f0b732078be6a89baa0b9bae6fd5270c99affb24e7b2
3
+ metadata.gz: 243aee6c932d3ff3dc95bd8f1dde13652ce81c87d68f0c615962be393474a03e
4
+ data.tar.gz: 4b9aae366a701d3757c7974ef4648a153fef377864b4129ffe30efcdfd581dae
5
5
  SHA512:
6
- metadata.gz: a03b55f1d8a8101e7423dc1bbbaeb05954ae4ea76be52f6638a3e4f6d2aa9328606884882c867fed211317917d46d47a5510d544804ef2b883d4c92527032e7f
7
- data.tar.gz: d45006fe865e833985b02c6038c8f00a1779ea2a59d3a2566279a077565993e9dc4451e211f194d1ee73ee48a5f6f12dcd3dcda83637a5c1d0a005136b27bae3
6
+ metadata.gz: 4abf43f9c38dc44c7ecf9b059d1b7229261e1cc973e2cb9d99a4a089fc94bf0b851bd05ca0df5701640d48b252097e67c4181a4ff5c55988caeba8286c168d6e
7
+ data.tar.gz: '015965f2adeaa363786a715d409d7521fa409a4b86a52d1cca99df40568ecc2bf5fe47853135869dae213e9b0139a7bf1fa716628ac25a873b95d0c306848e13'
data/Gemfile CHANGED
@@ -3,14 +3,16 @@ source "https://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  group :build do
6
- gem "rake", ">= 10.1"
6
+ gem "rake", ">= 10.1"
7
7
  end
8
8
 
9
+ gem "syslog"
10
+
9
11
  group :development do
10
- gem "aruba", "~> 0.10" # Stay below 1 until aruba/in_process monkeypatching stops
11
12
  gem "debug"
12
- gem "cucumber", "< 4.0" # until we identify what is generating the ~@no_run tag in CI
13
- gem "cucumber-expressions", "= 5.0.13"
13
+ gem "aruba", "~> 2.3"
14
+ gem "cucumber", ">= 9.2", "< 10"
15
+ gem "cucumber-cucumber-expressions", "~> 17.1"
14
16
  gem "chef-zero", ">= 4.0"
15
17
  gem "dep_selector", ">= 1.0"
16
18
  gem "fuubar", ">= 2.0"
@@ -23,7 +25,6 @@ end
23
25
 
24
26
  gem "appbundler"
25
27
 
26
-
27
28
  instance_eval(ENV["GEMFILE_MOD"]) if ENV["GEMFILE_MOD"]
28
29
 
29
30
  # If you want to load debugging tools into the bundle exec sandbox,
data/berkshelf.gemspec CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
25
25
  s.name = "berkshelf"
26
26
  s.require_paths = ["lib"]
27
27
  s.version = Berkshelf::VERSION
28
- s.required_ruby_version = ">= 2.7.0"
28
+ s.required_ruby_version = ">= 3.1.0"
29
29
  s.required_rubygems_version = ">= 2.0.0"
30
30
  s.metadata = {
31
31
  "bug_tracker_uri" => "https://github.com/chef/berkshelf/issues",
@@ -35,9 +35,9 @@ Gem::Specification.new do |s|
35
35
 
36
36
  ruby_version = Gem::Version.new(RUBY_VERSION)
37
37
 
38
- s.add_dependency "mixlib-shellout", ">= 2.0", "< 4.0"
38
+ s.add_dependency "mixlib-shellout", ">= 2.0", "< 4.0"
39
39
 
40
- s.add_dependency "chef-cleanroom", "~> 1.0"
40
+ s.add_dependency "chef-cleanroom", "~> 1.0"
41
41
 
42
42
  if ruby_version >= Gem::Version.new("3.1.0")
43
43
  s.add_dependency "minitar", "~> 1.0"
@@ -55,7 +55,7 @@ Gem::Specification.new do |s|
55
55
  s.add_dependency "retryable", ">= 2.0", "< 4.0"
56
56
  s.add_dependency "solve", "~> 4.0"
57
57
 
58
- s.add_dependency "thor", ">= 0.20", "< 1.3.0"
58
+ s.add_dependency "thor", "~> 1.4"
59
59
  s.add_dependency "octokit", ">= 4.0", "< 6.0"
60
60
 
61
61
  s.add_dependency "mixlib-archive", ">= 1.1.4", "< 2.0" # needed for ruby 3.0 / Dir.chdir removal
@@ -1,4 +1,4 @@
1
- require 'chef/version_class'
1
+ require "chef/version_class"
2
2
 
3
3
  module Berkshelf
4
4
  module Validator
@@ -36,7 +36,7 @@ module Berkshelf
36
36
  def validate_versions(cookbook)
37
37
  cookbook_dependencies = cookbook.dependencies
38
38
  cookbook_dependencies.each do |cookbook_name, cookbook_version|
39
- version = cookbook_version.gsub(/[^\d,\.]/, '')
39
+ version = cookbook_version.gsub(/[^\d,\.]/, "")
40
40
  Chef::Version.new(version)
41
41
  end
42
42
  end
@@ -1,3 +1,3 @@
1
1
  module Berkshelf
2
- VERSION = "8.0.22".freeze
2
+ VERSION = "8.1.4".freeze
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require_relative "support/test_keys"
2
+
1
3
  def windows?
2
4
  !!(RUBY_PLATFORM =~ /mswin|mingw|windows/)
3
5
  end
@@ -0,0 +1,16 @@
1
+ require "openssl"
2
+ require "fileutils"
3
+
4
+ module TestKeyHelper
5
+ def self.generate_rsa_key(path)
6
+ return if File.exist?(path) # Don't regenerate if already exists
7
+
8
+ key = OpenSSL::PKey::RSA.new(2048)
9
+ FileUtils.mkdir_p(File.dirname(path))
10
+ File.write(path, key.to_pem)
11
+ end
12
+ end
13
+
14
+ # Generate the test keys
15
+ TestKeyHelper.generate_rsa_key("spec/config/berkshelf.pem")
16
+ TestKeyHelper.generate_rsa_key("spec/config/validator.pem")
@@ -231,8 +231,8 @@ describe Berkshelf::Lockfile do
231
231
  expect(Chef::Environment).to receive(:from_hash).with(env_hash).and_return(environment)
232
232
 
233
233
  expect(environment).to receive(:cookbook_versions).with(
234
- {"apt" => "= 1.0.0",
235
- "jenkins" => "= 1.4.5"}
234
+ { "apt" => "= 1.0.0",
235
+ "jenkins" => "= 1.4.5" }
236
236
  )
237
237
 
238
238
  expect(environment).to receive(:save)
@@ -6,7 +6,7 @@ describe Berkshelf::Validator do
6
6
 
7
7
  it "raises an error when the cookbook has spaces in the files" do
8
8
  allow(Dir).to receive(:glob).and_return(["/there are/spaces/in this/recipes/default.rb"])
9
- allow(cookbook).to receive(:dependencies).and_return({"cookbook" => "1.0.0"})
9
+ allow(cookbook).to receive(:dependencies).and_return({ "cookbook" => "1.0.0" })
10
10
  expect do
11
11
  subject.validate_files(cookbook)
12
12
  end.to raise_error(Berkshelf::InvalidCookbookFiles)
@@ -14,21 +14,21 @@ describe Berkshelf::Validator do
14
14
 
15
15
  it "does not raise an error when the cookbook is valid" do
16
16
  allow(Dir).to receive(:glob).and_return(["/there-are/no-spaces/in-this/recipes/default.rb"])
17
- allow(cookbook).to receive(:dependencies).and_return({"cookbook" => "1.0.0"})
17
+ allow(cookbook).to receive(:dependencies).and_return({ "cookbook" => "1.0.0" })
18
18
  expect do
19
19
  subject.validate_files(cookbook)
20
20
  end.to_not raise_error
21
21
  end
22
22
 
23
23
  it "raises an error when the cookbook version is not valid" do
24
- allow(cookbook).to receive(:dependencies).and_return({"cookbook" => "1"})
24
+ allow(cookbook).to receive(:dependencies).and_return({ "cookbook" => "1" })
25
25
  expect do
26
26
  subject.validate_files(cookbook)
27
27
  end.to raise_error
28
28
  end
29
29
 
30
30
  it "does not raise an error when the cookbook version is valid" do
31
- allow(cookbook).to receive(:dependencies).and_return({"cookbook" => "1.0"})
31
+ allow(cookbook).to receive(:dependencies).and_return({ "cookbook" => "1.0" })
32
32
  expect do
33
33
  subject.validate_files(cookbook)
34
34
  end.to_not raise_error
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: berkshelf
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.22
4
+ version: 8.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamie Winsor
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2025-05-20 00:00:00.000000000 Z
15
+ date: 2025-07-23 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: mixlib-shellout
@@ -114,22 +114,16 @@ dependencies:
114
114
  name: thor
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- version: '0.20'
120
- - - "<"
117
+ - - "~>"
121
118
  - !ruby/object:Gem::Version
122
- version: 1.3.0
119
+ version: '1.4'
123
120
  type: :runtime
124
121
  prerelease: false
125
122
  version_requirements: !ruby/object:Gem::Requirement
126
123
  requirements:
127
- - - ">="
128
- - !ruby/object:Gem::Version
129
- version: '0.20'
130
- - - "<"
124
+ - - "~>"
131
125
  - !ruby/object:Gem::Version
132
- version: 1.3.0
126
+ version: '1.4'
133
127
  - !ruby/object:Gem::Dependency
134
128
  name: octokit
135
129
  requirement: !ruby/object:Gem::Requirement
@@ -305,9 +299,7 @@ files:
305
299
  - lib/berkshelf/validator.rb
306
300
  - lib/berkshelf/version.rb
307
301
  - lib/berkshelf/visualizer.rb
308
- - spec/config/berkshelf.pem
309
302
  - spec/config/knife.rb
310
- - spec/config/validator.pem
311
303
  - spec/data/trusted_certs/example.crt
312
304
  - spec/fixtures/Berksfile
313
305
  - spec/fixtures/berksfiles/default
@@ -346,6 +338,7 @@ files:
346
338
  - spec/support/matchers/filepath_matchers.rb
347
339
  - spec/support/path_helpers.rb
348
340
  - spec/support/shared_examples/formatter.rb
341
+ - spec/support/test_keys.rb
349
342
  - spec/unit/berkshelf/berksfile_spec.rb
350
343
  - spec/unit/berkshelf/berkshelf/api_client/chef_server_connection_spec.rb
351
344
  - spec/unit/berkshelf/berkshelf/api_client/connection_spec.rb
@@ -403,7 +396,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
403
396
  requirements:
404
397
  - - ">="
405
398
  - !ruby/object:Gem::Version
406
- version: 2.7.0
399
+ version: 3.1.0
407
400
  required_rubygems_version: !ruby/object:Gem::Requirement
408
401
  requirements:
409
402
  - - ">="
@@ -1,27 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEpQIBAAKCAQEAs3u5qfmdEWtzYHvXpbQRyefhUjeTG7nwhn/LaYY6ou19xxW0
3
- I5MKSBqCxUCHqODRc7ox8zSF37x3jMBHbSczOcfbWsSe/qGnmvZZQhHmXCje2zkW
4
- ByaRHmmatzkz1aAqAmZm/wdSuVLXytsbrPXuaj/MiHa6QH3e/ZFaYME7rMkouqfC
5
- pUlSa2tZ9Ko1ZCCwjkiifuP4yQFsS6/G6b8c7F8wdq4byfJ9o6FN34lJHrzfG0ZV
6
- hwS47Bdn6FDBQ6PVxrBsvQNE2n7QlNLfXWi4Tb8OpmQif01FjxleAr5kamx3GD+s
7
- jC7fKHE9bZ0apZ1MVmkz9PhFmOigV5jl9Att+QIDAQABAoIBAQCCG6qXgQ9PVWkq
8
- BBxrToGmr6UzCH5nlv65QWKfeGKBQU/wRdd0Al9trWomu4Sb831iOxOCjgyOB/1R
9
- 1wDwK36C4FIvFmF7jIwHVZWWw4sOO8JxgIxrWpXQShWRxLHCpnxNiRYYwaJCHb+4
10
- meUSGKVf+Ce4tPiHT7eacQfnI6yyr1hWusKu0I8w7NsfeNc+/Rpne6mifLfaB/9u
11
- b9kgfD15HGEsuUaMLZ/y1HFWvw2G2Og1cDrIpBIVtUAhA+DnjjLe/YoETeSmQAxH
12
- ioQpJJ/gSqtTczIoyPXXiwaF5wUTQrsn5zZhTs9mAQy7hcSR92IH2xBSmK3+wlz0
13
- vHZIq9rRAoGBAOeRUTRDgj+f+BlH1qFqf4EfkBN5quVM2808LYBGZWfA5/6o9jSN
14
- AM84VXq3S8Wy5V6UMcSv4mOqEr3tEUYE8or9r/RxzpGahSdi8Ttju9vvpJH5I3xr
15
- xx2ZK/vlrAfr6JHlE4bqqc5unCslUt2/liCWpERQ3cFcPydQb7Imrm+DAoGBAMZr
16
- mcxBeMyQHG6Kcpc7EQXZ5i7a8T6ksPu7FbAZ70Meb9UMtVIYpVBalutCXKhl7D4K
17
- qrCmV2gQryBz+S7AecFZSKvXdb7ueYzf8EcI/v+loNu9v9/4m4YV3bPBkMhW5kcK
18
- xFnVIsYqUlR+dsS8JfjSCpk4lePVSSt7B26eIFfTAoGBAJHPDKSuBWtunNe+RkUp
19
- O9PgPeYlbBgqBxT52WS17tAfxXSyiySXzHSuchRtKgb4GDkvcw73+MLsqhRxG7lN
20
- EDO4fXyb1IgWFdWxFVhh+j4IbUWE7HVBoAThF7Lq8SGjx7Nl3J/NTtKvDyKTw9Pg
21
- +PTYJeLmUFuabCGjIlG4zYllAoGBAIwe5oB4597GEl35xUyI+M+B/myuTtknIpjS
22
- mFFBL1bdwqnYjJ+KKgwhvRwsRBTjzT5O+BVBks45ogKwA5OBdzoUXB6GTG9mJ05V
23
- wm/XqYRNqdgkGsEG5oV9IZBUrHLd80bOErVBr4nzzyo+GI98MvCRG8zySd+X+lEL
24
- U8dJQZvjAoGAWorll+fomfie6t5XbkpwMo8rn60yFUiRE7HWxA2qDj3IpoE6SfNE
25
- eOpsf1Zzx30r8answ9lPnd753ACdgNzE66ScWD+cQeB6OlMZMaW5tVSjddZ7854L
26
- 00znt8b1OLkVY33xfsa89wKH343304BhVHABPMxm5Leua/H21/BqSK0=
27
- -----END RSA PRIVATE KEY-----
@@ -1,27 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEowIBAAKCAQEAxvMbzsVt0PJ0ozcpQZC+zpaWYAZe/nHnSFeTkm9BAtQUA8vp
3
- cKMJTXNw4Lm3jcotrPATMgGgwVG7ram689JcQSnwSgIFinr5ZLRB22qyGdqHHmAf
4
- w4RVde6dJON2IqI51JzQ5Pfs+M1SYcKiCzcBHvFddug5VcMjipFLv7QPKDmal8Ep
5
- tOtRhb8Ad2DBXV7gX3e8ZaKfQgA0uc07g1KmcjR7vOG25nxY6NRxTwWn5+uMVgCp
6
- 1xjbBeq7XF2gJPYVNsNRu8C3/rMX7D3NuKpJGj3CsKOtECREsq+7lk7A7OPzrP0g
7
- Um/dUSeV99FLavrJNZ8TRc+BLZD/RiE1x0wG9wIDAQABAoIBAAbRchSGA5tzk7e8
8
- Pje3BDMESicEUOEbejeqeK4+DdZQ+lae+GMZ00nKOQYal0XOtf4FREMkdyPo7yum
9
- c3fDr9Gz5D5FD3eNe1qOKuugHnZwXM0Xsj77HAqsoMoQ2Y2aTa0Rqr8OGBr2vmoH
10
- R5Jm0i0DTJa0orJju6YWEKiDPTm9oCT025M3G4kswM4jnzQiTciksfEYJGIK1Alk
11
- Lcct/8TtyoYNhzYfzFi2wIQx4Iy6o/2AqWjvcJT2RI3cge5CBOXR7Y1Zqt5/vWm+
12
- MvSy+krujFTTKpJKbatOsRGoCX6e8IcIQ4MtOj9jSPQPvGcQrjEdks6+zKID6INW
13
- ZZYrvqECgYEA8EKB/oYzNueoBvaFcw1ONUNScYnr9IS/7oZnciw53cMwDumsH9qB
14
- NbEH6m1/2EQhOU5KoAQX2qd8KNQ6oIL1ae51ACtdEBP9Sb9j2q+IlEOf3bLga+w1
15
- DXeQ0wx4ZHyF6a2AJK4qVO+nDnYw074VxaApLXDyfXpIS7N9lOJxeb8CgYEA0/vF
16
- mt/+r6v2YOVWtSah44lIyaDj3N6fjYcI34aJvowwe+Njfnd2o4BkqhthQKOnl6FI
17
- SQPrLBdwc4OvN9oWMZHX2b0ols0Bf5ZxAfqMvCS2JG+SiiZT+p+cPnCitfPZ6zn7
18
- 5SMpVMqlMS8GxNze8ZkieQ7PaF28rF0xUJZIkMkCgYEAwspJNqB7OVKMCkkoXOU2
19
- uTxBxUe7A9309mAF0q1EpSUw+4Y8RP8UrwE+l7P7aM2j2iA9pIptBJuxsDCQ7739
20
- Vss8FM0TgIuUWYxQWubh5sMFA+uYxCcXxDliM5nyqhXDRHekYxjJvV8npDPy1llQ
21
- sY9ukyb1kwHnR2jYsjL9KWUCgYAmB1vKzfZVs4bOmTX154lRVXaOXWOjYvjCnf/0
22
- gaFCYsnr374gmPPanxTwA1tuCi3toMxj9OUCku3kezI61c/3co+Di1C1xO9I4UdC
23
- sJ0Av6FBZham2/ti0bFo7jHybF2iulM7JxSqFnSOHz6aoHkKZItvpj2FHpPTZCCN
24
- sXgxKQKBgDyBsl4/LCG+eQrxaL6Y7DHP9oNTw5hRbQWlZlXfygyUbKCqj1OfOrVu
25
- hDAn/ElMLgSgRbI8nXq68cu6UE4wO4Di6fQyCb2pP7tgS+0swbq85YoMbHh/z+yN
26
- WUvLQHfN4RHJStY3JX/cBcSoIiArNbuFcPThM02YBDhbiW+NQhZV
27
- -----END RSA PRIVATE KEY-----