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 +4 -4
- data/Gemfile +6 -5
- data/berkshelf.gemspec +4 -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 +8 -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: 243aee6c932d3ff3dc95bd8f1dde13652ce81c87d68f0c615962be393474a03e
|
4
|
+
data.tar.gz: 4b9aae366a701d3757c7974ef4648a153fef377864b4129ffe30efcdfd581dae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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",
|
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 "
|
13
|
-
gem "cucumber
|
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 = ">=
|
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
|
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.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-
|
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.
|
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
|
@@ -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:
|
399
|
+
version: 3.1.0
|
407
400
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
408
401
|
requirements:
|
409
402
|
- - ">="
|
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-----
|