Author:

John Keiser

John is a Principal Mad Scientist at Chef, has contributed code that will be worked around for years to nearly every piece of software Chef ships. Specific credits include chef-zero, chef-provisioning, and the ChefFS tools (knife diff, upload, and download).


ChefDK 0.8.0 Release

Ohai Chefs! Time for a shiny new ChefDK release :) ChefDK 0.8.0 is now available at https://downloads.chef.io/chef-dk/ on OS/X (including OS X 10.11, “El Capitan”), Red Hat Enterprise Linux, Windows, Ubuntu and Debian!

Read more

Update: Chef 12.4.3 Released

Update: We’ve just released 12.4.3, which fixes a couple of 12.4.2 regressions on Windows: The Windows chef installer was much bigger than 12.4.1 (it’s back down under 80MB). chef-client raised an error when run as a Windows service (bug) Details on the original release (12.4.

Read more

Chef Provisioning: Infrastructure As Code

Chef Provisioning is now a Release Candidate, included in the ChefDK version 0.3.4! This powerful new Chef featureset lets you idempotently create and converge machines, images, load balancers and other infrastructure, no matter where they are: cloud, bare metal, virtual machines, or containers. This is the next step in configuration management: Infrastructure as Code.

Read more
Posted in:

Chef Metal 0.2 Release

Introducing Chef Metal 0.2! Chef Metal is a framework that lets you manage your clusters with Chef the same way you manage machines: with recipes. Combined with the power of Chef, Metal’s machine resource helps you to describe, version, deploy and manage everything from simple to complex clusters with a common set of tools.

Read more
Posted in:

Chef Metal Alpha

An early Christmas present for you! We’ve been rethinking how Chef can be used to bootstrap machines and create test environments, and an early prototype–the chef-metal gem–has come out of that thinking. The long explanation is here.

Read more

mixlib-config 2.1

mixlib-config has a new minor release with save() and restore(). save will take any values the user has explicitly set and place them in a hash. This does not include defaults. A usage example with Chef::Config, which uses Mixlib::Config: [sourcecode language=”ruby”][/sourcecode] Chef::Config.log_level = ‘debug’ my_hash = Chef::Config.save # Returns { :log_level => ‘debug’ } Chef::Config.

Read more
Posted in:

chef-client -z: From Zero To Chef In 8.5 Seconds

In Chef 11.8, we’re excited to introduce local mode with `chef-client -z`.

Read more

mixlib-config 2.0

mixlib-config is getting an update! We use mixlib-config in Chef to drive the knife.rb and client.rb files (as well as Omnibus config). For a quick overview, to use mixlib-config in your project, you do something like this: [sourcecode language=”ruby”] require ‘mixlib/config’ module MyConfig extend Mixlib::Config default :log_level, ‘debug’ default :max_files, 10 end MyConfig.from_file(‘~/myconfig.

Read more

Turn it to 11: Upgrading From Chef 10

Editor’s Note: A previous version of this blog post recommended setting cookbook\_path to nil in the knife.rb file. That line has been removed, as it causes an error in newer version of knife/chef-client. Either do not set the cookbook\_path or do not set it to nil when following these instructions.

Read more