Today we’re thrilled to announce the release of Chef 14, the fastest and easiest to use Chef version yet. With nearly 30 new resources added since Chef 13, you can quickly get started using Chef for all of your infrastructure automation tasks immediately. Expanded out-of-the-box support for both Windows and macOS eliminates the need for external cookbooks to manage these operating systems. Finally, Chef 14 benefits from the performance enhancements in Ruby 2.5, running up to 10% faster than previous versions.
You can download Chef 14 here. Also, watch a recording of a live webinar that was presented on Wednesday, April 4 with Chef software development engineer Tim Smith where he’ll cover all the changes since Chef 13.
Summary of What’s New in Chef 14
A major objective over the last few years has been to include more resources, or configuration items, in core Chef. When Chef was first released back in 2009, it provided a declarative automation framework for performing basic systems tasks like installing packages or managing files. Higher-order operations, like managing software repositories, tuning kernel parameters, or managing operating system subscriptions were only available through external cookbooks. While developing those cookbooks allowed us to iterate on these tasks independent of the Chef Client release cadence, once the code matured, it was time to add it back to core Chef.
In Chef 14, we have added nearly thirty resources to core Chef with the goal of allowing you to do nearly any basic systems management function without the need for an external cookbook. The resources fall into the following areas:
- Windows support: There is no longer any need to use a separate windows cookbook in order to get access to Windows management resources. This has been a multi-year project for us and required us to modernize and rewrite much of the logic in these resources, but the payoff is worth it. For example, you can now join Chef-managed Windows servers to an Active Directory domain, install packages from DISM or PowerShell, set up AutoRun items, install printers, and many more tasks, all with just a few lines of Chef code and no external dependencies.
- macOS management: Many companies, including Facebook’s Client Platform Engineering team, are now managing their desktop macOS fleets using Chef. (In the spirit of drinking our own champagne, Chef IT recently switched to doing this, too.) Tasks like installing packages from DMG images or Homebrew casks and taps, and management of macOS user profiles are possible without a dependency on the macos cookbook. Speaking of that cookbook, it is now maintained by our partners at Microsoft and replaces the old mac_os_x cookbook. Microsoft will be speaking at ChefConf 2018 on this topic.
- RedHat Enterprise Linux subscription management: It’s now possible to manage your Red Hat Systems Manager (RHSM) subscription and entitlements using core Chef, as well as ensuring that specific errata are installed on a server. This helps our many customers with patch management use cases, particularly for remediating fleetwide vulnerabilities like Meltdown or Spectre.
- Utility functions: Resources that previously existed in cookbooks to perform tasks like managing swap files, kernel tuning (sysctl), setting the system hostname, generating OpenSSL keys, or managing sudo configuration are all in core Chef.
Finally, there is the usual plethora of minor changes and bugfixes that accompany a major release like this. A few that are worth calling out:
- The yum and DNF resources have been completely overhauled to be more performant.
- We have disabled Ohai’s passwd plugin by default to avoid enumerating users’ entire directories on AD or LDAP-connected systems.
- node[“name”] and node[“chef_environment”] are now top-level attributes. This improves syntactic consistency and thus readability of your recipe code. (You can still use the old method syntax but the attribute format is now recommended.)
- Ohai now reports on Windows systems’ product and system type (e.g. “Datacenter”) by default.
Many resources also have additional actions and properties that we will not enumerate here. They will be covered by Tim during the webinar.
Thanks for using Chef
In the nine years since Chef was first announced, you’ve downloaded it nearly 10 million times, and over 40,000 companies use Chef. We couldn’t have made it this far without your enthusiasm, your contributions of time and code, and support. We hope you enjoy Chef 14.