Enabling Chef Zero in client.rb: chef_zero.enabled vs. local_mode


The config.rb documentation shows, that there are the following configuration parameters:


Enable chef-zero. This setting requires local_mode to be set to true. Default value: false. For example:

chef_zero.enabled true


Run the chef-client in local mode. This allows all commands that work against the Chef server to also work against the local chef-repo. For example:

local_mode true

I don’t quite get this — doesn’t local_mode true enable Chef Zero? Would the following configuration in a client.rb make sense at all?

local_mode          true
chef_zero.enabled   false


It will, if you read carefully above the chef_zero.enabled line there’s:

This setting requires local_mode to be set to true.

Best reason I can tell is that local mode is a rewrite of zero inside chef-client, with some small changes. Main idea is that all chef-client, chef-zero and chef-solo model should work with just chef-client now, depending on the configuration you give to chef-client. (This is still a work in progress for small bits and updating the documentation accordingly IIRC)