Skip to main content

chef-apply (executable)

[edit on GitHub]

chef-apply is an executable program that runs a single recipe from the command line:

  • Is part of Chef Workstation
  • A great way to explore resources
  • Is NOT how Chef is run in production

Options

This command has the following syntax:

chef-apply name_of_recipe.rb

This tool has the following options:

-e RECIPE_TEXT, --execute RECIPE_TEXT

Execute a resource using a string.

-l LEVEL, --log_level LEVEL

The level of logging to be stored in a log file.

-s, --stdin

Execute a resource using standard input.

-v, --version

The Chef Infra Client version.

-W, --why-run

Run the executable in why-run mode, which is a type of Chef Infra Client run that does everything except modify the system. Use why-run mode to understand why Chef Infra Client makes the decisions that it makes and to learn more about the current and proposed state of the system.

-h, --help

Show help for the command.

Examples

Run a recipe

Run a recipe named machinations.rb:

chef-apply machinations.rb

Install Emacs

Run:

sudo chef-apply -e "package 'emacs'"

Returns:

Recipe: (chef-apply cookbook)::(chef-apply recipe)
  * package[emacs] action install
    - install version 23.1-25.el6 of package emacs

Install nano

Run:

sudo chef-apply -e "package 'nano'"

Returns:

Recipe: (chef-apply cookbook)::(chef-apply recipe)
  * package[nano] action install
    - install version 2.0.9-7.el6 of package nano

Install vim

Run:

sudo chef-apply -e "package 'vim'"

Returns:

Recipe: (chef-apply cookbook)::(chef-apply recipe)
  * package[vim] action install
    - install version 7.2.411-1.8.el6 of package vim-enhanced

Rerun a recipe

Run:

sudo chef-apply -e "package 'vim'"

Returns:

Recipe: (chef-apply cookbook)::(chef-apply recipe)
  * package[vim] action install (up to date)