Chef

22
Chef systems integration framework

description

Chef is a great new way to install and configure services on a servers. It's written in Ruby and was released under an open source license in Jan 2009.Slides from my talk at the Melbourne Ruby Users Group

Transcript of Chef

Page 1: Chef

Chefsystems integration framework

Page 2: Chef

install,configure& control

... servers in your sleep

Page 3: Chef

BornMar 06, 2008

Page 4: Chef

ReleasedJan 05, 2009

Page 5: Chef

Apr 24, 2009

Funded

Page 6: Chef

Chef is a

pup with

BIG paws

Page 7: Chef

So what does it do?

Page 8: Chef

chef-client periodically contacts chef-server for instructions

Page 9: Chef
Page 10: Chef
Page 11: Chef

submits local system info collected with Ohai

authenticates via openid

runs recipes received from the server

chef-client

Page 12: Chef

keeps record of nodes in CouchDB

provides chef-client with a json file with recipes

has a copy of your cookbooks

chef-server

Page 13: Chef

Cookbooks

Page 14: Chef

Recipe details

Page 15: Chef

Attributes

Page 16: Chef

Templates

Page 17: Chef

Recipe

Page 18: Chef
Page 19: Chef

package "mysql-client" do package_name value_for_platform( [ "centos", "redhat", "suse" ] => { "default" => "mysql" }, "default" => "mysql-client" ) action :installend

r = gem_package "mysql" do version "2.7" action :nothingend

r.run_action(:install)

Using ruby in recipes

Page 20: Chef

testing for cookbooks?

Page 21: Chef

chef-client alternative that doesn’t require chef-server

used for installing chef server/client

chef-solo

Page 22: Chef

For more information

http://wiki.opscode.com/display/chef/Home