Here’s what happened in July across the Chef, Habitat, and InSpec open-source communities.
This month we released Chef Client 14.3, the newest release in the Chef 14 series. Chef 14.3 introduces the concept of preview resources, adds several new resources, and cleans up the shell_out
API.
What is a preview resource, you ask? As you know, over the last few years, we have been putting more resources into core Chef in order to provide a better “batteries included” experience. However, these resources are sometimes migrated from custom resources with a different API, which not only causes a naming conflict but compatibility problems. The preview resource concept allows these new resources to be overridden by their older, custom resource counterparts if their enclosing cookbooks are found in your run list, allowing you to control the speed of change. To use the new, out-of-the-box resources, upgrade your older cookbooks to avoid taking a dependency on cookbooks where legacy custom resources are found.
Accordingly, Chef Client 14.3 introduces several new resources as preview resources, notably chocolatey_config
, chocolatey_source
, powershell_package_source
, kernel_module
and ssh_known_hosts_entry
.
Chef Client 14.3 also deprecates the myriad of shell_out
methods and collapses them into one, which should make development of custom resources that need to interact directly with system commands far more straightforward.
Finally, we also released Chef 13.10, the latest in the Chef 13 series. Chef 13.10 is primarily a bugfix release yet also sets the foundation to be able to use Chef Workstation with Chef 13. A few changes need to be made to Chef Workstation in order for this to fully work, but we expect to make an announcement by next month’s community update.
We released Habitat twice during the month of July. The most important change is that, as of Habitat 0.58.0, your Habitat studio does not need to run as a privileged container! Habitat can now also export private packages in Habitat Builder to containers (or other targets) by means of the newly-added –auth flag.
We also published a couple of useful blog posts. In time for the Google Cloud Next conference last week, Stuart Paterson published a tutorial on how to use Habitat with Google Container Registry (GCR) and Google Kubernetes Engine (GKE). (Thanks to everyone who stopped by our booth at the conference to say hi.) And secondly, we are seeing many customers curious about how to package off-the-shelf (COTS) applications on Windows to improve their portability and reduce the dependency on old operating systems. Matt Wrock wrote a blog post on various strategies for tackling these older applications and will also be hosting a webinar on August 9th about this topic, so be sure to register for that today.
We released InSpec four times during the month of July, mostly for minor features and bugfixes. We now support writing controls against Alpine Linux packages as well as allowing the windows_feature
resource to test against DISM (Deployment Image Servicing and Management)-installed features.
Jerry Aldrich will be joining me on a webinar tomorrow to show off Cisco network device support in InSpec. Please register for that if you haven’t already!