Writing reusable, cross-platform manifests
Every system administrator dreams of a unified, homogeneous infrastructure, of identical machines all running the same version of the same OS. As in other areas of life, however, the reality is often messy and doesn't conform to the plan.
You are probably responsible for a bunch of assorted servers of varying age and architecture, running different kernels from different OS distributions, often scattered across different data centers and ISPs.
This situation should strike terror into the hearts of the sysadmins of the SSH in a for
loop persuasion, because executing the same commands on every server can have different, unpredictable, and even dangerous results.
We should certainly strive to bring older servers up-to-date and get working as far as possible on a single reference platform to make administration simpler, cheaper, and more reliable. But until we get there, Puppet makes coping with heterogeneous environments slightly easier.
How to do it…
Here...