berkshelf 8.0.22 → 8.1.6
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 +4 -5
- data/berkshelf.gemspec +7 -4
- data/lib/berkshelf/validator.rb +2 -2
- data/lib/berkshelf/version.rb +1 -1
- data/spec/spec_helper.rb +2 -0
- data/spec/support/test_keys.rb +16 -0
- data/spec/unit/berkshelf/lockfile_spec.rb +2 -2
- data/spec/unit/berkshelf/validator_spec.rb +4 -4
- metadata +22 -15
- data/spec/config/berkshelf.pem +0 -27
- data/spec/config/validator.pem +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f5952e66b54c357be6385c8b13dda044012e0d9c3cfed474d3db9008298d61c
|
4
|
+
data.tar.gz: 882567b118be0253fbea1db8052de0a259a33f23d3d809dd7b508ed077d9cd28
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b65c5b81ba1e674c66f889821e38b85ea279854f4e5e27e6994c926941136846e746d97a6eec4962b252b9459f92c538fc04a931517a38aa2732dcea776ac9c5
|
7
|
+
data.tar.gz: 2e0624b22d6777eae1fa35e71143fab71d8b206349379588a9b3843d3d0ceceaf0b03307fa9242f4a1e2649d86778e8a8bf63f3f93f44518a9c51ecb1afd1d93
|
data/Gemfile
CHANGED
@@ -3,14 +3,14 @@ source "https://rubygems.org"
|
|
3
3
|
gemspec
|
4
4
|
|
5
5
|
group :build do
|
6
|
-
gem "rake",
|
6
|
+
gem "rake", ">= 10.1"
|
7
7
|
end
|
8
8
|
|
9
9
|
group :development do
|
10
|
-
gem "aruba", "~> 0.10" # Stay below 1 until aruba/in_process monkeypatching stops
|
11
10
|
gem "debug"
|
12
|
-
gem "
|
13
|
-
gem "cucumber
|
11
|
+
gem "aruba", "~> 2.3"
|
12
|
+
gem "cucumber", ">= 9.2", "< 10"
|
13
|
+
gem "cucumber-cucumber-expressions", "~> 17.1"
|
14
14
|
gem "chef-zero", ">= 4.0"
|
15
15
|
gem "dep_selector", ">= 1.0"
|
16
16
|
gem "fuubar", ">= 2.0"
|
@@ -23,7 +23,6 @@ end
|
|
23
23
|
|
24
24
|
gem "appbundler"
|
25
25
|
|
26
|
-
|
27
26
|
instance_eval(ENV["GEMFILE_MOD"]) if ENV["GEMFILE_MOD"]
|
28
27
|
|
29
28
|
# 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 = ">=
|
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",
|
38
|
+
s.add_dependency "mixlib-shellout", ">= 2.0", "< 4.0"
|
39
39
|
|
40
|
-
s.add_dependency "chef-cleanroom",
|
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", "
|
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
|
@@ -66,4 +66,7 @@ Gem::Specification.new do |s|
|
|
66
66
|
s.add_dependency "chef-config"
|
67
67
|
# this is required for Mixlib::Config#from_json
|
68
68
|
s.add_dependency "mixlib-config", ">= 2.2.5"
|
69
|
+
|
70
|
+
# syslog was removed from Ruby's standard library in 3.4; see https://stdgems.org/new-in/3.4
|
71
|
+
s.add_dependency "syslog", "~> 0.3"
|
69
72
|
end
|
data/lib/berkshelf/validator.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
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
|
data/lib/berkshelf/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -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.
|
4
|
+
version: 8.1.6
|
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-
|
15
|
+
date: 2025-09-17 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.
|
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.
|
126
|
+
version: '1.4'
|
133
127
|
- !ruby/object:Gem::Dependency
|
134
128
|
name: octokit
|
135
129
|
requirement: !ruby/object:Gem::Requirement
|
@@ -232,6 +226,20 @@ dependencies:
|
|
232
226
|
- - ">="
|
233
227
|
- !ruby/object:Gem::Version
|
234
228
|
version: 2.2.5
|
229
|
+
- !ruby/object:Gem::Dependency
|
230
|
+
name: syslog
|
231
|
+
requirement: !ruby/object:Gem::Requirement
|
232
|
+
requirements:
|
233
|
+
- - "~>"
|
234
|
+
- !ruby/object:Gem::Version
|
235
|
+
version: '0.3'
|
236
|
+
type: :runtime
|
237
|
+
prerelease: false
|
238
|
+
version_requirements: !ruby/object:Gem::Requirement
|
239
|
+
requirements:
|
240
|
+
- - "~>"
|
241
|
+
- !ruby/object:Gem::Version
|
242
|
+
version: '0.3'
|
235
243
|
description: Manages a Chef cookbook's dependencies
|
236
244
|
email:
|
237
245
|
- jamie@vialstudios.com
|
@@ -305,9 +313,7 @@ files:
|
|
305
313
|
- lib/berkshelf/validator.rb
|
306
314
|
- lib/berkshelf/version.rb
|
307
315
|
- lib/berkshelf/visualizer.rb
|
308
|
-
- spec/config/berkshelf.pem
|
309
316
|
- spec/config/knife.rb
|
310
|
-
- spec/config/validator.pem
|
311
317
|
- spec/data/trusted_certs/example.crt
|
312
318
|
- spec/fixtures/Berksfile
|
313
319
|
- spec/fixtures/berksfiles/default
|
@@ -346,6 +352,7 @@ files:
|
|
346
352
|
- spec/support/matchers/filepath_matchers.rb
|
347
353
|
- spec/support/path_helpers.rb
|
348
354
|
- spec/support/shared_examples/formatter.rb
|
355
|
+
- spec/support/test_keys.rb
|
349
356
|
- spec/unit/berkshelf/berksfile_spec.rb
|
350
357
|
- spec/unit/berkshelf/berkshelf/api_client/chef_server_connection_spec.rb
|
351
358
|
- spec/unit/berkshelf/berkshelf/api_client/connection_spec.rb
|
@@ -403,7 +410,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
403
410
|
requirements:
|
404
411
|
- - ">="
|
405
412
|
- !ruby/object:Gem::Version
|
406
|
-
version:
|
413
|
+
version: 3.1.0
|
407
414
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
408
415
|
requirements:
|
409
416
|
- - ">="
|
data/spec/config/berkshelf.pem
DELETED
@@ -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-----
|
data/spec/config/validator.pem
DELETED
@@ -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-----
|