Distribution and Configuration System - version 2.0
released
What is DACS?
DACS, the Distribution and Configuration System, is a tool for
maintaining system configuration on multiple computers. It is similar
to other CCM (computer configuration management) tools such as bcfg2,
lcfg, puppet and the well known cfengine. However, it has some unique
features that makes it more than just a program which pushes files to
other hosts. It integrates:
The other systems I looked at in 2005 had minimal (or absent) support
for the key things I wanted in a configuration system:
- a database of information about systems that can be queried
- to generate configuration files (e.g. get the IP
addresses of the local NTP servers from the database and eliminate
hand maintainance, instead generate ntp.conf files).
- to generate lists of computer wiring
- to generate lists of assets
- to select hosts running a particular OS version
- the ability to track changes to the configuration system
- who did what change
- what files were changed and how
- when was the change made
- why was the change made
- the ability to validate and control access to the files in the CM system
- the ability to generate files in response to configuration
changes to keep them in sync with changes to the network
- the ability to quickly determine what services were lost
if a host failed
As I write this in January 2009, some of these items are present in
most of the CCM systems (e.g. hosts are allowed to have additional
information associated with them), but not all of the functions are
available. For example, version control still has an add-on feel in
most of the other systems rather than being a core part of the
functionality.
The key element in DACS is the use of the
"database"
as the repository of configuration knowledge. Once that is present
it makes a lot of other tasks easier and possible.
The manual includes sections on:
which I recommend you read if you are considering deploying DACS.
Licensing
Even though the current manual is missing a licensing section, tools
specific to DACS (dbreport, Rdist ...) are licensed under the
version 2 Gnu Public
License. At this writing, some of the third party tools used to
implement DACS (GNU Make, filepp, Robodoc, sed) are also GPL
licensed. Others (including svn, sudo) are under open source
licenses. rdist is usually supplied with your operating system but it
is available under a bsd license.
DACS - 2.0 is released January 10, 2009.
The manual for the 2.0 release of DACS is available in
in html form or
PDF format.
The software including the manual is available
at:
http://www.cs.umb.edu/~rouilj/DACS/DACS-2.0.tgz.
There is an elog forum and bug tracker at:
https://rouilj.dynamic-dns.net/dacs
for questions and support (this may be moving to a Trac instance at
some point in the future). Plus I can be reached via email at
rouilj+DACS at cs dot umb dot edu.
I would like the thank my documentation reviewers:
- Darlene Choontanom
- Devdas Bhagat <devdas at dvb.homelinux.org>
- Nate McKervey
DACS - 2.1 release activities as of April 2010.
After receiving some feedback from people deploying DACS, I am
working on updating the documentation and adding some auxiliary
programs such as bisect that makes it easier to find when a given
change was made to a file. Plus I am writing additional documentation
and examples to try to clear up some deployment misunderstandings.
You can see the release activities using the tracker link above.
Some DACS history
I authored a paper for
LISA
in 1994 with the assistance of Rick Martin on
"Config"
which deals with a mechanism for configuring and managing a number of
systems.
The software to implement config can be downloaded from here:
http://www.cs.umb.edu/~rouilj/config/config_tools-1.0.tgz.
In 2005 I was looking around for a CCM (computer configuration
management) system and couldn't find anything I liked.
So I dredged up Config again and fixed some of the annoying bugs
and added some features that people had implemented in the preceeding
10 years. My boss, Todd Underwood, urged me to rename it (since using
Google to search for "Config" was a lost cause). As a result it was
renamed it to DACS.