Overview

From Cfwiki

Jump to: navigation, search

An Overview of Cfengine

Cfengine is the brainchild of Mark Burgess, Professor at Oslo University College. The project started in 1993 as part of a continuing research project.

Cfengine is designed to let you use configuration files to describe the desired state of a system, rather than describing what should be done to a system to reach that state. You can think of Cfengine configuration files as being in a very high level language - much higher level than Perl or shell scripts. For example, a single cfengine configuration file statement can result in hundreds of links being created, or the permissions of hundreds of files being set.

The idea of Cfengine is to create a single set of configuration files which describe the setup of all hosts on your network; a configuration policy that is deployed over a network. In a typical setup, Cfengine runs on every host, retrieves configuration data from the master server, and applies changes as needed.

Cfengine focuses upon a few key areas of basic system administration and provides a declarative language designed to remove if/then/else constructs. In this way the configuration files are shorter and more transparent.

Here are some tasks Cfengine can automate:

  • Checking and configuring network interfaces.
  • Creating, changing and deleting files.
  • Making and maintaining symbolic links.
  • Checking and setting file permissions.
  • Deleting 'junk' files lying around your systems.
  • Automated mounting of filesystems.
  • Controlling execution of scripts and shell commands.
  • Monitoring md5 file checksums against a database.
  • Checking daemons and restarting them if needed.
  • Configuring new installations according to standardized rules.
  • Duplicating systems readily.
  • Reverting unauthorized changes, whether malicious or not.


Where to go from here?

Cfengine is a very powerful tool and it can really simplify your life. But for people new to Cfengine it can be a steep learning curve, so be patient, it will take some time to get set up. We suggest that as you get set up, you take a look over this site, read some docs and articles, and/or join us in the #cfengine or #cfwiki channels on freenode IRC. You can also find more information on the newsgroups or the mailing lists and our Links page.


[Feel free to add a paragraph or rephrase this page]


Quick Links

Main Page - Overview - Glossary - Links - Articles - Wishlist - Tips, Tricks and Notes - Current Events
Interview - Support - Books - Help - Mascot - Motto - All Pages - Statistics - Cfwiki.org Changes

Personal tools