chef-apply 0.3.0 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +34 -34
- data/chef-apply.gemspec +1 -1
- data/lib/chef_apply/action/generate_local_policy.rb +6 -6
- data/lib/chef_apply/version.rb +1 -1
- data/spec/unit/action/generate_local_policy_spec.rb +11 -11
- data/spec/unit/cli_spec.rb +1 -3
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67da1832dc2cff37ca34e9e6cd98a740915779c88ff2367096676c6204d6f390
|
4
|
+
data.tar.gz: 8febd165b01039b41427ba7406c209436ece3ac6dc8e93ab4fbfbd1a186e994e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20a22779d89a97deed72a0e36fe93ebe489b2004368a5e87e4b5e69c668238e5747af817bf99d4d628c7ca583f91887c810441be9e5326068f6b89809f48a7b2
|
7
|
+
data.tar.gz: d7d32da1d04bfb11b7fcd4e886bfe57fdb8517d0c6d3c21243a5a0279a969c324d2c4ac77536bf8c589ebb3c11aeabb0b3fe2ee2d308dff53add6fb6cbde8e32
|
data/Gemfile.lock
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
chef-apply (0.3.
|
4
|
+
chef-apply (0.3.3)
|
5
5
|
chef (>= 15.0)
|
6
|
-
chef-
|
6
|
+
chef-cli (>= 1.0.3)
|
7
7
|
chef-telemetry
|
8
8
|
license-acceptance (~> 1.0, >= 1.0.11)
|
9
9
|
mixlib-cli
|
@@ -33,11 +33,11 @@ GEM
|
|
33
33
|
debug_inspector (>= 0.0.1)
|
34
34
|
builder (3.2.3)
|
35
35
|
byebug (11.0.1)
|
36
|
-
chef (15.
|
36
|
+
chef (15.1.36)
|
37
37
|
addressable
|
38
38
|
bcrypt_pbkdf (~> 1.0)
|
39
39
|
bundler (>= 1.10)
|
40
|
-
chef-config (= 15.
|
40
|
+
chef-config (= 15.1.36)
|
41
41
|
chef-zero (>= 14.0.11)
|
42
42
|
diff-lcs (~> 1.2, >= 1.2.4)
|
43
43
|
ed25519 (~> 1.2)
|
@@ -50,7 +50,7 @@ GEM
|
|
50
50
|
license-acceptance (~> 1.0, >= 1.0.5)
|
51
51
|
mixlib-archive (>= 0.4, < 2.0)
|
52
52
|
mixlib-authentication (~> 2.1)
|
53
|
-
mixlib-cli (>= 1.
|
53
|
+
mixlib-cli (>= 2.1.1, < 3.0)
|
54
54
|
mixlib-log (>= 2.0.3, < 4.0)
|
55
55
|
mixlib-shellout (>= 2.4, < 4.0)
|
56
56
|
net-sftp (~> 2.1, >= 2.1.2)
|
@@ -63,13 +63,7 @@ GEM
|
|
63
63
|
train-core (~> 2.0, >= 2.0.12)
|
64
64
|
tty-screen (~> 0.6)
|
65
65
|
uuidtools (~> 2.1.5)
|
66
|
-
chef-
|
67
|
-
addressable
|
68
|
-
fuzzyurl
|
69
|
-
mixlib-config (>= 2.2.12, < 4.0)
|
70
|
-
mixlib-shellout (>= 2.0, < 4.0)
|
71
|
-
tomlrb (~> 1.2)
|
72
|
-
chef-dk (4.0.60)
|
66
|
+
chef-cli (1.0.3)
|
73
67
|
addressable (>= 2.3.5, < 2.6)
|
74
68
|
chef (~> 15.0)
|
75
69
|
cookbook-omnifetch (~> 0.5)
|
@@ -81,6 +75,12 @@ GEM
|
|
81
75
|
mixlib-shellout (>= 2.0, < 4.0)
|
82
76
|
paint (~> 1.0)
|
83
77
|
solve (> 2.0, < 5.0)
|
78
|
+
chef-config (15.1.36)
|
79
|
+
addressable
|
80
|
+
fuzzyurl
|
81
|
+
mixlib-config (>= 2.2.12, < 4.0)
|
82
|
+
mixlib-shellout (>= 2.0, < 4.0)
|
83
|
+
tomlrb (~> 1.2)
|
84
84
|
chef-telemetry (0.1.8)
|
85
85
|
chef-config
|
86
86
|
concurrent-ruby (~> 1.0)
|
@@ -97,20 +97,20 @@ GEM
|
|
97
97
|
citrus (3.0.2)
|
98
98
|
coderay (1.1.2)
|
99
99
|
concurrent-ruby (1.1.5)
|
100
|
-
cookbook-omnifetch (0.
|
100
|
+
cookbook-omnifetch (0.9.0)
|
101
101
|
mixlib-archive (>= 0.4, < 2.0)
|
102
102
|
debug_inspector (0.0.3)
|
103
103
|
declarative (0.0.10)
|
104
104
|
declarative-option (0.1.0)
|
105
105
|
diff-lcs (1.3)
|
106
|
-
docile (1.3.
|
106
|
+
docile (1.3.2)
|
107
107
|
docker-api (1.34.2)
|
108
108
|
excon (>= 0.47.0)
|
109
109
|
multi_json
|
110
|
-
domain_name (0.5.
|
110
|
+
domain_name (0.5.20190701)
|
111
111
|
unf (>= 0.0.5, < 1.0.0)
|
112
112
|
ed25519 (1.2.4)
|
113
|
-
equatable (0.
|
113
|
+
equatable (0.6.1)
|
114
114
|
erubis (2.7.0)
|
115
115
|
excon (0.64.0)
|
116
116
|
faraday (0.15.4)
|
@@ -119,7 +119,7 @@ GEM
|
|
119
119
|
faraday (>= 0.7.4)
|
120
120
|
http-cookie (~> 1.0.0)
|
121
121
|
ffi (1.11.1)
|
122
|
-
ffi-libarchive (0.4.
|
122
|
+
ffi-libarchive (0.4.10)
|
123
123
|
ffi (~> 1.0)
|
124
124
|
ffi-yajl (2.3.1)
|
125
125
|
libyajl2 (~> 1.2)
|
@@ -159,11 +159,11 @@ GEM
|
|
159
159
|
inifile (3.0.0)
|
160
160
|
iniparse (1.4.4)
|
161
161
|
ipaddress (0.8.3)
|
162
|
-
jaro_winkler (1.5.
|
162
|
+
jaro_winkler (1.5.3)
|
163
163
|
json (2.2.0)
|
164
164
|
jwt (2.2.1)
|
165
165
|
libyajl2 (1.2.0)
|
166
|
-
license-acceptance (1.0.
|
166
|
+
license-acceptance (1.0.13)
|
167
167
|
pastel (~> 0.7)
|
168
168
|
tomlrb (~> 1.2)
|
169
169
|
tty-box (~> 0.3)
|
@@ -181,7 +181,7 @@ GEM
|
|
181
181
|
mixlib-archive (1.0.1)
|
182
182
|
mixlib-log
|
183
183
|
mixlib-authentication (2.1.1)
|
184
|
-
mixlib-cli (2.
|
184
|
+
mixlib-cli (2.1.1)
|
185
185
|
mixlib-config (3.0.1)
|
186
186
|
tomlrb
|
187
187
|
mixlib-install (3.11.18)
|
@@ -189,7 +189,7 @@ GEM
|
|
189
189
|
mixlib-versioning
|
190
190
|
thor
|
191
191
|
mixlib-log (3.0.1)
|
192
|
-
mixlib-shellout (
|
192
|
+
mixlib-shellout (3.0.4)
|
193
193
|
mixlib-versioning (1.2.7)
|
194
194
|
molinillo (0.6.6)
|
195
195
|
ms_rest (0.7.4)
|
@@ -216,7 +216,7 @@ GEM
|
|
216
216
|
net-ssh (>= 2.6.5)
|
217
217
|
net-ssh-gateway (>= 1.2.0)
|
218
218
|
nori (2.6.0)
|
219
|
-
ohai (15.
|
219
|
+
ohai (15.1.5)
|
220
220
|
chef-config (>= 12.8, < 16)
|
221
221
|
ffi (~> 1.9)
|
222
222
|
ffi-yajl (~> 2.2)
|
@@ -233,9 +233,9 @@ GEM
|
|
233
233
|
parallel (1.17.0)
|
234
234
|
parser (2.6.3.0)
|
235
235
|
ast (~> 2.4.0)
|
236
|
-
pastel (0.7.
|
237
|
-
equatable (~> 0.
|
238
|
-
tty-color (~> 0.
|
236
|
+
pastel (0.7.3)
|
237
|
+
equatable (~> 0.6)
|
238
|
+
tty-color (~> 0.5)
|
239
239
|
plist (3.5.0)
|
240
240
|
powerpack (0.1.2)
|
241
241
|
proxifier (1.0.3)
|
@@ -248,7 +248,7 @@ GEM
|
|
248
248
|
pry-stack_explorer (0.4.9.3)
|
249
249
|
binding_of_caller (>= 0.7)
|
250
250
|
pry (>= 0.9.11)
|
251
|
-
public_suffix (3.1.
|
251
|
+
public_suffix (3.1.1)
|
252
252
|
r18n-core (3.2.0)
|
253
253
|
r18n-desktop (3.2.0)
|
254
254
|
r18n-core (= 3.2.0)
|
@@ -266,15 +266,15 @@ GEM
|
|
266
266
|
rspec-core (~> 3.8.0)
|
267
267
|
rspec-expectations (~> 3.8.0)
|
268
268
|
rspec-mocks (~> 3.8.0)
|
269
|
-
rspec-core (3.8.
|
269
|
+
rspec-core (3.8.2)
|
270
270
|
rspec-support (~> 3.8.0)
|
271
|
-
rspec-expectations (3.8.
|
271
|
+
rspec-expectations (3.8.4)
|
272
272
|
diff-lcs (>= 1.2.0, < 2.0)
|
273
273
|
rspec-support (~> 3.8.0)
|
274
|
-
rspec-mocks (3.8.
|
274
|
+
rspec-mocks (3.8.1)
|
275
275
|
diff-lcs (>= 1.2.0, < 2.0)
|
276
276
|
rspec-support (~> 3.8.0)
|
277
|
-
rspec-support (3.8.
|
277
|
+
rspec-support (3.8.2)
|
278
278
|
rubocop (0.62.0)
|
279
279
|
jaro_winkler (~> 1.5.1)
|
280
280
|
parallel (~> 1.10)
|
@@ -313,7 +313,7 @@ GEM
|
|
313
313
|
toml-rb (1.1.2)
|
314
314
|
citrus (~> 3.0, > 3.0)
|
315
315
|
tomlrb (1.2.8)
|
316
|
-
train (2.1.
|
316
|
+
train (2.1.13)
|
317
317
|
azure_graph_rbac (~> 0.16)
|
318
318
|
azure_mgmt_key_vault (~> 0.17)
|
319
319
|
azure_mgmt_resources (~> 0.15)
|
@@ -327,7 +327,7 @@ GEM
|
|
327
327
|
net-ssh (>= 2.9, < 6.0)
|
328
328
|
winrm (~> 2.0)
|
329
329
|
winrm-fs (~> 1.0)
|
330
|
-
train-core (2.1.
|
330
|
+
train-core (2.1.13)
|
331
331
|
json (>= 1.8, < 3.0)
|
332
332
|
mixlib-shellout (>= 2.0, < 4.0)
|
333
333
|
net-scp (>= 1.2, < 3.0)
|
@@ -338,7 +338,7 @@ GEM
|
|
338
338
|
pastel (~> 0.7.2)
|
339
339
|
strings (~> 0.1.4)
|
340
340
|
tty-cursor (~> 0.6.0)
|
341
|
-
tty-color (0.
|
341
|
+
tty-color (0.5.0)
|
342
342
|
tty-cursor (0.6.1)
|
343
343
|
tty-prompt (0.18.1)
|
344
344
|
necromancer (~> 0.4.0)
|
@@ -376,7 +376,7 @@ GEM
|
|
376
376
|
winrm (~> 2.0)
|
377
377
|
wisper (2.0.0)
|
378
378
|
wmi-lite (1.0.2)
|
379
|
-
yard (0.9.
|
379
|
+
yard (0.9.20)
|
380
380
|
|
381
381
|
PLATFORMS
|
382
382
|
ruby
|
data/chef-apply.gemspec
CHANGED
@@ -52,7 +52,7 @@ Gem::Specification.new do |spec|
|
|
52
52
|
spec.add_dependency "pastel" # A color library
|
53
53
|
spec.add_dependency "tty-spinner" # Pretty output for status updates in the CLI
|
54
54
|
spec.add_dependency "chef", ">= 15.0" # Needed to load cookbooks
|
55
|
-
spec.add_dependency "chef-
|
55
|
+
spec.add_dependency "chef-cli", ">= 1.0.3 " # Policyfile
|
56
56
|
spec.add_dependency "chef-telemetry"
|
57
57
|
spec.add_dependency "license-acceptance", "~> 1.0", ">= 1.0.11"
|
58
58
|
|
@@ -32,24 +32,24 @@ module ChefApply::Action
|
|
32
32
|
exporter.run
|
33
33
|
@archive_file_location = exporter.archive_file_location
|
34
34
|
notify(:success)
|
35
|
-
rescue
|
35
|
+
rescue ChefCLI::PolicyfileInstallError => e
|
36
36
|
raise PolicyfileInstallError.new(e)
|
37
37
|
end
|
38
38
|
|
39
39
|
def exporter
|
40
|
-
require "chef-
|
40
|
+
require "chef-cli/policyfile_services/export_repo"
|
41
41
|
@exporter ||=
|
42
|
-
|
42
|
+
ChefCLI::PolicyfileServices::ExportRepo.new(policyfile: @cookbook.policyfile_lock_path,
|
43
43
|
root_dir: @cookbook.path,
|
44
44
|
export_dir: @cookbook.export_path,
|
45
45
|
archive: true, force: true)
|
46
46
|
end
|
47
47
|
|
48
48
|
def installer
|
49
|
-
require "chef-
|
50
|
-
require "chef-
|
49
|
+
require "chef-cli/policyfile_services/install"
|
50
|
+
require "chef-cli/ui"
|
51
51
|
@installer ||=
|
52
|
-
|
52
|
+
ChefCLI::PolicyfileServices::Install.new(ui: ChefCLI::UI.null(), root_dir: @cookbook.path)
|
53
53
|
end
|
54
54
|
|
55
55
|
end
|
data/lib/chef_apply/version.rb
CHANGED
@@ -16,9 +16,9 @@
|
|
16
16
|
#
|
17
17
|
require "spec_helper"
|
18
18
|
require "chef_apply/action/generate_local_policy"
|
19
|
-
require "chef-
|
20
|
-
require "chef-
|
21
|
-
require "chef-
|
19
|
+
require "chef-cli/policyfile_services/install"
|
20
|
+
require "chef-cli/ui"
|
21
|
+
require "chef-cli/policyfile_services/export_repo"
|
22
22
|
|
23
23
|
RSpec.describe ChefApply::Action::GenerateLocalPolicy do
|
24
24
|
subject { ChefApply::Action::GenerateLocalPolicy.new(cookbook: cookbook) }
|
@@ -30,11 +30,11 @@ RSpec.describe ChefApply::Action::GenerateLocalPolicy do
|
|
30
30
|
end
|
31
31
|
|
32
32
|
let(:installer_double) do
|
33
|
-
instance_double(
|
33
|
+
instance_double(ChefCLI::PolicyfileServices::Install, run: :ok)
|
34
34
|
end
|
35
35
|
|
36
36
|
let(:exporter_double) do
|
37
|
-
instance_double(
|
37
|
+
instance_double(ChefCLI::PolicyfileServices::ExportRepo,
|
38
38
|
archive_file_location: "/path/to/export",
|
39
39
|
run: :ok)
|
40
40
|
end
|
@@ -62,7 +62,7 @@ RSpec.describe ChefApply::Action::GenerateLocalPolicy do
|
|
62
62
|
context "when PolicyfileServices raises an error" do
|
63
63
|
it "reraises as PolicyfileInstallError" do
|
64
64
|
expect(subject).to receive(:installer).and_return installer_double
|
65
|
-
expect(installer_double).to receive(:run).and_raise(
|
65
|
+
expect(installer_double).to receive(:run).and_raise(ChefCLI::PolicyfileInstallError.new("", nil))
|
66
66
|
expect { subject.perform_action }.to raise_error(ChefApply::Action::PolicyfileInstallError)
|
67
67
|
end
|
68
68
|
end
|
@@ -72,7 +72,7 @@ RSpec.describe ChefApply::Action::GenerateLocalPolicy do
|
|
72
72
|
|
73
73
|
# There is an issue with policyfile generation where, if we have a cookbook with too long
|
74
74
|
# of a name or directory name the policyfile will not generate. This is because the tar
|
75
|
-
# library that
|
75
|
+
# library that ChefCLI uses comes from the Rubygems package and is meant for packaging
|
76
76
|
# gems up, so it can impose a 100 character limit. We attempt to solve this by ensuring
|
77
77
|
# that the paths/names we generate with `TempCookbook` are short.
|
78
78
|
#
|
@@ -80,7 +80,7 @@ RSpec.describe ChefApply::Action::GenerateLocalPolicy do
|
|
80
80
|
# 2018-05-18 mp addendum: this cna take upwards of 15s to run on ci nodes, pending
|
81
81
|
# for now since it's not testing any Chef Apply functionality.
|
82
82
|
xit "fails to create when there is a long path name" do
|
83
|
-
err =
|
83
|
+
err = ChefCLI::PolicyfileExportRepoError
|
84
84
|
expect { subject.perform_action }.to raise_error(err) do |e|
|
85
85
|
expect(e.cause.class).to eq(Gem::Package::TooLongFileName)
|
86
86
|
expect(e.cause.message).to match(/should be 100 or less/)
|
@@ -92,7 +92,7 @@ RSpec.describe ChefApply::Action::GenerateLocalPolicy do
|
|
92
92
|
describe "#exporter" do
|
93
93
|
|
94
94
|
it "returns a correctly constructed ExportRepo" do
|
95
|
-
expect(
|
95
|
+
expect(ChefCLI::PolicyfileServices::ExportRepo).to receive(:new)
|
96
96
|
.with(policyfile: cookbook.policyfile_lock_path,
|
97
97
|
root_dir: cookbook.path,
|
98
98
|
export_dir: cookbook.export_path,
|
@@ -104,8 +104,8 @@ RSpec.describe ChefApply::Action::GenerateLocalPolicy do
|
|
104
104
|
|
105
105
|
describe "#installer" do
|
106
106
|
it "returns a correctly constructed Install service" do
|
107
|
-
expect(
|
108
|
-
.with(ui:
|
107
|
+
expect(ChefCLI::PolicyfileServices::Install).to receive(:new)
|
108
|
+
.with(ui: ChefCLI::UI, root_dir: cookbook.path)
|
109
109
|
.and_return(installer_double)
|
110
110
|
expect(subject.installer).to eq installer_double
|
111
111
|
end
|
data/spec/unit/cli_spec.rb
CHANGED
@@ -23,9 +23,7 @@ require "chef_apply/telemeter/sender"
|
|
23
23
|
require "chef_apply/ui/terminal"
|
24
24
|
require "chef_apply/action/generate_temp_cookbook"
|
25
25
|
|
26
|
-
require "chef-
|
27
|
-
require "chef-dk/policyfile_services/export_repo"
|
28
|
-
require "chef-dk/policyfile_services/install"
|
26
|
+
require "chef-cli/ui"
|
29
27
|
|
30
28
|
RSpec.describe ChefApply::CLI do
|
31
29
|
subject { ChefApply::CLI.new(argv) }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-apply
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chef Software, Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-cli
|
@@ -151,19 +151,19 @@ dependencies:
|
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '15.0'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
|
-
name: chef-
|
154
|
+
name: chef-cli
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - ">="
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
159
|
+
version: 1.0.3
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
166
|
+
version: 1.0.3
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: chef-telemetry
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|