We're happy to announce the release of ChefDK 4.0, including the latest version of Chef, updates of products to require accepting the Chef EULA, as well as updated dependencies.
Usage of ChefDK 4.0, Chef Infra Client 15, and InSpec 4 requires accepting the Chef EULA. See the frequently asked questions for information about the license update and the associated business model change.
Chef Provisioning is no longer included with Chef DK, and will be officially end of life on August 31, 2019. The source code of Chef Provisioning and the drivers have been moved into the chef-boneyard GitHub organization and will not be further maintained. Current users of Chef Provisioning should contact your Chef Customer Success Manager or Account Representative to review your options.
knife bootstrap against cloud providers
knife bootstrap was rewritten in Chef Infra Client 15. The
knife-* cloud providers need to be updated to use this new API. As of ChefDK 4.0,
knife bootstrap functionality against the cloud providers will be broken. We will fix this ASAP in a ChefDK 4.1 release. The only gem not affected is the
knife-windows gem. It has already been re-written to leverage the new bootstrap library.
If you leverage this functionality, please wait to update ChefDK until 4.1 is released with fixes for these gems.
Improved Chef Generate command
chef generate command has been updated to produce cookbooks and repositories that match Chef's best practices.
chef generate reponow generates a Chef repository with Policyfiles by default. You can revert to the previous roles / environment behavior with the
chef generate cookbooknow generates a cookbook with a Policyfile and no Berksfile by default. You can revert to the previous behavior with the
chef generate cookbooknow includes ChefSpecs that utilize the ChefSpec 7.3+ format. This is a much simpler syntax that requires less updating of specs as older platforms are deprecated.
chef generate cookbookno longer creates cookbbook files with the unecessary
chef generate cookbookno longer generates a full Workflow (Delivery) build cookbook by default. A new
--workflowflag has been added to allow generating the build cookbook. This flag replaces the previously unused
chef generate cookbooknow generates cookbooks with metadata requiring Chef 14 or later.
chef generate cookbook --kitchen dokkennow generates a fully working kitchen-dokken config.
chef generate cookbooknow generates Test Kitchen configs with the
product_versionmethod of specifying Chef Infra Client releases as
require_chef_omnibuswill be removed in the next major Test Kitchen release.
chef generate cookbook_fileno longer places the specified file in a "default" folder as these aren't needed in Chef Infra Client 12 and later.
chef generate repono longer outputs the full Chef Infra Client run information while generating the repository. Similar to the
cookbookcommand you can view this verbose output with the
Updated Components and Tools
Chef InSpec 4
Chef InSpec has been updated to 4.3.2 which includes the new InSpec AWS resource pack with 59 new AWS resources, multi-region support, and named credentials support. This release also includes support for auditing systems that use
ed25519 SSH keys.
Chef Infra Client 15
Chef Infra Client has been updated to Chef 15 with 8 new resources, target mode prototype functionality,
ed25519 SSH key support, and more. See the Chef Infra Client 15 Release Notes for more details.
Fauxhai has been updated from 6.11 to 7.3. This removes all platforms that were previously marked as deprecated. So if you've noticed deprecation warnings during your ChefSpec tests, you will need to update those specs for the latest supported Faxhai platforms. This release also adds the following new platform releases for testing in ChefSpec:
- RHEL 6.10 and 8.0
- openSUSE 15.0
- CentOS 6.10
- Debian 9.8 / 9.9
- Oracle Linux 6.10, 7.5, and 7.6
Test Kitchen 2.2
Test Kitchen has been updated from 1.24 to 2.2.5. This update adds support for accepting the Chef Infra Client and Chef InSpec EULAs during testing, as well as support for newer
ed25519 format SSH keys on guests. The newer release does remove support for the legacy Librarian depsolver and testing of Chef Infra Client 10/11 releases in some scenarios. See the Test Kitchen Release Notes for additional details on this release.
Kitchen-ec2 has been updated to 3.0, which uses the newer
aws-sdk-v3 and includes a large number of improvements to the driver including improved hostname detection, backoff retries, additional security group configuration options, and more. See the kitchen-ec2 Changelog for additional details.
Kitchen-dokken has been updated to 2.6.9 with a new config option
pull_platform_image, which allows you to disable pulling the platform Docker image on every Test Kitchen converge / test. This is particularly useful for local platform image testing.
driver: name: dokken pull_platform_image: false