So I have been learning CFEngine quite a while now. Being a Puppet guy, it was scary at first. I thought I would get lost in “Bundle”, “Body”, “promise”, “repair” and so on.
But, as always, the best way to learn a new technology (by the way CFEngine is the oldest of all config management tools) is to setup a home lab and try as many dirty things as you can. The more I am learning CFEngine, the greater the respect I feel towards it. It’s awesome and believe me or not: It’s really really simple to write a CFEngine policy, no harder than writing a Puppet manifest.
So wanted to share the policies I wrote for my home lab, including the interesting one: defining a cluster and pushing configs as per the cluster definition.
Checkout my github repo: https://github.com/soumyadipdm/cfengine_stuffs
Many more to come as I explore more and more.