knife-cookbook-site(1) -- Install and update open source cookbooks ======================================== ## SYNOPSIS __knife__ __cookbook site__ _sub-command_ _(options)_ ## COOKBOOK SITE SUB-COMMANDS `knife cookbook site` provides the following subcommands: ## INSTALL __cookbook site install COOKBOOK [VERSION]__ _(options)_ * `-D`, `--skip-dependencies `: Skip automatic installation of dependencies. * `-o`, `--cookbook-path PATH`: Install cookbooks to PATH * `-B`, `--branch BRANCH`: Default branch to work with [defaults to master] Uses git(1) version control in conjunction with the cookbook site to install community contributed cookbooks to your local cookbook repository. Running `knife cookbook site install` does the following: 1. A new "pristine copy" branch is created in git for tracking the upstream; 2. All existing cookbooks are removed from the branch; 3. The cookbook is downloaded from the cookbook site in tarball form; 4. The downloaded cookbook is untarred, and its contents commited via git; 5. The pristine copy branch is merged into the master branch. By installing cookbook with this process, you can locally modify the upstream cookbook in your master branch and let git maintain your changes as a separate patch. When an updated upstream version becomes available, you will be able to merge the upstream changes while maintaining your local modifications. Unless _--skip-dependencies_ is specified, the process is applied recursively to all the cookbooks _COOKBOOK_ depends on (via metadata _dependencies_). ## DOWNLOAD __knife cookbook site download COOKBOOK [VERSION]__ _(options)_ * `-f`, `--file FILE`: The filename to write to * `--force`: Force download deprecated cookbook Downloads a specific cookbook from the Community site, optionally specifying a certain version. ## LIST __knife cookbook site list__ _(options)_ * `-w`, `--with-uri`: Show corresponding URIs Lists available cookbooks from the Community site. ## SEARCH __knife cookbook site search QUERY__ _(options)_ Searches for available cookbooks matching the specified query. ## SHARE __knife cookbook site share COOKBOOK CATEGORY__ _(options)_ * `-k`, `--key KEY`: API Client Key * `-u`, `--user USER`: API Client Username * `-o`, `--cookbook-path PATH:PATH`: A colon-separated path to look for cookbooks in Uploads the specified cookbook using the given category to the Opscode cookbooks site. Requires a login user and certificate for the Opscode Cookbooks site. By default, knife will use the username and API key you've configured in your configuration file; otherwise you must explicitly set these values on the command line or use an alternate configuration file. ## UNSHARE __knife cookbook site unshare COOKBOOK__ Stops sharing the specified cookbook on the Opscode cookbooks site. ## SHOW __knife cookbook site show COOKBOOK [VERSION]__ _(options)_ Shows information from the site about a particular cookbook. ## DESCRIPTION The cookbook site, , is a cookbook distribution service operated by Opscode. This service provides users with a central location to publish cookbooks for sharing with other community members. `knife cookbook site` commands provide an interface to the cookbook site's HTTP API. For commands that read data from the API, no account is required. In order to upload cookbooks using the `knife cookbook site share` command, you must create an account on the cookbook site and configure your credentials via command line option or in your knife configuration file. ## EXAMPLES Uploading cookbooks to the Opscode cookbooks site: knife cookbook site share example Other -k ~/.chef/USERNAME.pem -u USERNAME ## SEE ALSO __knife-cookbook(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.