The cookbook, recipe, and app generators now name the test directory
integration
instead of smoke
.
Policyfile users who use a Chef Server as a cookbook source will
experience faster cookbook downloads when running chef install
. Chef
Server's API requires each file in a cookbook to be downloaded
separately; ChefDK will now download the files in parallel.
Additionally, HTTP keepalives are enabled to reduce connection overhead.
Policyfile users may now source cookbooks from the Chef Server's
cookbook artifact store. This is mainly intended to support the upcoming
include_policy
feature, but could be useful in some situations.
Given a cookbook that has been uploaded to the Chef Server via chef push
,
it can be used in another policy by adding code like the following to
the ruby policyfile:
cookbook "runit",
chef_server_artifact: "https://chef.example/organizations/myorg",
identifier: "09d43fad354b3efcc5b5836fef5137131f60f974"
Policyfile maybe now use the include_policy
directive as described in
RFC097.
This directive's purpose is to allow the inclusion policyfile locks to the current
policyfile. In this iteration, we support sourcing lock files from a local path or a
chef server. Below is a simple example of how the include_policy
directive can be used.
Given a policyfile base.rb
:
name 'base'
default_source :supermarket
run_list 'motd'
cookbook 'motd', '~> 0.6.0'
Run:
>> chef install ./base.rb
Building policy base
Expanded run list: recipe[motd]
Caching Cookbooks...
Using motd 0.6.4
Using chef_handler 3.0.2
Lockfile written to /home/jaym/workspace/chef-dk/base.lock.json
Policy revision id: 1238e7a353ec07a4df6636cdffd8805220a00789bace96d6d70268a4b0064023
This will produce the base.lock.json
that will be included in our next policy users.rb
:
name 'users'
default_source :supermarket
run_list 'user'
cookbook 'user', '~> 0.7.0'
include_policy 'base', path: './base.lock.json'
Run:
>> chef install ./users.rb
Building policy users
Expanded run list: recipe[motd::default], recipe[user]
Caching Cookbooks...
Using motd 0.6.4
Installing user 0.7.0
Using chef_handler 3.0.2
Lockfile written to /home/jaym/workspace/chef-dk/users.lock.json
Policy revision id: 20fac68f987152f62a2761e1cfc7f1dc29b598303bfb2d84a115557e2a4a8f27
This will produce a users.lock.json
that has the base
policyfile lock merged in.
More information can be found in RFC097 and the docs.
We are now shipping the following new tools as part of Chef-DK
- kitchen-digitalocean
- kitchen-google
- knife-ec2
- knife-google
The Chef Provisioning AWS gem has been updated from the Amazon AWS SDK V1 to V2. This includes a huge number of under the hood improvements and bug fixes.
- aws-sdk 2.10.45 -> 2.10.90
- chef 13.4.19 -> 13.6.4 (Changelog)
- chefspec 7.1.0 -> 7.1.1 (Changelog
- chef-provisioning 2.5.0 -> 2.6.0 (Changelog)
- chef-provisioning-aws 2.2.2 -> 3.0.0 (Changelog)
- chef-provisioning-fog 0.21.0 -> 0.26.0 (Changelog)
- chef-sugar 3.5.0 -> 3.6.0 (Changelog)
- fauxhai 5.3.0 -> 5.5.0 (Changelog)
- foodcritic 11.4.0 -> 12.2.1 (Changelog)
- inspec 1.36.1 -> 1.44.13 (Changelog)
- kitchen-digitalocean new @ 0.9.8
- kitchen-google new @ 1.4.0
- kitchen-inspec 0.19.0 -> 0.20.0 (Changelog)
- knife-ec2 new @ 0.16.0
- knife-google new @ 3.2.0
- knife-spork 1.6.3 -> 1.7.1 (Changelog)
- mixlib-install 2.1.12 -> 3.8.0 (Changelog)
- rspec 3.6.0 -> 3.7.0 (Changelog)
- serverspec 2.40.0 -> 2.41.3
- test-kitchen 1.17.0 -> 1.19.2 (Changelog)
- train 0.26.2 -> 0.29.2 (Changelog)
- winrm-fs 1.0.1 -> winrm-fs 1.1.1 (Changelog)
ChefDK 2.3 includes Ruby 2.4.2 to fix the following CVEs:
- CVE-2017-0898
- CVE-2017-10784
- CVE-2017-14033
- CVE-2017-14064
The 2.2.1 release includes RubyGems 2.6.13 to fix the following CVEs:
- CVE-2017-0899
- CVE-2017-0900
- CVE-2017-0901
- CVE-2017-0902
ChefDK 2.3 includes:
- Chef 13.4.19
- InSpec 1.36.1
- Berkshelf 6.3.1
- Chef Vault 3.3.0
- Foodcritic 11.4.0
- Test Kitchen 1.17.0
- Stove 6.0
We are now shipping stove in ChefDK, to aid users in uploading their cookbooks to supermarkets.
The cookbook generator now adds a LICENSE file when creating a new cookbook.
When chef generate cookbook
is ran, boilerplate unit tests for the CentOS 7 platform are now generated as well.