xenial (1) chef-shell.1.gz

Provided by: chef_12.3.0-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)