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

Mike MacCana mmaccana at au1.ibm.com
Fri Apr 18 02:02:15 UTC 2008


On Thu, 2008-04-17 at 13:07 -0700, David Lutterkort wrote:

> 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. 

The amount of effort spent creating and re-creating tools to parse,
edit and transform a variety of unnecessary, unstructured data formats
over the last 30 years, and to continue doing this for the next 10
years, is less than that required to:

* write an RFC for a standard format

* create patches to applications to support that format

* create an editor for that format (which handles data - settings,
values, parents and children, rather than presentation related info like
lines and paragraph)

* package those changes in a distribution

Using 'widely varying formats' is not 'valuable'. It's an unfortunate
accident that wastes everyone's time with various horrible bandaid
solutions, and occasionally makes destroying user data an 'accepted
limitation' of tools like system-config-named.

Mike



> 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 at redhat.com
> https://www.redhat.com/mailman/listinfo/et-mgmt-tools


Cheers,

Mike

________________________________________________
Mike MacCana
Technical Specialist
Linux Services 

IBM Global Services
Level 14, 60 City Rd
Southgate Vic 3000 

Phone: +61-3-8656-2138
Fax: +61-4-8656-2423
Email: mmaccana at au1.ibm.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/et-mgmt-tools/attachments/20080418/7f4be60b/attachment.htm>


More information about the et-mgmt-tools mailing list