![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.
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
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.