Skip to content

jamster/Quick-and-Dirty-Guide-to-Chef

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 

Repository files navigation

Quick and dirty Guide to Chef by Its Victims

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.

What is Chef (philosophy)

On the Chef site they say:

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.

What Chef is not

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.

The Ecosystem

  • Server
  • Client
  • Localhost (Cookbook Editing and Uploading)

Tools

  • Knife

Step By Step

Install the server:

  • (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

Install the client:

  • 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???)

Create local working Environment

  • 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

Back to the client:

  • Run chef-client to get the machine to "converge" to the recipe

Meta

Authors

  • Jason Amster [jayamster[AT]gmail.com]
  • ssteinerx [ssteinerx[AT]gmail.com]

Contributing

Once you've made your great commits:

  1. Fork This Guide
  2. Create a topic branch - git checkout -b my_branch
  3. Push to your branch - git push origin my_branch
  4. Create an Issue with a link to your branch
  5. That's it!

About

A collaborative document in order to explain the concepts of Chef and get the beginner up and running quickly and without pain

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published