Thanks Luke, those are great answers. Great replies all around. We have over 60 internal puppet modules for our components, and I find myself cringing at the occasional new puppet-user mistake during code reviews (like an exec instead of the file type to create a symlink). I can't imagine how often I would cringe if it had all been written in a ruby-dsl. There are over 20 people committing at the company, so it's easier to code-review the puppet-dsl than it would be a ruby-dsl.
If it was just me responsible for configuration management and I was starting from scratch all over again, I'd use the fictional puppet ruby-dsl plain and simple. At least once a day a problem presents itself that isn't as easily solved with the puppet-dsl. Reimplementing the merge method as a function in stdlib...still seems like unnecessary abstraction to me. I genuinely hope your initial plan - way back when - of having a ruby-dsl as a layer below the puppet-dsl comes to be. I'll forever be pissed that the chef people couldn't have just contributed to a puppet ruby-dsl. > they want to can that compile phase; I haven't heard specific > discussion of that, though. I just assume people want to do things like be > able to edit files on the remote system, which is a huge difference from the > current workflow. Compiled catalogs have never been a problem in my experience. The client/system shouldn't be so important as to need to "edit" a local file. Central compilation without knowledge of client, beyond facts, keeps people honest. Plus central partial catalog caching with puppetdb will save cputime and trees. Systems should remain disposable at all times; it's a paradigm shift and some likely don't get it yet (imo). Though, I still think better integration of the file resource type and the file-modifiers is appropriate. http://projects.puppetlabs.com/issues/15301 ;) file { "/etc/sysctl.conf": ensure => present, content => template("sysctl/sysctl.conf.erb"), modifiers => true, } file_line { 'swappiness': path => '/etc/sysctl.conf', line => 'vm.swappiness 10', } Thanks for all you guys do, Ryan -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-dev?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
