Re: ANNOUNCE: Augeas - a configuration API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx
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@xxxxxxxxxxx
_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/et-mgmt-tools

[Index of Archives]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux