remotely Easier to build, but you have to provide the commands State based Describes the final state, tool determines the commands to run More complex knowledge to build, can do things like self heal, etc, often requires a smart agent on the remote system Tool Designs
source "ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-#{version}-p111.tar.gz" requires :ruby_dependencies end package :rails do description 'Ruby on Rails' gem 'rails' version '2.1.0' end
recipes 'deploy' end # source based package installer defaults source do prefix '/usr/local' archives '/usr/local/sources' builds '/usr/local/build' end end
Aim is to have a simple tool, and define a nice, elegant language for software installation Flexibility & extensibility, while having mundane decisions done for you Used by several other projects, spec coverage is high