Chef is a systems and cloud infrastructure automation framework that makes it easy to deploy servers and applications to any physical, virtual, or cloud location, no matter the size of the infrastructure. Each Chef organization is comprised of one (or more) workstations, a single server, and every node that will be configured and maintained by Chef. Cookbooks (and recipes) are used to tell Chef how each node in your organization should be configured. The chef-client (which is installed on every node) does the actual configuration.
From the beginning: Overview (long) | Overview (short) | Why Chef?
Key concepts: Workstations | The Chef Server | Nodes | Cookbooks | Attributes | Resources and Providers | LWRPs | Knife
Using Ruby: Just Enough Ruby for Chef
Try it out: (1) Sign up for Hosted Chef (click Get Chef) or Sign up for Private Chef (click Get Chef), then (2) Install Chef on a Workstation, (3) and then Bootstrap a Node
learnchef.opscode.com: Install a Workstation for Mac, for Linux, or for Windows | Use the Chef Repo | Converge a Node
What’s new: Chef 11.0
Here are some contributions from the Chef community:
Workflow: Berkshelf | Librarian | Spiceweasel
Development tools: test-kitchen | Food Critic | cucumber-chef | chef-workflow | chefspec | yard-chef | Cookbooks
Discussion: Guidelines | lists.opscode.com | Food Fight Show — Chat channels: chef | chef-hacking | openstack-chef
Plugins: Chef | Knife | Ohai | Report handlers | Ridley
Documentation Contribute to this documentation | Style Guide
The Basics: About the Workstation | The Chef Repository | Knife | Debug Recipes
Install: Install Chef on a Workstation | Bootstrap a Node | Create and Sync the Chef Repository
Knife: About Knife | Common Options | Working with Knife — Commands: bootstrap | client | configure | cookbook | cookbook site | data bag | delete | diff | download | environment | exec | index rebuild | list | node | raw | recipe list | role | search | show | ssh | status | tag | upload | user — Single Page: Knife Reference | Knife Quick Reference (image)
Plugins: About Plugins | Common Options | Custom Plugins | Authenticated Requests — Commands: azure | bluebox | ec2 | eucalyptus | google | hp | linode | openstack | rackspace | terremark | windows — Single Page: Knife Plugins Reference
Settings: knife.rb | metadata.rb
Tools: chef-shell (executable)
The basics: About the Chef Server | Server Components | Hosted Chef vs. Private Chef vs. Open Source Chef | Authentication and Authorization | Private Keys
Install: Sign up for Hosted Chef (click Get Chef) | Sign up for Private Chef (click Get Chef) | Install the Chef Server | Scenario: Install the Chef Server on a Virtual Machine
The Node Object: About Node Objects | Run-lists | Deep Merge
Search: About Search
Policy: About Policy | Data Bags | Environments | Roles
Manage: Hosted Chef
Settings: chef-server.rb
Tools: orgmapper | ctl-chef-server | private-chef-ctl
APIs: Cookbooks Site API | Chef Server API
The Basics: About Nodes | chef-client (agent) | The Chef Run | Ohai | Chef Solo | Debug Recipes
Install: Install Chef on a Node (Bootstrap) and knife bootstrap
Configure: Exception and Report Handlers
Tools: chef-client (executable) | chef-solo (executable) | chef-shell (executable)
The Basics: About Cookbooks | About Recipes | About Attribute Files
LWRPs: About LWRPs | Lightweight Resources | Lightweight Providers w/Chef Resources | Lightweight Providers w/Custom Ruby
Other Cookbook Components: About Definitions | About Files | About Libraries | About Cookbook Metadata | About Templates | About Versions
Community Cookbooks: Cookbooks Maintained by Opscode — Individual Cookbooks: chef_handler | iis | python | supervisor | ... more cookbooks
The Recipe DSL: About the Recipe DSL — Methods: attribute? | cookbook_name | data_bag | data_bag_item | platform? | platform_family? | recipe_name | registry_data_exists? | registry_get_subkeys | registry_get_values | registry_has_subkeys? | registry_key_exists? | registry_value_exists? | resources | search | tag | tagged? | untag | value_for_platform | value_for_platform_family — Single Page: Recipe DSL
Resources and Providers: About Resources and Providers | Common Functionality — Resources: breakpoint | chef_gem | cookbook_file | cron | deploy | directory | easy_install_package | env | erl_call | execute | file | gem_package | git | group | http_request | ifconfig | link | log | mdadm | mount | ohai | package | powershell_script | registry_key | remote_directory | remote_file | route | ruby_block | scm | script | service | subversion | template | user | yum_package — Single Page: Resources and Providers
Lightweight Resources: About Lightweight Resources | Common Functionality — Lightweight Resources Maintained by Opscode: apt | aws | bluepill | chef_handler | daemontools | djbdns | dmg | dynect | firewall | freebsd | gunicorn | homebrew | iis | maven | nagios | pacman | php | powershell | python | rabbitmq | riak | samba | sudo | supervisor | transmission | users | webpi | windows | yum — Single Page: Lightweight Resources