>
Honest question; I've never understood why people have such a fixation on puppet-style tools.There are two things I want:
1. To describe the desired correct configuration as a directed, acyclic graph.
2. To have some automatic compare-and-repair mechanism regularly bring my systems to such a state.
If you don't have a good tool for those two requirements, you wind up reinventing it anyway.
Your small shell scripts start being littered with lots of checks for this and that file, if-thens and cases. Then they break when script 27 silently gets out of sync with script 42.
You realise one day that system configurations can be expressed as DAGs (possibly it's a new insight, perhaps you were reading ITIL documentation). And you begin to dream about a tool that can take a descriptive DAG and generate the correct shell scripts. You have now half reinvented puppet.
But the systems still get out of sync. So you start tinkering with a tool that periodically checks each system and reruns the correct script. Now you have to ensure that your scripts are all idempotent. All those if-thens and checks creep back in.
So now you begin to dream about a system that only generates the steps needed to close the gap between the DAG and the current state of the system.
Congratulations. You just reinvented the other half of puppet.