Provided by: chef_13.8.7-4_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)