[et-mgmt-tools] ANNOUNCE: Augeas - a configuration API

David Lutterkort dlutter at redhat.com
Thu Apr 17 20:07:34 UTC 2008


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




More information about the et-mgmt-tools mailing list