chef-dk 0.19.6 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -2
- data/Gemfile.lock +59 -53
- data/README.md +4 -0
- data/acceptance/Gemfile.lock +25 -22
- data/chef-dk.gemspec +1 -1
- data/lib/chef-dk/command/generator_commands/base.rb +7 -1
- data/lib/chef-dk/command/verify.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/delivery-project.toml +5 -4
- data/lib/chef-dk/skeletons/code_generator/files/default/gitignore +6 -1
- data/lib/chef-dk/version.rb +1 -1
- data/spec/unit/command/generator_commands/base_spec.rb +45 -0
- data/spec/unit/command/generator_commands/cookbook_spec.rb +5 -4
- data/tasks/version.rb +28 -1
- metadata +3 -4
- data/CONTRIBUTING.md +0 -161
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd414e5ce801d69ed1f78241d2e99fc3ac0c5cac
|
4
|
+
data.tar.gz: fd8dc5a6813bab3ba2d66fd9dd3dd8189adb4489
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1c9d70a61e82174c1f138676ef3ea6df575ee1f6e63e286fbe82639da5de7f9e5b682963022ae14875ca64a6853c3f411509771693a4d429acd97502561c41c
|
7
|
+
data.tar.gz: 0bb24e25cbe06011569745db1e6db2fa00ab748ed9c21da1b3cef9b274a0fd1a097172c1776c7101805178049ea1d69713759bd8274ad1b1ea1fb08035a8547c
|
data/Gemfile
CHANGED
@@ -52,17 +52,18 @@ group(:omnibus_package) do
|
|
52
52
|
gem "chef-provisioning-vagrant", ">= 0.11.0"
|
53
53
|
gem "chef-vault"
|
54
54
|
# The chef version is pinned by "rake dependencies", which grabs the current version from omnibus.
|
55
|
-
gem "chef", github: "chef/chef", branch: "v12.
|
55
|
+
gem "chef", github: "chef/chef", branch: "v12.16.42"
|
56
56
|
gem "cheffish", ">= 4.0"
|
57
57
|
gem "chefspec"
|
58
58
|
gem "fauxhai"
|
59
|
-
gem "foodcritic", "
|
59
|
+
gem "foodcritic", ">= 8.0"
|
60
60
|
gem "inspec", ">= 0.17.1"
|
61
61
|
gem "kitchen-ec2"
|
62
62
|
gem "kitchen-dokken"
|
63
63
|
gem "kitchen-inspec"
|
64
64
|
gem "kitchen-vagrant"
|
65
65
|
gem "knife-windows"
|
66
|
+
gem "knife-opc", ">= 0.3.2"
|
66
67
|
gem "ohai", ">= 8.13.0"
|
67
68
|
gem "test-kitchen"
|
68
69
|
gem "listen"
|
data/Gemfile.lock
CHANGED
@@ -7,13 +7,13 @@ GIT
|
|
7
7
|
|
8
8
|
GIT
|
9
9
|
remote: git://github.com/chef/chef.git
|
10
|
-
revision:
|
11
|
-
branch: v12.
|
10
|
+
revision: fecaf2fc865e215c95154f353d5d9b3c81b2ff7c
|
11
|
+
branch: v12.16.42
|
12
12
|
specs:
|
13
|
-
chef (12.
|
13
|
+
chef (12.16.42)
|
14
14
|
addressable
|
15
15
|
bundler (>= 1.10)
|
16
|
-
chef-config (= 12.
|
16
|
+
chef-config (= 12.16.42)
|
17
17
|
chef-zero (>= 4.8)
|
18
18
|
diff-lcs (~> 1.2, >= 1.2.4)
|
19
19
|
erubis (~> 2.7)
|
@@ -39,10 +39,10 @@ GIT
|
|
39
39
|
specinfra (~> 2.10)
|
40
40
|
syslog-logger (~> 1.6)
|
41
41
|
uuidtools (~> 2.1.5)
|
42
|
-
chef (12.
|
42
|
+
chef (12.16.42-universal-mingw32)
|
43
43
|
addressable
|
44
44
|
bundler (>= 1.10)
|
45
|
-
chef-config (= 12.
|
45
|
+
chef-config (= 12.16.42)
|
46
46
|
chef-zero (>= 4.8)
|
47
47
|
diff-lcs (~> 1.2, >= 1.2.4)
|
48
48
|
erubis (~> 2.7)
|
@@ -79,7 +79,7 @@ GIT
|
|
79
79
|
win32-service (~> 0.8.7)
|
80
80
|
windows-api (~> 0.4.4)
|
81
81
|
wmi-lite (~> 1.0)
|
82
|
-
chef-config (12.
|
82
|
+
chef-config (12.16.42)
|
83
83
|
addressable
|
84
84
|
fuzzyurl
|
85
85
|
mixlib-config (~> 2.0)
|
@@ -99,7 +99,7 @@ GIT
|
|
99
99
|
PATH
|
100
100
|
remote: .
|
101
101
|
specs:
|
102
|
-
chef-dk (0.
|
102
|
+
chef-dk (1.0.3)
|
103
103
|
chef (~> 12.5)
|
104
104
|
chef-provisioning (~> 2.0)
|
105
105
|
cookbook-omnifetch (~> 0.2, >= 0.2.2)
|
@@ -121,24 +121,26 @@ GEM
|
|
121
121
|
minitest (~> 5.1)
|
122
122
|
thread_safe (~> 0.3, >= 0.3.4)
|
123
123
|
tzinfo (~> 1.1)
|
124
|
-
addressable (2.
|
124
|
+
addressable (2.5.0)
|
125
|
+
public_suffix (~> 2.0, >= 2.0.2)
|
125
126
|
app_conf (0.4.2)
|
126
|
-
artifactory (2.5.
|
127
|
+
artifactory (2.5.1)
|
127
128
|
ast (2.3.0)
|
128
129
|
autoparse (0.3.3)
|
129
130
|
addressable (>= 2.3.1)
|
130
131
|
extlib (>= 0.9.15)
|
131
132
|
multi_json (>= 1.0.0)
|
132
|
-
aws-sdk (2.6.
|
133
|
-
aws-sdk-resources (= 2.6.
|
134
|
-
aws-sdk-core (2.6.
|
133
|
+
aws-sdk (2.6.19)
|
134
|
+
aws-sdk-resources (= 2.6.19)
|
135
|
+
aws-sdk-core (2.6.19)
|
135
136
|
jmespath (~> 1.0)
|
136
|
-
aws-sdk-resources (2.6.
|
137
|
-
aws-sdk-core (= 2.6.
|
137
|
+
aws-sdk-resources (2.6.19)
|
138
|
+
aws-sdk-core (= 2.6.19)
|
138
139
|
aws-sdk-v1 (1.66.0)
|
139
140
|
json (~> 1.4)
|
140
141
|
nokogiri (>= 1.4.4)
|
141
|
-
|
142
|
+
backports (3.6.8)
|
143
|
+
berkshelf (5.2.0)
|
142
144
|
addressable (~> 2.3, >= 2.3.4)
|
143
145
|
berkshelf-api-client (>= 2.0.2, < 4.0)
|
144
146
|
buff-config (~> 2.0)
|
@@ -212,7 +214,7 @@ GEM
|
|
212
214
|
cheffish (4.0.0)
|
213
215
|
chef-zero (~> 5.0)
|
214
216
|
net-ssh
|
215
|
-
chefspec (5.
|
217
|
+
chefspec (5.3.0)
|
216
218
|
chef (>= 12.0)
|
217
219
|
fauxhai (~> 3.6)
|
218
220
|
rspec (~> 3.0)
|
@@ -244,11 +246,11 @@ GEM
|
|
244
246
|
excon (>= 0.38.0)
|
245
247
|
json
|
246
248
|
erubis (2.7.0)
|
247
|
-
excon (0.
|
249
|
+
excon (0.54.0)
|
248
250
|
extlib (0.9.16)
|
249
251
|
faraday (0.9.2)
|
250
252
|
multipart-post (>= 1.2, < 3)
|
251
|
-
fauxhai (3.
|
253
|
+
fauxhai (3.10.0)
|
252
254
|
net-ssh
|
253
255
|
ffi (1.9.14)
|
254
256
|
ffi (1.9.14-x86-mingw32)
|
@@ -336,9 +338,9 @@ GEM
|
|
336
338
|
fog-json (1.0.2)
|
337
339
|
fog-core (~> 1.0)
|
338
340
|
multi_json (~> 1.10)
|
339
|
-
fog-local (0.3.
|
341
|
+
fog-local (0.3.1)
|
340
342
|
fog-core (~> 1.27)
|
341
|
-
fog-openstack (0.1.
|
343
|
+
fog-openstack (0.1.17)
|
342
344
|
fog-core (>= 1.40)
|
343
345
|
fog-json (>= 1.0)
|
344
346
|
ipaddress (>= 0.8)
|
@@ -346,10 +348,10 @@ GEM
|
|
346
348
|
fog-core (~> 1.27)
|
347
349
|
fog-json (~> 1.0)
|
348
350
|
fog-xml (~> 0.1)
|
349
|
-
fog-profitbricks (
|
351
|
+
fog-profitbricks (3.0.0)
|
350
352
|
fog-core (~> 1.42)
|
351
353
|
fog-json (~> 1.0)
|
352
|
-
fog-rackspace (0.1.
|
354
|
+
fog-rackspace (0.1.2)
|
353
355
|
fog-core (>= 1.35)
|
354
356
|
fog-json (>= 1.0)
|
355
357
|
fog-xml (>= 0.1)
|
@@ -383,16 +385,16 @@ GEM
|
|
383
385
|
fog-voxel (0.1.0)
|
384
386
|
fog-core
|
385
387
|
fog-xml
|
386
|
-
fog-vsphere (1.
|
388
|
+
fog-vsphere (1.5.1)
|
387
389
|
fog-core
|
388
|
-
rbvmomi (~> 1.
|
390
|
+
rbvmomi (~> 1.9)
|
389
391
|
fog-xenserver (0.2.3)
|
390
392
|
fog-core
|
391
393
|
fog-xml
|
392
394
|
fog-xml (0.1.2)
|
393
395
|
fog-core
|
394
396
|
nokogiri (~> 1.5, >= 1.5.11)
|
395
|
-
foodcritic (
|
397
|
+
foodcritic (8.1.0)
|
396
398
|
cucumber-core (>= 1.3)
|
397
399
|
erubis
|
398
400
|
nokogiri (>= 1.5, < 2.0)
|
@@ -445,7 +447,7 @@ GEM
|
|
445
447
|
inflecto (0.0.2)
|
446
448
|
inifile (3.0.0)
|
447
449
|
iniparse (1.4.2)
|
448
|
-
inspec (1.
|
450
|
+
inspec (1.4.1)
|
449
451
|
hashie (~> 3.4)
|
450
452
|
json (>= 1.8, < 3.0)
|
451
453
|
method_source (~> 0.8)
|
@@ -458,12 +460,12 @@ GEM
|
|
458
460
|
rubyzip (~> 1.1)
|
459
461
|
sslshake (~> 1)
|
460
462
|
thor (~> 0.19)
|
461
|
-
train (>= 0.
|
463
|
+
train (>= 0.20.1, < 1.0)
|
462
464
|
ipaddress (0.8.3)
|
463
465
|
jmespath (1.3.1)
|
464
466
|
json (1.8.3)
|
465
467
|
jwt (1.5.6)
|
466
|
-
kitchen-dokken (1.0.
|
468
|
+
kitchen-dokken (1.0.4)
|
467
469
|
docker-api (~> 1.29)
|
468
470
|
test-kitchen (~> 1.5)
|
469
471
|
kitchen-ec2 (1.2.0)
|
@@ -472,13 +474,15 @@ GEM
|
|
472
474
|
multi_json
|
473
475
|
retryable (~> 2.0)
|
474
476
|
test-kitchen (~> 1.4, >= 1.4.1)
|
475
|
-
kitchen-inspec (0.
|
476
|
-
|
477
|
+
kitchen-inspec (0.16.1)
|
478
|
+
hashie (~> 3.4)
|
479
|
+
inspec (>= 0.34.0, < 2.0.0)
|
477
480
|
test-kitchen (~> 1.6)
|
478
481
|
kitchen-vagrant (0.20.0)
|
479
482
|
test-kitchen (~> 1.4)
|
480
|
-
knife-
|
481
|
-
|
483
|
+
knife-opc (0.3.2)
|
484
|
+
knife-push (1.0.2)
|
485
|
+
chef (>= 12.7.2)
|
482
486
|
knife-spork (1.6.2)
|
483
487
|
app_conf (>= 0.4.0)
|
484
488
|
chef (>= 11.0.0)
|
@@ -515,7 +519,7 @@ GEM
|
|
515
519
|
mixlib-log
|
516
520
|
mixlib-cli (1.7.0)
|
517
521
|
mixlib-config (2.2.4)
|
518
|
-
mixlib-install (2.1.
|
522
|
+
mixlib-install (2.1.6)
|
519
523
|
artifactory
|
520
524
|
mixlib-shellout
|
521
525
|
mixlib-versioning
|
@@ -526,7 +530,7 @@ GEM
|
|
526
530
|
win32-process (~> 0.8.2)
|
527
531
|
wmi-lite (~> 1.0)
|
528
532
|
mixlib-versioning (1.1.0)
|
529
|
-
molinillo (0.5.
|
533
|
+
molinillo (0.5.4)
|
530
534
|
multi_json (1.12.1)
|
531
535
|
multi_test (0.1.2)
|
532
536
|
multipart-post (2.0.0)
|
@@ -551,9 +555,9 @@ GEM
|
|
551
555
|
notiffany (0.1.1)
|
552
556
|
nenv (~> 0.1)
|
553
557
|
shellany (~> 0.0)
|
554
|
-
octokit (4.
|
555
|
-
sawyer (~> 0.
|
556
|
-
ohai (8.
|
558
|
+
octokit (4.6.0)
|
559
|
+
sawyer (~> 0.8.0, >= 0.5.3)
|
560
|
+
ohai (8.21.0)
|
557
561
|
chef-config (>= 12.5.0.alpha.1, < 13)
|
558
562
|
ffi (~> 1.9)
|
559
563
|
ffi-yajl (~> 2.2)
|
@@ -587,19 +591,20 @@ GEM
|
|
587
591
|
pry-stack_explorer (0.4.9.2)
|
588
592
|
binding_of_caller (>= 0.7)
|
589
593
|
pry (>= 0.9.11)
|
594
|
+
public_suffix (2.0.4)
|
590
595
|
rack (2.0.1)
|
591
596
|
rainbow (2.1.0)
|
592
597
|
rake (11.3.0)
|
593
|
-
rb-fsevent (0.9.
|
598
|
+
rb-fsevent (0.9.8)
|
594
599
|
rb-inotify (0.9.7)
|
595
600
|
ffi (>= 0.5.0)
|
596
601
|
rb-readline (0.5.3)
|
597
|
-
rbvmomi (1.
|
598
|
-
builder
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
602
|
+
rbvmomi (1.9.4)
|
603
|
+
builder (~> 3.2)
|
604
|
+
json (>= 1.8)
|
605
|
+
nokogiri (~> 1.5)
|
606
|
+
trollop (~> 2.1)
|
607
|
+
rdoc (5.0.0)
|
603
608
|
rdp-ruby-wmi (0.3.1)
|
604
609
|
retriable (1.4.1)
|
605
610
|
retryable (2.0.4)
|
@@ -654,8 +659,8 @@ GEM
|
|
654
659
|
rubyzip (1.2.0)
|
655
660
|
rufus-lru (1.1.0)
|
656
661
|
safe_yaml (1.0.4)
|
657
|
-
sawyer (0.
|
658
|
-
addressable (>= 2.3.5, < 2.
|
662
|
+
sawyer (0.8.0)
|
663
|
+
addressable (>= 2.3.5, < 2.6)
|
659
664
|
faraday (~> 0.8, < 0.10)
|
660
665
|
semverse (2.0.0)
|
661
666
|
serverspec (2.37.2)
|
@@ -674,12 +679,12 @@ GEM
|
|
674
679
|
solve (3.0.1)
|
675
680
|
molinillo (~> 0.4)
|
676
681
|
semverse (>= 1.1, < 3.0)
|
677
|
-
specinfra (2.
|
682
|
+
specinfra (2.66.0)
|
678
683
|
net-scp
|
679
684
|
net-ssh (>= 2.7, < 4.0)
|
680
685
|
net-telnet
|
681
686
|
sfl
|
682
|
-
sslshake (1.0.
|
687
|
+
sslshake (1.0.13)
|
683
688
|
stuartpreston-azure-sdk-for-ruby (0.7.2)
|
684
689
|
json (~> 1.8)
|
685
690
|
mime-types (> 1, < 4)
|
@@ -700,7 +705,7 @@ GEM
|
|
700
705
|
thread_safe (0.3.5)
|
701
706
|
timers (4.0.4)
|
702
707
|
hitimes
|
703
|
-
train (0.
|
708
|
+
train (0.21.1)
|
704
709
|
docker-api (~> 1.26)
|
705
710
|
json (>= 1.8, < 3.0)
|
706
711
|
mixlib-shellout (~> 2.0)
|
@@ -763,7 +768,7 @@ GEM
|
|
763
768
|
winrm (~> 2.0)
|
764
769
|
wmi-lite (1.0.0)
|
765
770
|
xml-simple (1.1.5)
|
766
|
-
yajl-ruby (1.
|
771
|
+
yajl-ruby (1.3.0)
|
767
772
|
yard (0.9.5)
|
768
773
|
|
769
774
|
PLATFORMS
|
@@ -792,13 +797,14 @@ DEPENDENCIES
|
|
792
797
|
fauxhai
|
793
798
|
ffi
|
794
799
|
ffi-rzmq-core
|
795
|
-
foodcritic (
|
800
|
+
foodcritic (>= 8.0)
|
796
801
|
guard
|
797
802
|
inspec (>= 0.17.1)
|
798
803
|
kitchen-dokken
|
799
804
|
kitchen-ec2
|
800
805
|
kitchen-inspec
|
801
806
|
kitchen-vagrant
|
807
|
+
knife-opc (>= 0.3.2)
|
802
808
|
knife-push
|
803
809
|
knife-spork
|
804
810
|
knife-windows
|
@@ -833,4 +839,4 @@ DEPENDENCIES
|
|
833
839
|
yard
|
834
840
|
|
835
841
|
BUNDLED WITH
|
836
|
-
1.
|
842
|
+
1.13.3
|
data/README.md
CHANGED
@@ -306,6 +306,10 @@ dpkg --list | grep chefdk # or dpkg --status chefdk
|
|
306
306
|
dpkg -P chefdk
|
307
307
|
```
|
308
308
|
|
309
|
+
## Contributing
|
310
|
+
|
311
|
+
For information on contributing to this project see <https://github.com/chef/chef/blob/master/CONTRIBUTING.md>
|
312
|
+
|
309
313
|
# For ChefDK Developers
|
310
314
|
|
311
315
|
See the [Development Guide](DEVELOPMENT.md) for how to get started with
|
data/acceptance/Gemfile.lock
CHANGED
@@ -9,15 +9,16 @@ GIT
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
|
-
addressable (2.
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
addressable (2.5.0)
|
13
|
+
public_suffix (~> 2.0, >= 2.0.2)
|
14
|
+
artifactory (2.5.1)
|
15
|
+
aws-sdk (2.6.19)
|
16
|
+
aws-sdk-resources (= 2.6.19)
|
17
|
+
aws-sdk-core (2.6.19)
|
17
18
|
jmespath (~> 1.0)
|
18
|
-
aws-sdk-resources (2.6.
|
19
|
-
aws-sdk-core (= 2.6.
|
20
|
-
berkshelf (5.
|
19
|
+
aws-sdk-resources (2.6.19)
|
20
|
+
aws-sdk-core (= 2.6.19)
|
21
|
+
berkshelf (5.2.0)
|
21
22
|
addressable (~> 2.3, >= 2.3.4)
|
22
23
|
berkshelf-api-client (>= 2.0.2, < 4.0)
|
23
24
|
buff-config (~> 2.0)
|
@@ -51,7 +52,7 @@ GEM
|
|
51
52
|
celluloid-io (0.16.2)
|
52
53
|
celluloid (>= 0.16.0)
|
53
54
|
nio4r (>= 1.1.0)
|
54
|
-
chef-config (12.
|
55
|
+
chef-config (12.16.42)
|
55
56
|
addressable
|
56
57
|
fuzzyurl
|
57
58
|
mixlib-config (~> 2.0)
|
@@ -63,7 +64,7 @@ GEM
|
|
63
64
|
excon (>= 0.38.0)
|
64
65
|
json
|
65
66
|
erubis (2.7.0)
|
66
|
-
excon (0.
|
67
|
+
excon (0.54.0)
|
67
68
|
faraday (0.9.2)
|
68
69
|
multipart-post (>= 1.2, < 3)
|
69
70
|
ffi (1.9.14)
|
@@ -75,7 +76,7 @@ GEM
|
|
75
76
|
hashie (3.4.6)
|
76
77
|
hitimes (1.2.4)
|
77
78
|
httpclient (2.8.2.4)
|
78
|
-
inspec (1.1
|
79
|
+
inspec (1.4.1)
|
79
80
|
hashie (~> 3.4)
|
80
81
|
json (>= 1.8, < 3.0)
|
81
82
|
method_source (~> 0.8)
|
@@ -88,7 +89,7 @@ GEM
|
|
88
89
|
rubyzip (~> 1.1)
|
89
90
|
sslshake (~> 1)
|
90
91
|
thor (~> 0.19)
|
91
|
-
train (>= 0.
|
92
|
+
train (>= 0.20.1, < 1.0)
|
92
93
|
jmespath (1.3.1)
|
93
94
|
json (2.0.2)
|
94
95
|
kitchen-ec2 (1.2.0)
|
@@ -97,8 +98,9 @@ GEM
|
|
97
98
|
multi_json
|
98
99
|
retryable (~> 2.0)
|
99
100
|
test-kitchen (~> 1.4, >= 1.4.1)
|
100
|
-
kitchen-inspec (0.
|
101
|
-
|
101
|
+
kitchen-inspec (0.16.1)
|
102
|
+
hashie (~> 3.4)
|
103
|
+
inspec (>= 0.34.0, < 2.0.0)
|
102
104
|
test-kitchen (~> 1.6)
|
103
105
|
kitchen-vagrant (0.20.0)
|
104
106
|
test-kitchen (~> 1.4)
|
@@ -120,7 +122,7 @@ GEM
|
|
120
122
|
mixlib-log (1.7.1)
|
121
123
|
mixlib-shellout (2.2.7)
|
122
124
|
mixlib-versioning (1.1.0)
|
123
|
-
molinillo (0.5.
|
125
|
+
molinillo (0.5.4)
|
124
126
|
multi_json (1.12.1)
|
125
127
|
multipart-post (2.0.0)
|
126
128
|
net-scp (1.2.1)
|
@@ -130,13 +132,14 @@ GEM
|
|
130
132
|
net-ssh (>= 2.6.5)
|
131
133
|
nio4r (1.2.1)
|
132
134
|
nori (2.6.0)
|
133
|
-
octokit (4.
|
134
|
-
sawyer (~> 0.
|
135
|
+
octokit (4.6.0)
|
136
|
+
sawyer (~> 0.8.0, >= 0.5.3)
|
135
137
|
parallel (1.9.0)
|
136
138
|
pry (0.10.4)
|
137
139
|
coderay (~> 1.1.0)
|
138
140
|
method_source (~> 0.8.1)
|
139
141
|
slop (~> 3.4)
|
142
|
+
public_suffix (2.0.4)
|
140
143
|
rainbow (2.1.0)
|
141
144
|
retryable (2.0.4)
|
142
145
|
ridley (5.1.0)
|
@@ -176,15 +179,15 @@ GEM
|
|
176
179
|
rubyntlm (0.6.1)
|
177
180
|
rubyzip (1.2.0)
|
178
181
|
safe_yaml (1.0.4)
|
179
|
-
sawyer (0.
|
180
|
-
addressable (>= 2.3.5, < 2.
|
182
|
+
sawyer (0.8.0)
|
183
|
+
addressable (>= 2.3.5, < 2.6)
|
181
184
|
faraday (~> 0.8, < 0.10)
|
182
185
|
semverse (2.0.0)
|
183
186
|
slop (3.6.0)
|
184
187
|
solve (3.0.1)
|
185
188
|
molinillo (~> 0.4)
|
186
189
|
semverse (>= 1.1, < 3.0)
|
187
|
-
sslshake (1.0.
|
190
|
+
sslshake (1.0.13)
|
188
191
|
test-kitchen (1.13.2)
|
189
192
|
mixlib-install (>= 1.2, < 3.0)
|
190
193
|
mixlib-shellout (>= 1.2, < 3.0)
|
@@ -196,7 +199,7 @@ GEM
|
|
196
199
|
thor (0.19.1)
|
197
200
|
timers (4.0.4)
|
198
201
|
hitimes
|
199
|
-
train (0.
|
202
|
+
train (0.21.1)
|
200
203
|
docker-api (~> 1.26)
|
201
204
|
json (>= 1.8, < 3.0)
|
202
205
|
mixlib-shellout (~> 2.0)
|
@@ -209,7 +212,7 @@ GEM
|
|
209
212
|
hashie (>= 2.0.2, < 4.0.0)
|
210
213
|
windows_chef_zero (2.0.0)
|
211
214
|
test-kitchen (>= 1.2.1)
|
212
|
-
winrm (2.0
|
215
|
+
winrm (2.1.0)
|
213
216
|
builder (>= 2.1.2)
|
214
217
|
erubis (~> 2.7)
|
215
218
|
gssapi (~> 1.2)
|
data/chef-dk.gemspec
CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |gem|
|
|
30
30
|
|
31
31
|
gem.required_ruby_version = '>= 2.2'
|
32
32
|
|
33
|
-
gem.files = %w{Rakefile LICENSE README.md
|
33
|
+
gem.files = %w{Rakefile LICENSE README.md warning.txt} +
|
34
34
|
%w{version_policy.rb omnibus_overrides.rb} +
|
35
35
|
Dir.glob("Gemfile*") + # Includes Gemfile and locks
|
36
36
|
Dir.glob("*.gemspec") +
|
@@ -85,7 +85,13 @@ module ChefDK
|
|
85
85
|
def have_git?
|
86
86
|
path = ENV["PATH"] || ""
|
87
87
|
paths = path.split(File::PATH_SEPARATOR)
|
88
|
-
|
88
|
+
exts = [RbConfig::CONFIG['EXEEXT']]
|
89
|
+
exts.concat(ENV["PATHEXT"].split(";")) unless ENV["PATHEXT"].nil?
|
90
|
+
paths.any? do |bin_path|
|
91
|
+
exts.any? do |ext|
|
92
|
+
File.exist?(File.join(bin_path, "git#{ext}"))
|
93
|
+
end
|
94
|
+
end
|
89
95
|
end
|
90
96
|
|
91
97
|
private
|
@@ -14,10 +14,11 @@
|
|
14
14
|
[local_phases]
|
15
15
|
unit = "rspec spec/"
|
16
16
|
lint = "cookstyle"
|
17
|
-
# Foodcritic
|
18
|
-
# We turn
|
19
|
-
#
|
20
|
-
|
17
|
+
# Foodcritic includes rules only appropriate for community cookbooks
|
18
|
+
# uploaded to Supermarket. We turn off any rules tagged "supermarket"
|
19
|
+
# by default. If you plan to share this cookbook you should remove
|
20
|
+
# '-t ~supermarket' below to enable supermarket rules.
|
21
|
+
syntax = "foodcritic . --exclude spec -f any -t ~supermarket"
|
21
22
|
provision = "chef exec kitchen create"
|
22
23
|
deploy = "chef exec kitchen converge"
|
23
24
|
smoke = "chef exec kitchen verify"
|
data/lib/chef-dk/version.rb
CHANGED
@@ -133,4 +133,49 @@ describe ChefDK::Command::GeneratorCommands::Base do
|
|
133
133
|
end
|
134
134
|
end
|
135
135
|
end
|
136
|
+
|
137
|
+
describe '#have_git?' do
|
138
|
+
let(:cmd) { described_class.new([]) }
|
139
|
+
let(:path) { 'bin_path' }
|
140
|
+
|
141
|
+
before do
|
142
|
+
allow(File).to receive(:exist?)
|
143
|
+
allow(ENV).to receive(:[]).with('PATH').and_return(path)
|
144
|
+
allow(ENV).to receive(:[]).with('PATHEXT').and_return(nil)
|
145
|
+
allow(RbConfig::CONFIG).to receive(:[]).with('EXEEXT').and_return('')
|
146
|
+
end
|
147
|
+
|
148
|
+
describe 'when git executable exists' do
|
149
|
+
it 'returns true' do
|
150
|
+
allow(File).to receive(:exist?).and_return(true)
|
151
|
+
expect(cmd.have_git?).to eq(true)
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
describe 'when git executable does not exist' do
|
156
|
+
it 'returns false' do
|
157
|
+
allow(File).to receive(:exist?).and_return(false)
|
158
|
+
expect(cmd.have_git?).to eq(false)
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
it 'checks PATH for git executable' do
|
163
|
+
expect(File).to receive(:exist?).with(File.join(path, 'git'))
|
164
|
+
cmd.have_git?
|
165
|
+
end
|
166
|
+
|
167
|
+
describe 'when on Windows' do
|
168
|
+
before do
|
169
|
+
allow(ENV).to receive(:[]).with('PATHEXT').and_return('.com;.exe;.bat')
|
170
|
+
allow(RbConfig::CONFIG).to receive(:[]).with('EXEEXT').and_return('.exe')
|
171
|
+
end
|
172
|
+
|
173
|
+
it 'checks PATH for git executable with an extension found in PATHEXT' do
|
174
|
+
expect(File).to receive(:exist?).with(File.join(path, 'git.com'))
|
175
|
+
expect(File).to receive(:exist?).with(File.join(path, 'git.exe'))
|
176
|
+
expect(File).to receive(:exist?).with(File.join(path, 'git.bat'))
|
177
|
+
cmd.have_git?
|
178
|
+
end
|
179
|
+
end
|
180
|
+
end
|
136
181
|
end
|
@@ -195,10 +195,11 @@ EOF
|
|
195
195
|
[local_phases]
|
196
196
|
unit = "rspec spec/"
|
197
197
|
lint = "cookstyle"
|
198
|
-
# Foodcritic
|
199
|
-
# We turn
|
200
|
-
#
|
201
|
-
|
198
|
+
# Foodcritic includes rules only appropriate for community cookbooks
|
199
|
+
# uploaded to Supermarket. We turn off any rules tagged "supermarket"
|
200
|
+
# by default. If you plan to share this cookbook you should remove
|
201
|
+
# '-t ~supermarket' below to enable supermarket rules.
|
202
|
+
syntax = "foodcritic . --exclude spec -f any -t ~supermarket"
|
202
203
|
provision = "chef exec kitchen create"
|
203
204
|
deploy = "chef exec kitchen converge"
|
204
205
|
smoke = "chef exec kitchen verify"
|
data/tasks/version.rb
CHANGED
@@ -53,6 +53,34 @@ namespace :version do
|
|
53
53
|
IO.write(version_rb_path, new_version_file)
|
54
54
|
end
|
55
55
|
|
56
|
+
desc "Bump the minor version in lib/chef-dk/version.rb"
|
57
|
+
task :bump_minor do
|
58
|
+
current_version_file = IO.read(version_rb_path)
|
59
|
+
new_version = nil
|
60
|
+
new_version_file = current_version_file.sub(/^(\s*VERSION\s*=\s*")(\d+)\.(\d+)\.(\d+)/) do
|
61
|
+
new_version = "#{$2}.#{$3.to_i + 1}.0"
|
62
|
+
"#{$1}#{new_version}"
|
63
|
+
end
|
64
|
+
puts "Updating version in #{version_rb_path} from #{version} to #{new_version.chomp}"
|
65
|
+
IO.write(version_rb_path, new_version_file)
|
66
|
+
Rake::Task["version:update_gemfile_lock"].invoke
|
67
|
+
Rake::Task["bundle:install"].invoke
|
68
|
+
end
|
69
|
+
|
70
|
+
desc "Bump the major version in lib/chef-dk/version.rb"
|
71
|
+
task :bump_major do
|
72
|
+
current_version_file = IO.read(version_rb_path)
|
73
|
+
new_version = nil
|
74
|
+
new_version_file = current_version_file.sub(/^(\s*VERSION\s*=\s*")(\d+)\.(\d+)\.(\d+)/) do
|
75
|
+
new_version = "#{$2.to_i + 1}.0.0"
|
76
|
+
"#{$1}#{new_version}"
|
77
|
+
end
|
78
|
+
puts "Updating version in #{version_rb_path} from #{version} to #{new_version.chomp}"
|
79
|
+
IO.write(version_rb_path, new_version_file)
|
80
|
+
Rake::Task["version:update_gemfile_lock"].invoke
|
81
|
+
Rake::Task["bundle:install"].invoke
|
82
|
+
end
|
83
|
+
|
56
84
|
desc "Update the Gemfile.lock to include the current chef-dk version"
|
57
85
|
task :update_gemfile_lock do
|
58
86
|
if File.exist?(gemfile_lock_path)
|
@@ -65,5 +93,4 @@ namespace :version do
|
|
65
93
|
end
|
66
94
|
end
|
67
95
|
|
68
|
-
|
69
96
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-dk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel DeLeo
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-11-14 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mixlib-cli
|
@@ -244,7 +244,6 @@ executables:
|
|
244
244
|
extensions: []
|
245
245
|
extra_rdoc_files: []
|
246
246
|
files:
|
247
|
-
- CONTRIBUTING.md
|
248
247
|
- Gemfile
|
249
248
|
- Gemfile.lock
|
250
249
|
- LICENSE
|
@@ -644,7 +643,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
644
643
|
version: '0'
|
645
644
|
requirements: []
|
646
645
|
rubyforge_project:
|
647
|
-
rubygems_version: 2.6.
|
646
|
+
rubygems_version: 2.6.8
|
648
647
|
signing_key:
|
649
648
|
specification_version: 4
|
650
649
|
summary: A streamlined development and deployment workflow for Chef platform.
|
data/CONTRIBUTING.md
DELETED
@@ -1,161 +0,0 @@
|
|
1
|
-
# Contributing to Chef
|
2
|
-
|
3
|
-
We are glad you want to contribute to Chef!
|
4
|
-
|
5
|
-
We utilize **Github Issues** for issue tracking and contributions. You can contribute in two ways:
|
6
|
-
|
7
|
-
1. Reporting an issue or making a feature request [here](#issues).
|
8
|
-
2. Adding features or fixing bugs yourself and contributing your code to Chef.
|
9
|
-
|
10
|
-
## Contribution Process
|
11
|
-
|
12
|
-
We have a 3 step process that utilizes **Github Issues**:
|
13
|
-
|
14
|
-
1. Sign or be added to an existing [Contributor License Agreement (CLA)](https://supermarket.chef.io/become-a-contributor).
|
15
|
-
2. Create a Github Pull Request.
|
16
|
-
3. Do [Code Review](#cr) with the **Chef Engineering Team** or **Chef Core Committers** on the pull request.
|
17
|
-
|
18
|
-
### <a name="pulls"></a> Chef Pull Requests
|
19
|
-
|
20
|
-
Chef is built to last. We strive to ensure high quality throughout the Chef experience. In order to ensure
|
21
|
-
this, we require a couple of things for all pull requests to Chef:
|
22
|
-
|
23
|
-
1. **Tests:** To ensure high quality code and protect against future regressions, we require all the
|
24
|
-
code in Chef to have at least unit test coverage. Run ```bundle exec rspec``` from the project root
|
25
|
-
to execute the tests.
|
26
|
-
2. **Green Travis Run:** We use [Travis CI](https://travis-ci.org/) in order to run our tests
|
27
|
-
continuously on all the pull requests. We require the Travis runs to succeed on every pull
|
28
|
-
request before being merged.
|
29
|
-
|
30
|
-
|
31
|
-
### <a name="cr"></a> Chef Code Review Process
|
32
|
-
|
33
|
-
The Chef Code Review process happens on Github pull requests. See
|
34
|
-
[this article](https://help.github.com/articles/using-pull-requests) if you're not
|
35
|
-
familiar with Github Pull Requests.
|
36
|
-
|
37
|
-
Once you a pull request, the **Chef Engineering Team** or **Chef Core Committers** will review your code
|
38
|
-
and respond to you with any feedback they might have. The process at this point is as follows:
|
39
|
-
|
40
|
-
1. 2 thumbs-ups are required from the **Chef Engineering Team** or **Chef Core Committers** for all merges.
|
41
|
-
2. When ready, your pull request will be tagged with label `Ready For Merge`.
|
42
|
-
3. Your patch will be merged into `master` including necessary documentation updates
|
43
|
-
and you will be included in `CHANGELOG.md`. Our goal is to have patches merged in 2 weeks
|
44
|
-
after they are marked to be merged.
|
45
|
-
|
46
|
-
If you would like to learn about when your code will be available in a release of Chef, read more about
|
47
|
-
[Chef Release Process](#release).
|
48
|
-
|
49
|
-
|
50
|
-
### Contributor License Agreement (CLA)
|
51
|
-
Licensing is very important to open source projects. It helps ensure the
|
52
|
-
software continues to be available under the terms that the author desired.
|
53
|
-
|
54
|
-
Chef uses [the Apache 2.0 license](https://github.com/chef/chef/blob/master/LICENSE)
|
55
|
-
to strike a balance between open contribution and allowing you to use the
|
56
|
-
software however you would like to.
|
57
|
-
|
58
|
-
The license tells you what rights you have that are provided by the copyright holder.
|
59
|
-
It is important that the contributor fully understands what rights they are
|
60
|
-
licensing and agrees to them. Sometimes the copyright holder isn't the contributor,
|
61
|
-
such as when the contributor is doing work for a company.
|
62
|
-
|
63
|
-
To make a good faith effort to ensure these criteria are met, Chef requires an Individual CLA
|
64
|
-
or a Corporate CLA for contributions. This agreement helps ensure you are aware of the
|
65
|
-
terms of the license you are contributing your copyrighted works under, which helps to
|
66
|
-
prevent the inclusion of works in the projects that the contributor does not hold the rights
|
67
|
-
to share.
|
68
|
-
|
69
|
-
It only takes a few minutes to complete a CLA, and you retain the copyright to your contribution.
|
70
|
-
|
71
|
-
You can complete our
|
72
|
-
[Individual CLA](https://supermarket.chef.io/icla-signatures/new) online.
|
73
|
-
If you're contributing on behalf of your employer and they retain the copyright for your works,
|
74
|
-
have your employer fill out our
|
75
|
-
[Corporate CLA](https://supermarket.chef.io/ccla-signatures/new) instead.
|
76
|
-
|
77
|
-
### Chef Obvious Fix Policy
|
78
|
-
|
79
|
-
Small contributions such as fixing spelling errors, where the content is small enough
|
80
|
-
to not be considered intellectual property, can be submitted by a contributor as a patch,
|
81
|
-
without a CLA.
|
82
|
-
|
83
|
-
As a rule of thumb, changes are obvious fixes if they do not introduce any new functionality
|
84
|
-
or creative thinking. As long as the change does not affect functionality, some likely
|
85
|
-
examples include the following:
|
86
|
-
|
87
|
-
* Spelling / grammar fixes
|
88
|
-
* Typo correction, white space and formatting changes
|
89
|
-
* Comment clean up
|
90
|
-
* Bug fixes that change default return values or error codes stored in constants
|
91
|
-
* Adding logging messages or debugging output
|
92
|
-
* Changes to ‘metadata’ files like Gemfile, .gitignore, build scripts, etc.
|
93
|
-
* Moving source files from one directory or package to another
|
94
|
-
|
95
|
-
**Whenever you invoke the “obvious fix” rule, please say so in your commit message:**
|
96
|
-
|
97
|
-
```
|
98
|
-
------------------------------------------------------------------------
|
99
|
-
commit 370adb3f82d55d912b0cf9c1d1e99b132a8ed3b5
|
100
|
-
Author: danielsdeleo <dan@chef.io>
|
101
|
-
Date: Wed Sep 18 11:44:40 2013 -0700
|
102
|
-
|
103
|
-
Fix typo in config file docs.
|
104
|
-
|
105
|
-
Obvious fix.
|
106
|
-
|
107
|
-
------------------------------------------------------------------------
|
108
|
-
```
|
109
|
-
|
110
|
-
## <a name="issues"></a> Chef Issue Tracking
|
111
|
-
|
112
|
-
Chef Issue Tracking is handled using Github Issues.
|
113
|
-
|
114
|
-
If you are familiar with Chef and know the component that is causing you a problem or if you
|
115
|
-
have a feature request on a specific component you can file an issue in the corresponding
|
116
|
-
Github project. All of our Open Source Software can be found in our
|
117
|
-
[Github organization](https://github.com/chef/).
|
118
|
-
|
119
|
-
Otherwise you can file your issue in the [Chef project](https://github.com/chef/chef/issues)
|
120
|
-
and we will make sure it gets filed against the appropriate project.
|
121
|
-
|
122
|
-
|
123
|
-
## <a name="release"></a> Chef Release Cycles
|
124
|
-
|
125
|
-
Our primary shipping vehicle is operating system specific packages that includes
|
126
|
-
all the requirements of Chef. We call these [Omnibus packages](https://github.com/chef/omnibus)
|
127
|
-
|
128
|
-
We also release our software as gems to [Rubygems](https://rubygems.org/) but we strongly
|
129
|
-
recommend using Chef packages since they are the only combination of native libraries &
|
130
|
-
gems required by Chef that we test throughly.
|
131
|
-
|
132
|
-
Our version numbering closely follows [Semantic Versioning](http://semver.org/) standard. Our
|
133
|
-
standard version numbers look like X.Y.Z which mean:
|
134
|
-
|
135
|
-
* X is a major release, which may not be fully compatible with prior major releases
|
136
|
-
* Y is a minor release, which adds both new features and bug fixes
|
137
|
-
* Z is a patch release, which adds just bug fixes
|
138
|
-
|
139
|
-
We frequently make `alpha` and `beta` releases with version numbers that look like
|
140
|
-
`X.Y.Z.alpha.0` or `X.Y.Z.beta.1`. These releases are still well tested but not as
|
141
|
-
throughly as **Minor** or **Patch** releases.
|
142
|
-
|
143
|
-
We do a `Minor` release approximately every 3 months and `Patch` releases on a when-needed
|
144
|
-
basis for regressions, significant bugs, and security issues.
|
145
|
-
|
146
|
-
Announcements of releases are available on [Chef Blog](https://www.chef.io/blog/) when they are
|
147
|
-
available.
|
148
|
-
|
149
|
-
## Chef Community
|
150
|
-
|
151
|
-
Chef is made possible by a strong community of developers and system administrators. If you have
|
152
|
-
any questions or if you would like to get involved in the Chef community you can check out:
|
153
|
-
|
154
|
-
* [chef](https://discourse.chef.io/) and [chef-dev](https://discourse.chef.io/c/dev) mailing lists and mailing list [FAQ](https://discourse.chef.io/t/welcome-to-the-chef-mailing-list/7070)
|
155
|
-
* [\#chef](https://botbot.me/freenode/chef) and [\#chef-hacking](https://botbot.me/freenode/chef-hacking) IRC channels on irc.freenode.net
|
156
|
-
|
157
|
-
Also here are some additional pointers to some awesome Chef content:
|
158
|
-
|
159
|
-
* [Chef Docs](https://docs.chef.io/)
|
160
|
-
* [Learn Chef](https://learn.chef.io/)
|
161
|
-
* [Chef Inc](https://www.chef.io/)
|