Chef DK 2.0 Released

We’re delighted to announce the release of Chef DK 2.0. This release updates many of the tools included in Chef DK, which provides more features and functionality, and adds support for partner integrations.

Chef DK 2.0 contains Chef Client 13.2, and is the best way to develop, validate, and deploy Chef cookbooks. We’ve included the most up to date versions of our toolchain, and have made it easier than ever to build custom resources.

Some of the Chef DK 2 highlights include:

Chef Client 13.2

Chef Client 13 is the most delightful version of Chef Client available. We’ve taken what we’ve learned from many bug reports, forum posts, and conversations with our users, and made it safer and easier than ever to write great cookbooks. We’ve included a number of new resources that mean our most popular operating systems are better supported out of the box, and we’ve made it easier to write patterns that result in reusable, efficient code.

Chef Client 13.2 solves a number of issues that were reported in our initial releases of Chef Client 13, and we regard it as suitable for general use.

Artifactory Support

We’ve been working with our friends at JFrog to make using Artifactory as a cookbook repository as delightful as possible. We’re now shipping full Artifactory support in Policyfiles, Berkshelf and Stove. In both Berkshelf and Policyfiles, you can specify Artifactory as a source for cookbooks, and these tools will use Artifactory for dependency resolution. You can also upload cookbooks to Artifactory with Stove.

Chef Vault 3.1

Chef Vault 3.1 includes a number of optimizations and speed ups for large numbers of nodes. In most situations, we’ve seen at least 50% faster creation, update, and refresh operations, and much more efficient memory usage. We’ve also added a new “sparse” mode, which dramatically reduces the amount of network traffic that occurs as nodes decrypt vaults. A lot of the scalability work has been built and tested by our friends at Criteo.

Chef Vault 3.1 also makes it much easier to use provisioning nodes to manage vaults by using the public_key_read_access group, which is available in Chef server 12.5 onwards.

Foodcritic 11

Foodcritic 11 covers many of the patterns we removed in Chef Client 13, so you’ll get up-front notification that your cookbooks will no longer work with this release. In general, those patterns  enabled dangerous ways of writing cookbooks.  Ensuring you’re compliant with Foodcritic 11 means your cookbooks are safer with every version of Chef.

The release of Foodcritic 11 also marks the creation of the Foodcritic org on GitHub, which makes it easier to get involved with writing rules and contributing code. We are excited to start building more of a community around contributing rules for Foodcritic, and can’t wait to see what the community cooks up.

InSpec 1.30

Since the last release of ChefDK, InSpec has been independently released multiple times with a number of great enhancements including some new resources (rabbitmq_config, docker, docker_image, docker_container, oracledb_session), some enhancements to the Habitat package creator for InSpec profiles, and a whole slew of bug fixes and documentation updates.

Test Kitchen

We’re really pleased to announce the relaunch, after a lot of effort, of the Test Kitchen website The new version offers a much better experience for newcomers to Test Kitchen, and should make it easier for our contributors to provide content and improvements.

ChefDK 2 also ships the kitchen-hyperv driver by default, making it easier for users on Windows to test their cookbooks.

Get the Build

As always, you can download binaries directly from downloads.chef.io or by using the new mixlib-install command line utility available in ChefDK 0.19.6 or greater.

Author Thom May

Thom is an engineer on Chef's Community Engineering team, based in London. He works on Chef, ohai, cookbooks and pretty much anything else Chef has ever shipped.