I am pleased to announce a new configuration management project: Augeas, a low-level configuration API and editing tool. Augeas' main goal is to make programmatic changes of configuration data on Linux/Unix systems simple and safe. The main stumbling stone for this is that configuration data is stored in numerous files in widely varying formats. This is both next to impossible to change and is valuable in many situations. Rather than demanding a radical change, Augeas adapts to this reality. Augeas parses configuration files in their native formats and transforms them into a tree. Configuration changes are made by manipulating this tree and saving it back into native config files (/etc/hosts, /etc/grub.conf, ...). The tree abstracts away all the pesky details that make editing config files with grep/sed/awk so challenging, and exposes config data uniformly, regardless of the format in which it is actually stored. With this approach, the programs/daemons relying on config files continue to work as they do today, and editing config files with Augeas can be interleaved with changing them by other means, from vi to existing perl scripts. What is it ? ============ Augeas consists of a C library and API, a command line tool to manipulate configuration from the shell, and language bindings for Ruby and Python. The file <-> tree transformations are driven by schema descriptions, one for each file format. Schemas essentially consist of regular expressions describing the file structure and instructions on how to map matches into the tree. The hope is that over time, the set of schemas becomes both complete and sufficiently widespread to provide a canonical tree view of common configuration data. Where can I find Augeas ======================= Augeas' website is http://augeas.net/ Downloads can be found at http://augeas.net/download/ To learn more, start with the introductory tour at http://augeas.net/tour.html Discussions around Augeas happen on augeas-devel, https://www.redhat.com/mailman/listinfo/augeas-devel Help wanted =========== Augeas is a reasonable proof-of-concept as of now; there are lots of things that need to be done, and that I would love for others to pitch in. Some of them are listed in the todo list at http://augeas.net/todo.html The most pressing issues right now though are * Enable your favorite config mgmt tool to use Augeas as the low-level config editing tool * Cover more config files and write schemes for them; even without writing actual schema, a discussion on augeas-devel on how config file X would best be mapped into the tree would be really useful. * Anything to improve the quality of the current implementation; I know I cut some corners in the initial implementation, and any review/patches to improve it would be useful. David _______________________________________________ et-mgmt-tools mailing list et-mgmt-tools@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/et-mgmt-tools