Puppet: A configuration management tool
by koenvereeken on Jan.02, 2007, under Tech
The past month I have been playing with Puppet. It’s a configuration management tool that facilitates managing configuration resources on multiple machines. Especially when handling lots of machines which serve different purposes, it’s not that easy to keep your configuration data up to date.
Suppose you have a /etc/passwd file that should be the same on a certain amount of machines. First you have to make sure this file is present on these machines, then you have to monitor the consistency of this file on these machines and finally you have to make sure that, when having a new version of this file, it gets updated the same way and on all machines.
Also, there can be a necessity to restart some services when updating certain files, or executing some custom commands to make sure the new file is used. This, and unlimited more examples are the main features of a descent configuration management tool.
Puppet, (mainly) developed by Luke Kanies, has main advantages towards other configuration management tools (such as CFEngine, Bcfg2, …). Also, it’s easy to extend the features of puppet, while its developed in Ruby and works with modular types of configuration data.
I’ve been helping the Puppet community with searching for a way to get Puppet high available on a network of machines.
More about this can be read here.
Redhat is currently developing some tools which facilitate the configuration creation section of Puppet. When deploying a certain amount of services and configuration files, they can be easily converted to a puppet configuration file. This project is called Cft.











