knife-node(1) -- Manage the hosts in your infrastructure ======================================== ## SYNOPSIS __knife__ __node__ _sub-command_ _(options)_ ## DESCRIPTION Nodes are data structures that represent hosts configured with Chef. Nodes have a __name__, a String that uniquely identifies the node, __attributes__, a nested Hash of properties that describe how the host should be configured, a __chef\_environment__, a String representing the environment to which the node belongs, and a __run\_list__, an ordered list of __recipes__ or __roles__ that chef-client should apply when configuring a host. When a host communicates with a Chef Server, it authenticates using its __node\_name__ for identification and signs its reqests with a private key. The Server validates the request by looking up a __client__ object with a name identical to the __node\_name__ submitted with the request and verifes the signature using the public key for that __client__ object. __NOTE__ that the __client__ is a different object in the system. It is associated with a node by virtue of having a matching name. By default __chef-client__(8) will create a node using the FQDN of the host for the node name, though this may be overridden by configuration settings. ## NODE SUB-COMMANDS The following `node` subcommands are available: ## BULK DELETE __knife node bulk delete__ _regex_ _(options)_ Deletes nodes for which the name matches the regular expression _regex_ on the Chef Server. The regular expression should be given in quotes, and should not be surrounded with forward slashes (as is typical of regular expression literals in scripting languages). ## CREATE __knife node create__ _name_ _(options)_ Create a new node. Unless the --no-editor option is given, an empty node object will be created and displayed in your text editor. If the editor exits with a successful exit status, the node data will be posted to the Chef Server to create the node. ## DELETE __knife node delete__ _name_ _(options)_ Deletes the node identified by _name_ on the Chef Server. ## EDIT __knife node edit__ _name_ _(options)_ * `-a`, `--all`: Display all node data in the editor. By default, default, override, and automatic attributes are not shown. Edit the node identified by _name_. Like __knife node create__, the node will be displayed in your text editor unless the -n option is present. ## FROM FILE __knife node from file__ _file_ _(options)_ Create a node from a JSON format _file_. ## LIST __knife node list__ _(options)_ * `-w`, `--with-uri`: Show corresponding URIs List all nodes. ## RUN\_LIST ADD __knife node run_list add__ _name_ _run list item_ _(options)_ * `-a`, `--after ITEM`: Place the ENTRY in the run list after ITEM Add the _run list item_ to the node's `run_list`. See Run list ## RUN\_LIST REMOVE __knife node run_list remove__ _node name_ _run list item_ _(options)_ Remove the _run list item_ from the node's `run_list`. ## SHOW __knife node show__ _node name_ _(options)_ * `-a`, `--attribute [ATTR]`: Show only one attribute * `-r`, `--run-list `: Show only the run list * `-F`, `--format FORMAT`: Display the node in a different format. * `-m`, `--medium`: Display more, but not all, of the node's data when using the default _summary_ format Displays the node identified by _node name_ on stdout. ## RUN LIST ITEM FORMAT Run list items may be either roles or recipes. When adding a role to a run list, the correct syntax is "role[ROLE\_NAME]" When adding a recipe to a run list, there are several valid formats: * Fully Qualified Format: "recipe[COOKBOOK::RECIPE\_NAME]", for example, "recipe[chef::client]" * Cookbook Recipe Format: For brevity, the recipe part of the fully qualified format may be omitted, and recipes specified as "COOKBOOK::RECIPE\_NAME", e.g., "chef::client" * Default Recipe Format: When adding the default recipe of a cookbook to a run list, the recipe name may be omitted as well, e.g., "chef::default" may be written as just "chef" ## SEE ALSO __knife-client__(1) __knife-search__(1) __knife-role__(1) ## AUTHOR Chef was written by Adam Jacob with many contributions from the community. ## DOCUMENTATION This manual page was written by Joshua Timberman . Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License. ## CHEF Knife is distributed with Chef.