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
By John Keiser
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 moreUpdate: Chef 12.4.3 Released
By John Keiser
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 moreChef Provisioning: Infrastructure As Code
By John Keiser
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 moreChef Metal 0.2 Release
By John Keiser
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 moreChef Metal Alpha
By John Keiser
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 moremixlib-config 2.1
By John Keiser
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 morechef-client -z: From Zero To Chef In 8.5 Seconds
By John Keiser
In Chef 11.8, we’re excited to introduce local mode with `chef-client -z`.
Read moremixlib-config 2.0
By John Keiser
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 moreTurn it to 11: Upgrading From Chef 10
By John Keiser
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