knife deps¶
Use the knife deps
subcommand to identify dependencies for a node, role, or cookbook.
Options¶
Note
Review the list of common options available to this (and all) knife subcommands and plugins.
This subcommand has the following options:
--chef-repo-path PATH
- The path to the chef-repo. This setting will override the default path to the chef-repo. Default: same value as specified by
chef_repo_path
in client.rb. --concurrency
- The number of allowed concurrent connections. Default:
10
. --[no-]recurse
- Use
--recurse
to list dependencies recursively. This option can only be used when--tree
is set totrue
. Default:--no-recurse
. --remote
- Determine dependencies from objects located on the Chef server instead of in the local chef-repo. Default:
false
. --repo-mode MODE
- The layout of the local chef-repo. Possible values:
static
,everything
, orhosted_everything
. Usestatic
for just roles, environments, cookbooks, and data bags. By default,everything
andhosted_everything
are dynamically selected depending on the server type. Default:everything
/hosted_everything
. --tree
- Show dependencies in a visual tree structure (including duplicates, if they exist). Default:
false
.
Note
See config.rb for more information about how to add certain knife options as settings in the config.rb file.
Examples¶
The following examples show how to use this knife subcommand:
Find dependencies for a node
$ knife deps nodes/node_name.json
Find dependencies for a role
$ knife deps roles/role_name.json
Find dependencies for a cookbook
$ knife deps cookbooks/cookbook_name.json
Find dependencies for an environment
$ knife deps environments/environment_name.json
Find dependencies for a combination of nodes, roles, and so on
To find the dependencies for a combination of nodes, cookbooks, roles, and/or environments:
$ knife deps cookbooks/git.json cookbooks/github.json roles/base.json environments/desert.json nodes/mynode.json
Use a wildcard
A wildcard can be used to return all of the child nodes. For example, all of the environments:
$ knife deps environments/*.json
Return as tree
Use the --tree
option to view the results with structure:
$ knife deps roles/webserver.json
to return something like:
roles/webserver.json
roles/base.json
cookbooks/github
cookbooks/git
cookbooks/users
cookbooks/apache2
Pass knife deps output to knife upload
The output of knife deps
can be passed to knife upload
:
$ knife upload `knife deps nodes/*.json
Pass knife deps output to knife xargs
The output of knife deps
can be passed to knife xargs
:
$ knife deps nodes/*.json | xargs knife upload