Provided by: chef_12.14.60-3ubuntu1_all bug

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)