A hook which invokes chef-client in local mode (chef zero) on the provided configuration.


Inputs are attribute overrides. In order to format them correctly for consumption, you need to explicitly declare each top-level section as an input of type Json in your config resource.

Additionally, there is a special input named environment of type String that you can use to specify which environment to use when applying the config. You do not have to explicitly declare this input in the config resource.


If you need to capture specific outputs from your chef run, you should specify the output name(s) as normal in your config. Then, your recipes should write files to the directory specified by the heat_outputs_path environment variable. The file name should match the name of the output you are trying to capture.



A URL for a Git repository containing the desired recipes, roles, environments and other configuration.

This will be cloned into kitchen_path for use by chef.

kitchen_pathdefault /var/lib/heat-config/heat-config-chef/kitchen

Instance-local path for the recipes, roles, environments, etc.

If kitchen is not specified, this directory must be populated via user-data, another software config, or other “manual” method.