What is cfengine?
from http://www.cfengine.org :
---%<--- Cfengine, or the configuration engine is an autonomous agent and a middle to high level policy language and agent for building expert systems to administrate and configure large computer networks. Cfengine is designed to be a part of a computer immune system. It is ideal for cluster management and has been adopted for use all over the world in small and huge organizations alike. ---%<---
while http://cfwiki.org says:
---%<--- What is Cfengine? A set of tools that administers and configures computers according to the instructions in its configuration files, which describe the desired characteristics of system components using a high-level language. (Paraphrased from Aeleen Frisch, Essential System Administration, 3rd Edition, p. 921.)
This is a super-concise description. For more info, see The Cfwiki Cfengine Overview.
cfengine is controlled using a declarative language that allows you to describe the way you want various characteristics of your system to be configured. ---%<---
It is somewhat Prolog-like in that the language is declarative, rather than procedural.
It manages differences between related systems using a notion of classes. That allows you to distinguish between different flavours of Unix so that configuration is done differently on Debian versus SGI Irix. Classes also allow you to distinguish between hosts in YOUR environment that have different purposes, so that rules can be applied differently for database servers versus end-user workstations versus application servers.
cfengine and fai
There are plans to migrate FAI's cfengine-scripts over to cfengine2 (which adds a client/server-based model to cfengines capabilities), but there still needs some testing to be done.
To use cfengine2 in Your scripts, replace
in Your v1-scripts by
and run a normal install. For debugging, change -Kf to -vKf or add any of the debugging flags.
Please give us feedback. Either here, via the mailing-list or on irc.freenode.net / #fai