knife-essentials provides a number of useful knife commands that allow you to manipulate Chef
using a common set of verbs that work on everything that is stored in the Chef server.
knife diff cookbooks/apache
knife download roles data_bags cookbooks/emacs
knife upload apache
knife list data_bags/users
knife deps roles/base.json
cd cookbooks && knife show base*
More verbs will be added as time goes by.
PRINCIPLES
- Unified commands that work on everything
knife-essentials thinks verbs come first. There are only a few things you need to do with pretty
much everything in the system: you upload them, download them, look at them, edit them, list
them, diff them, and delete then.
knife-essentials provides a number of verb commands: +knife diff roles+ and +knife list roles+
among them. These commands work on all types of objects, as well. You can type +knife diff roles+, or
+knife diff data_bags/users/jkeiser.json+.
- Treat the Chef server is like your filesystem
knife-essentials treats the Chef server like a mirror of a Chef repository. Most of the stuff you
do with the Chef Server is based on your local repository–a set of files in directories like roles,
data_bags, cookbooks, etc. The Chef Server has objects that match them–in fact, you can upload and
download the files on your filesystem to change the file server.
This makes learning the knife commands easy, and makes important commands like diff, upload and
download extremely simple to do and easy to understand.
- Take context into account
When you’re in the roles directory, the system knows that’s what you are working with. Just type
+knife show base.json+ and it will show you the base role from the server. knife-essentials knows.
|