CFManager - A system management tool

What's CFManager?

CFManager is an attempt to provide a "complete" system management solution by putting together a bunch of standard and widespread tools.

CFManager is basically an implementation of NETCONF protocol using DMTF CIM as its data model.

CFManager consists of two main components:

  1. The agent. It consists of several functional blocks:
    1. NETCONF server that interacts with the manager. The NETCONF specifications allow the use of various transport protocols, but only the mandatory SSH support is implemented. NETCONF-over-SOAP may be implemented eventually. Additionally, if the agent is running at the same host as the manager, they may communicate via local (aka "Unix") sockets.
    2. Configuration file parser. The central idea of CFManager (which is in accordance with the spirit of NETCONF) is manipulating configuration files, not the state directly (as it is usually done in SNMP agents). The syntax for various configuration files, alongside with the mapping to/from the CIM data elements, is specified in the set of schema files.
    3. The monitor that watches the system for various events and may notify the manager accordingly.
    4. SNMP gateway.
  2. The manager. It interprets rules written as XML CIM policies and issues commands to NETCONF agents. As CIM policies are themselves a part of the CIM data model, the manager may be controlled by an agent which in its turn is controlled by the manager of a higher rank. A single manager may naturally control several agents, and a single agent may be controlled by the several managers, thanks to NETCONF locking mechanism.

CFManager is written mostly in Ada 2005 using the GNAT compiler, XMLAda and OpenToken libraries.

Ideologically CFManager owes to cfengine, quite a popular system management tool, but it shares no code with it, and actually has an at all different technological basis.

Supported platforms

Unlike cfengine, CFManager is not intended to cover all existing systems with their ideosyncrasies. Rather, we plan to support the most widely used systems, in particular: various flavours of Linux distributions (Debian, Slackware, Gentoo, ALT Linux in the first head, eventually Ubuntu and RedHat derivatives), NT-based Windows versions, NetBSD, OpenSolaris and Plan9 (in that order of priority). Other systems may, of course, be eventually supported, provided there appears enough interest in it.

Licensing Policy

CFManager is a free software. It will be distributed under the terms of GNU General Public License. Logo