Provided by: chef_11.8.2-2_all 

NAME
knife-upload - The man page for the knife upload subcommand.
The knife upload subcommand is used to upload roles, cookbooks, environments, and data bags to the server
from the current working directory in the chef-repo. This subcommand is often used in conjunction with
knife diff, which can be used to see exactly what changes will be uploaded, and then knife download,
which does the opposite of knife upload.
Common Options
The following options can be run with all Knife sub-commands and plug-ins:
-c CONFIG, --config CONFIG
The configuration file to use.
--color
Indicates that colored output will be used.
-d, --disable-editing
Indicates that $EDITOR will not be opened; data will be accepted as-is.
--defaults
Indicates that Knife will use the default value, instead of asking a user to provide one.
-e EDITOR, --editor EDITOR
The $EDITOR that is used for all interactive commands.
-E ENVIRONMENT, --environment ENVIRONMENT
The name of the environment. When this option is added to a command, the command will run only
against the named environment.
-f FILE_NAME, --file FILE_NAME
Indicates that the private key will be saved to a specified file name.
-F FORMAT, --format FORMAT
The output format: summary (default), text, json, yaml, and pp.
-h, --help
Shows help for the command.
-k KEY, --key KEY
The private key that Knife will use to sign requests made by the API client to the server.
--no-color
Indicates that color will not be used in the output.
-p PASSWORD, --password PASSWORD
The user password.
--print-after
Indicates that data will be shown after a destructive operation.
-s URL, --server-url URL
The URL for the server.
-u USER, --user USER
The user name used by Knife to sign requests made by the API client to the server. Authentication
will fail if the user name does not match the private key.
-v, --version
The version of the chef-client.
-V, --verbose
Set for more verbose outputs. Use -VV for maximum verbosity.
-y, --yes
Indicates that the response to all confirmation prompts will be "Yes" (and that Knife will not ask
for confirmation).
Syntax
This argument has the following syntax:
$ knife upload [PATTERN...] (options)
Options
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 as specified by chef_repo_path in config.rb.
--concurrency
The number of allowed concurrent connections. Default: 10.
--[no-]diff
Indicates that only new and modified files will be uploaded. Set to false to upload all files.
Default: true.
--[no-]force
Use --force to upload roles, cookbooks, etc. even if the file in the directory is identical (by
default, no POST or PUT is performed unless an actual change would be made). Default: --no-force.
--[no-]freeze
Indicates that a cookbook cannot be modified; any changes to this cookbook must be included as a
new version. Only the --force option can override this setting. Default: false.
-n, --dry-run
Indicates that no action is taken and that results are only printed out. Default: false.
--[no-]purge
Use --purge to delete roles, cookbooks, etc. from the server if their corresponding files do not
exist in the chef-repo. By default, such objects are left alone and NOT purged. Default:
--no-purge.
--[no-]recurse
Use --no-recurse to disable uploading a directory recursively. Default: --recurse.
--repo-mode MODE
The layout of the local chef-repo. Possible values: static, everything, or hosted_everything. Use
static for just roles, environments, cookbooks, and data bags. By default, everything and
hosted_everything are dynamically selected depending on the server type. Default: everything /
hosted_everything.
Examples
To upload the entire chef-repo to the server, browse to the top level of the chef-repo and enter:
$ knife upload
or from anywhere in the chef-repo, enter:
$ knife upload /
To upload the cookbooks/ directory to the server, browse to the top level of the chef-repo and enter:
$ knife upload cookbooks
or from anywhere in the chef-repo, enter:
$ knife upload /cookbooks
To upload the environments/ directory to the server, browse to the top level of the chef-repo and enter:
$ knife upload environments
or from anywhere in the chef-repo, enter:
$ knife upload /environments
To upload an environment named "production" to the server, browse to the top level of the chef-repo and
enter:
$ knife upload environments/production.json
or from the environments/ directory, enter:
$ knife upload production.json
To upload the roles/ directory to the server, browse to the top level of the chef-repo and enter:
$ knife upload roles
or from anywhere in the chef-repo, enter:
$ knife upload /roles
To upload all cookbooks that start with "apache" and belong to the "webserver" role, browse to the top
level of the chef-repo and enter:
$ knife upload cookbooks/apache\* roles/webserver.json
Use the output of knife deps to pass a command to knife upload. For example:
$ knife upload `knife deps nodes/*.json`
AUTHOR
Opscode
Chef 11.8.0 KNIFE-UPLOAD(1)