Release Notes: Chef Development Kit 0.19 - 1.2¶
Chef Development Kit is released on a monthly schedule with new releases the third Monday of every month. Below are the major changes for each release. For a detailed list of changes see the Chef CHANGELOG.md
What’s New in 1.2¶
- The project.toml file, which can be used to execute local phases, now supports:
- An optional functional phase.
- New remote_file option to specify a remote project.toml.
- The ability to run stages (collection of phases).
- Fixed bug where the generated project.toml file did not include the prefix chef exec for some phases.
- Project git remotes will now update automatically, if applicable, based on the values in the cli.toml or options provided through the command-line.
- Project names specified in project config (cli.toml) or options provided through the command-line will now be honored.
Automate Workflow Adopts SSH for Cookbook Generation¶
The chef generate cookbook command now uses the SSH based job dispatch system as its default behavior. For more details on this new system and how to use it, see Job Dispatch Docs
FIPS (Windows and RHEL only)¶
- ChefDK now comes bundled with the Stunnel tool and the FIPS OpenSSL module for users who need to enforce FIPS compliance.
- Support for FIPS options in delivery CLI’s cli.toml was added to handle communication with the Automate Server when FIPS mode is enabled.
Notable Updated Gems¶
- berkshelf 5.2.0 -> 5.5.0
- chef 12.17.44 -> 12.18.31
- chef-provisioning 2.0.2 -> 2.1.0
- chef-vault 2.9.0 -> 2.9.1
- chef-zero 5.1.0 -> 5.2.0
- cheffish 4.0.0 -> 4.1.0
- cookstyle 1.1.0 -> 1.2.0
- foodcritic 8.1.0 -> 8.2.0
- inspec 1.7.2 -> 1.10.0
- kitchen-dokken 1.0.9 -> 1.1.0
- kitchen-vagrant 0.21.1 -> 1.0.0
- knife-windows 1.7.1 -> 1.8.0
- mixlib-install 2.1.9 -> 2.1.10
- ohai 8.22.1 -> 8.23.0
- test-kitchen 1.14.2 -> 1.15.0
- train 0.22.0 -> 0.22.1
- winrm 2.1.0 -> 2.1.2
What’s New in 1.1¶
New InSpec Test Location¶
To address bugs and confusion with the previous test/recipes location, all newly generated cookbooks and recipes will place their InSpec tests in test/smoke/default. This placement creates the association of the smoke phase in Chef Automate and the default Test Kitchen suite where the tests are run.
Default Docker image in kitchen-dokken is now official Chef image¶
New Test Kitchen driver caching mechanisms¶
Test Kitchen will automatically cache downloaded chef-client packages for use between provisions. For people who use the kitchen-vagrant driver to run Chef, it will automatically consume the new caching mechanism to share the client packages to the guest VM, meaning that you no longer have to wait for the client to download on every guest provision.
In addition, if the chef-client packages are already cached, then it is now possible to use Test Kitchen completely off-line.
Cookstyle 1.1.0 with new code linting Cops¶
Cookstyle has been updated from 0.0.1 to 1.1.0, which upgrades the RuboCop engine from 0.39 to 0.46, and enables several new cops. This will most likely result in Cookstyle warnings on cookbooks that previously passed.
Newly Disabled Cops:
- Style/RegexpLiteral in ‘tests’ directory
- All rails/* cops
Newly Enabled Cops:
New DCO tool included¶
We have included a new DCO command-line tool that makes it easier to contribute to projects like Chef that use the Developer Certificate of Origin. The tool allows you to enable/disable DCO sign-offs on a per repository basis and also allows you to retroactively sign off all commits on a branch. See https://github.com/coderanger/dco for details.
Notable Upgraded Gems¶
- chef 12.16.42 -> 12.17.44
- ohai 8.21.0 -> 8.22.0
- inspec 1.4.1 -> 1.7.2
- train 0.21.1 -> 0.22.0
- test-kitchen 1.13.2 -> 1.14.2
- kitchen-vagrant 0.20.0 -> 0.21.1
- winrm-elevated 1.0.1 -> 1.1.0
- winrm-fs 1.0.0 -> 1.0.1
- cookstyle 0.0.1 -> 1.1.0
What’s New in 1.0¶
We’re recognizing ChefDK’s continued stability with the honor of a 1.0 tag. There is nothing in this release that breaks backwards compatibility with previous installations of ChefDK: it is simply a formal recognition of the stability of the product.
- Foodcritic constraint updated to require v8.0 or greater.
- Supermarket Foodcritic rules are now disabled by default when you run chef generate cookbook.
The inspec command is now included in the PATH managed by ChefDK. Just run chef shell-init to update your PATH.
Knife OPC is now bundled with ChefDK adding chef server organization and user commands to knife
Notable Upgraded Gems¶
- chef 12.15.19 -> 12.16.42
- inspec 1.2.0 -> 1.4.1
- train 0.20.1 -> 0.21.1
- kitchen-dokken 1.0.3 -> 1.0.4
- kitchen-inspec 0.15.2 -> 0.16.1
- berkshelf 5.1.0 -> 5.2.0
- fauxhai 3.9.0 -> 3.10.0
- foodcritic 7.1.0 -> 8.1.0
What’s New in 0.19¶
New mixlib-install command allows you to quickly download Chef binaries. Run mixlib-install help for command usage.
- Deprecation of Github V1 backed project initialization.
- Initialization of Github V2 backed projects (delivery init --github). Requires Chef Automate server version 0.5.432 or above.
- Project name verification with repository name for projects with Source Control Management (SCM) integration.
- Increased clarity of the command structure by introducing the --pipeline alias for the --for option.
- Honor custom config on project initialization (delivery init -c /my/config.json).
- Build cookbook is now generated using the more appropriate chef generate build-cookbook on project initialization.
- Support providing your password non-interactively to delivery token via the AUTOMATE_PASSWORD environment variable (AUTOMATE_PASSWORD=password delivery token).
Notable Upgraded Gems¶
- chef 12.14.89 -> 12.15.19
- inspec 1.0.0 -> 1.2.0
- kitchen-dokken 1.0.0 -> 1.0.3
- knife-windows 1.6.0 -> 1.7.0
- mixlib-install 2.0.1 -> 2.1.1
- winrm 2.0.3 -> 2.1.0