divisionbyzero

question . authority

From cfEngine to Puppet: A retrospective

For several years I’ve managed to bend cfEngine 2.0′s architecture to my will.  Being an experienced Perl programmer, I was able to abuse the configuration language snytax in order to accomplish a number of strange things including Copy Back and automated management of OSSEC-HIDS.  However, there comes a point when the managing the cfengine configs becomes a burdensome and incredibly unmanageable.   I mean, sure, I know what they do.  How will any of my co-workers understand them?

After several colleagues recommending Puppet, I hesitantly began the slow, brain fscking process of:

  1. Understanding exactly what I had accomplished with cfEngine.
  2. Understanding Ruby (ugh, I’m so thankful for Perl)
  3. Understanding how to express my cfengine feelings in a way Puppet will understand without hurting it’s feelings
  4. Profit.

Read the rest of this entry »