chef-solo

Full Size Chef Puppet

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.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s