Getting into chef


#1

Hi,

I’m very much taken with the promise of chef, but I’m finding it really hard to get into. I’ve got a server and client talking, but I could have set up about 20 whole servers manually in that time, and I still don’t seem to be anywhere useful. The rubygems install and bootstrap is messy and complicated - I’m looking forward to Ubuntu Lucid packages.

Now they’re running, the docs tell me that the repo doesn’t live the in the server, clients are not nodes, and clients live in the repo! What’s the server for if not to provide access to a repo for clients? How does a node talk to a server if it’s not a client? If clients are in the repo, how do nodes ever get started? If clients can talk to the repo, why do I need a server? This is all very confusing, and that’s just the getting started guide!

I’m finding the docs are good on detail, but I’m entirely missing a bigger picture of the structure and everyday practicalities of working with chef. Can anyone give me some better pointers?

Thanks,

Marcus

Marcus Bointon
Synchromedia Limited: Creators of http://www.smartmessages.net/
UK resellers of info@hand CRM solutions
marcus@synchromedia.co.uk | http://www.synchromedia.co.uk/


#2

Ohai,

I wrote some high level stuff about Chef on my blog:

http://kallistec.com/2010/01/23/the-chef-way/
http://kallistec.com/2010/02/01/the-chef-way-episode-2-chef-speak/

I guess I’ll need to update that second one.

To your questions,

  • A client is something like a user, but it has a RSA key instead of a password.
  • A node is an abstraction of the host running chef, with its attributes

Whether nodes are clients or nodes have one client (each) isn’t
really an interesting distinction to me, you can think of it either
way you like. The important part is that each node has a private key
that authorizes it to talk to the chef-server. The chef server keeps
the public key and other data about each client as client objects in
couchdb.

A repo is just your collection of cookbooks. It’s less of a big deal
now than it was in previous versions of chef, where standard practice
was to sync your whole collection of cookbooks via rsync rather than
uploading them individually via HTTP with knife.

HTH, let us know if you have follow-up questions.

Dan DeLeo

On Thu, Apr 22, 2010 at 2:38 AM, Marcus Bointon
marcus@synchromedia.co.uk wrote:

Hi,

I’m very much taken with the promise of chef, but I’m finding it really hard to get into. I’ve got a server and client talking, but I could have set up about 20 whole servers manually in that time, and I still don’t seem to be anywhere useful. The rubygems install and bootstrap is messy and complicated - I’m looking forward to Ubuntu Lucid packages.

Now they’re running, the docs tell me that the repo doesn’t live the in the server, clients are not nodes, and clients live in the repo! What’s the server for if not to provide access to a repo for clients? How does a node talk to a server if it’s not a client? If clients are in the repo, how do nodes ever get started? If clients can talk to the repo, why do I need a server? This is all very confusing, and that’s just the getting started guide!

I’m finding the docs are good on detail, but I’m entirely missing a bigger picture of the structure and everyday practicalities of working with chef. Can anyone give me some better pointers?

Thanks,

Marcus

Marcus Bointon
Synchromedia Limited: Creators of http://www.smartmessages.net/
UK resellers of info@hand CRM solutions
marcus@synchromedia.co.uk | http://www.synchromedia.co.uk/