CFManager - A system management tool
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:
- The agent. It consists of several functional blocks:
- 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.
- 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
- The monitor that watches the system for various events and may notify the manager
- SNMP gateway.
- 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.
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,
ALT Linux in the first head, eventually Ubuntu and
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
CFManager is a free software. It will be distributed under the terms of GNU General Public License.