On Thu, 12 May 2016, Matt Garman wrote: > The only other one I have any experience with is CFEngine. I > tried---and I mean really tried---to get something going with > CFEngine3. I just couldn't get my head around it. The wacky DSL it > uses for expressing configs just wasn't intuitive to me; the whole > bootstrapping processes seemed to be overly-complex; I found the > documentation managed to be lengthy yet still lack real substance. We currently use puppet at work, but it's a situation I inherited and my colleagues are fine with it (and, truthfully, it does some things very well). That said, I used cfengine 1 then 2 and then 3 at prior gigs. The language for cfengine 3 is "backwards" from prior versions, but it's really powerful (much more so than puppet's in many cases), esp. its built-in recursion abilities. Bootstrapping cfengine is complex -- true. Documentation lengthy ... lack real substance -- often true. I've found the best tutorial for cfengine's language to be the standard cfengine library (cfengine_stdlib.cf). It shows some best practices and neat tricks that the documentation really doesn't explain. -- Paul Heinlein <> heinlein at madboa.com <> http://www.madboa.com/