On May 24, 2010, at 6:38 PM, Christophe Kalt wrote: > On 2010-05-22, Joe McDonagh wrote: > On 05/22/2010 11:45 AM, Yves Dorfsman wrote: > [...] > This is why I chose puppet. Puppet's DSL is made of awesome. > > Ah yes, talk about something that makes no sense to me. Why don't > these tool just build upon an existing language?? > cfengine, I can probably understand, it's old enough, but the recent > ones? > Why should I have to deal with yet another language?
Puppet's DSL is declarative and designed for that problem space. Using a declarative language is a big win here; tell the computer what you want the system state to be and let it figure out how to get there. Any other declarative language I know would be painful. When I was originally looking at tools (a few years ago), Puppet's DSL looked much better than any tools that used XML. Or from the person who made that decision: http://projects.puppetlabs.com/projects/puppet/wiki/Frequently_Asked_Questions#Why+does+Puppet+have+its+own+language ? http://permalink.gmane.org/gmane.comp.sysutils.puppet.devel/210 If you'd rather use a system that's built upon an existing language, there's Chef, which uses Ruby as its configuration language. http://wiki.opscode.com/display/chef/Recipes Though, I must say, the basic Chef stuff looks a lot like puppet to me, either way the library is probably more effort to learn than the syntax. Chef: file "/tmp/create_me" do mode 0644 action :create notifies :reload, resources(:service => "apache") end Puppet: file { "/tmp/create_me": mode => 0644, ensure => present, notify => Service["apache"] } _______________________________________________ Discuss mailing list Discuss@lopsa.org http://lopsa.org/cgi-bin/mailman/listinfo/discuss This list provided by the League of Professional System Administrators http://lopsa.org/