The purpose of this document is to provide a quick and dirty guide to Chef. It is an alternative to the currently existing wiki of documentation sprawl.
By no means should this document be considered to be a full resource on Chef; it is just for someone who kinda knows what Chef is to get up and running as quickly as possible.
This document was originally written by two Chef novices, to capture the hard-won lessons for new novices who get stuck while first trying to get Chef running and find the chef wiki overwhelming.
This is an open document; if you get stuck on Chef while following these instructions, please either file a ticket or fork, edit, and let us know to pull your changes over!
We want to keep the way paved for new users like us before we get all experienced up and forget all the things that made the other documentation difficult for us to use.
Chef is an open source systems integration framework built to bring the benefits of configuration management to your entire infrastructure. You write source code to describe how you want each part of your infrastructure to be built, then apply those descriptions to your servers. The result is a fully automated infrastructure: when a new server comes on line, the only thing you have to do is tell Chef what role it should play in your architecture.
Easy :) Idk, something here about what it's, not... I can't put my head around it yet, but this could be a good spot to dispel common misconceptions about what chef is.
- Server
- Client
- Localhost (Cookbook Editing and Uploading)
- Knife
- (Get a domain)
- Boot a machine (ami-2d4aa444 Lucid 32Bit for just server)
- Run included Bootstrap Script (bootstrap_ubuntu)
- Install chef-solo
- have chef solo bootstrap to chef server
- Boot a machine (ami-d86a88b1 Lucid 64Bit b/c it's gonna be used)
- Run included Bootstrap Script (bootstrap_ubuntu)
- Install chef-solo
- Have chef solo bootstrap to the chef client
- Register client with the server (Validation.pem)
- Tell the server which roles (via web-ui or via command line???)
- Install Chef
- Setup Knife
- Setup local machine as client
- Download opscode base cookbooks
- (Optionally commit to git)
- Edit (or not) cookbooks
- Push them to server
- Run chef-client to get the machine to "converge" to the recipe
- Jason Amster [jayamster[AT]gmail.com]
- ssteinerx [ssteinerx[AT]gmail.com]
Once you've made your great commits: