Provided by: chef_12.14.60-3ubuntu1_all 

NAME
chef-shell - The man page for the chef-shell command line tool.
chef-shell is a recipe debugging tool that allows the use of breakpoints within recipes. chef-shell runs
as an Interactive Ruby (IRb) session. chef-shell supports both recipe and attribute file syntax, as well
as interactive debugging features.
NOTE:
chef-shell is the new name for Shef as of Chef 11.x. chef-shell is backwards compatible and aside from
the name change, has the same set of functionality as with previous releases.
The chef-shell executable is run as a command-line tool.
MODES
chef-shell is tool that allows knife to be run using an Interactive Ruby (IRb) session. chef-shell
currently supports recipe and attribute file syntax, as well as interactive debugging features.
chef-shell has three run modes:
┌────────────┬───────────────────────────────────────┐
│ Mode │ Description │
├────────────┼───────────────────────────────────────┤
│ Standalone │ No cookbooks are loaded, and the run │
│ │ list is empty. This mode is the │
│ │ default. │
├────────────┼───────────────────────────────────────┤
│ Solo │ chef-shell acts as a chef-solo │
│ │ client. It attempts to load the │
│ │ chef-solo configuration file and JSON │
│ │ attributes. If the JSON attributes │
│ │ set a run list, it will be honored. │
│ │ Cookbooks will be loaded in the same │
│ │ way that chef-solo loads them. │
│ │ chef-solo mode is activated with the │
│ │ -s or --solo command line option, and │
│ │ JSON attributes are specified in the │
│ │ same way as for chef-solo, with -j │
│ │ /path/to/chef-solo.json. │
├────────────┼───────────────────────────────────────┤
│ Client │ chef-shell acts as a chef-client. │
│ │ During startup, it reads the │
│ │ chef-client configuration file and │
│ │ contacts the Chef server to get │
│ │ attributes and cookbooks. The run │
│ │ list will be set in the same way as │
│ │ normal chef-client runs. chef-client │
│ │ mode is activated with the -z or │
│ │ --client options. You can also │
│ │ specify the configuration file with │
│ │ -c CONFIG and the server URL with -S │
│ │ SERVER_URL. │
└────────────┴───────────────────────────────────────┘
OPTIONS
This command has the following syntax:
chef-shell OPTION VALUE OPTION VALUE ...
This command has the following options:
-a, --standalone
Use to run chef-shell in standalone mode.
-c CONFIG, --config CONFIG
The configuration file to use.
-h, --help
Shows help for the command.
-j PATH, --json-attributes PATH
The path to a file that contains JSON data.
Use this option to define a run_list object. For example, a JSON file similar to:
"run_list": [
"recipe[base]",
"recipe[foo]",
"recipe[bar]",
"role[webserver]"
],
may be used by running chef-client -j path/to/file.json.
In certain situations this option may be used to update normal attributes.
WARNING:
Any other attribute type that is contained in this JSON file will be treated as a normal
attribute. For example, attempting to update override attributes using the -j option:
{
"name": "dev-99",
"description": "Install some stuff",
"override_attributes": {
"apptastic": {
"enable_apptastic": "false",
"apptastic_tier_name": "dev-99.bomb.com"
}
}
}
will result in a node object similar to:
{
"name": "maybe-dev-99",
"normal": {
"name": "dev-99",
"description": "Install some stuff",
"override_attributes": {
"apptastic": {
"enable_apptastic": "false",
"apptastic_tier_name": "dev-99.bomb.com"
}
}
}
}
-l LEVEL, --log-level LEVEL
The level of logging that will be stored in a log file.
-s, --solo
Use to run chef-shell in chef-solo mode.
-S CHEF_SERVER_URL, --server CHEF_SERVER_URL
The URL for the Chef server.
-v, --version
The version of the chef-client.
-z, --client
Use to run chef-shell in chef-client mode.
AUTHOR
Chef
Chef 12.0 CHEF-SHELL(1)