chef-solo

posted 4 years ago by Ben Cordero

![Full Size Chef Puppet](http://d13z1xw8270sfc.cloudfront.net/resize/52591/lat in_chef_25_inch_full_puppet.jpg/300/300/0/) Full Size Chef Puppet

The Chef hello world equivalency is not as straight forward as a shell redirection that is Puppet. But after teaching @crizzXe how to deploy an appliance that I've been working on I now have a good way to convey what's going on.

Workflow

The workflow is simple enough. On the system to be configured, the Node, run the Chef with a Recipe to prepare your server.

The recipes are stored as a git repository (or tarball checkout) [example].

# git clone git://github.com/bencord0/chef-solo-repo.git ~/tray

The chef programs will need to be installed.

# gem install chef

or, for the Gentoo inclined,

# emerge --autounmask-write chef  
# dispatch-conf  
# emerge chef

Cook it all together with

# chef-solo -c ~/tray/config/solo.rb -j ~/tray/config/node.json  
# cat /tmp/chef-solo.txt

Resources

Now, got to the Recipe DSL Reference, and flesh out cookbooks/default/recipies/default.rb with whatever else you need.

The initial learning curve is steep, but in less than 200 words I have distilled the essentials. Everything else is about extending the resources that are managed by chef, and changing configuration parameters.

Other infrastructure includes adding a chef-server (or puppetmaster) to add co-ordination and persistence to a farm of nodes.

Recent Posts

Feeds

Atom / RSS