CFEngine on network appliances

CFEngine is working actively to bring our agent technology to devices in a universal way. Our agents take up very little space, and can be compiled on most modern device platforms. This opens the exciting possibility of having a uniform management framework for all your infrastructure. Currently, most proprietary device manufacturers do not allow us to install our agent on their devices, though in our labs we can test the future and achieve completely unform management across the full spectrum.

In the lab

Because CFEngine requires little in the way of dependencies, our lab environments are able to show how CFEngine can be installed directly on systems to configure them as fully fledged autonomous agents.

Device configuration is usually a simpler problem than custom host configuration, because dedicated devices are already limited to a well defined purpose, so there are no great challenges from on the modelling side. Configuration settings can usually be set like simple key-value pair substitution. In a CFEngine configuration this makes for a very simple documentation of desired state.

This is how we see the future of device management.

Workarounds in the field

Even though vendors currently prohibit the installation of cf-agent on their devices, CFEngine is flexible enough to work around this limitation: it is also possible to assign an ordinary networked host as a "minder" for a device -- and treat it as guest environment. This mimics the old agentless technologies like SNMP, etc.

We do this by communicating with the devices through a REST, remote XML or text interface. We use CFEngine's editing capabilities to ensure that configurations are maintained. This is a more fragile method of management, because it relies on external communication with the device.

Here are some examples

A Juniper router:


CFEngine configuration:

cf-agent runs:


A NetApp "ontap" device:


CFEngine configuration:

cf-agent runs:




Examples of devices


  • Cisco (CLI or XML) Juniper (CLI or XML


Load balancers

  • F5 BIG-IP (CLI or XML)
  • Cisco ACE (CLI or XML)



  • Blue Coat (CLI or XML)

WAN optimizers

  • Riverbed (CLI or XML)


Storage appliances

  • QNAP (agent installed)
  • NetApp (CLI or XML)
  • EMC (CLI or XML)


Future plans

In the future, we believe that all vendor devices will have to integrate into configuration frameworks if they are to survive in the marketplace. CFEngine is working with both customers and device suppliers to have our agent technology installed natively on these systems.

Do you want to support this effort? Contact us!