cf-runagent [OPTION]... [FILE]


cf-runagent connects to a list of running instances of cf-serverd. It allows foregoing the usual cf-execd schedule to activate cf-agent. Additionally, a user may send classes to be defined on the remote host. Two kinds of classes may be sent: classes to decide on which hosts cf-agent will be started, and classes that the user requests cf-agent should define on execution. The latter type is regulated by cf-serverd's role based access control.


--help, -h

Print the help message

--background, -b

Parallelize connections (50 by default)

--debug, -d

Enable debugging output

--verbose, -v

Output verbose information about the behaviour of the agent

--dry-run, -n

All talk and no action mode - make no changes, only inform of promises not kept

--version, -V

Output the version of the software

--file, -f

Specify an alternative input file than the default

--define-class, -D

Define a list of comma separated classes to be sent to a remote agent

--select-class, -s

Define a list of comma separated classes to be used to select remote agents by constraint

--inform, -I

Print basic information about changes made to the system, i.e. promises repaired

--remote-options, -o

Pass options to a remote server process

--diagnostic, -x

Activate internal diagnostics (developers only)

--hail, -H

Hail the following comma-separated lists of hosts, overriding default list

--interactive, -i

Enable interactive mode for key trust

--timeout, -t

Connection timeout, seconds

--legacy-output, -l

Use legacy output format

--color, -C

Enable colorized output. Possible values: 'always', 'auto', 'never'. If option is used, the default value is 'auto'


CFEngine provides automated configuration management of large-scale computer systems. A system administrator describes the desired state of a system using CFEngine policy code. The program cf-agent reads policy code and attempts to bring the current system state to the desired state described. Policy code is downloaded by cf-agent from a cf-serverd daemon. The daemon cf-execd is responsible for running cf-agent periodically.

Documentation for CFEngine is available at


CFEngine is built on principles from promise theory, proposed by Mark Burgess in 2004. Promise theory is a model of voluntary cooperation between individual, autonomous actors or agents who publish their intentions to one another in the form of promises. A promise is a declaration of intent whose purpose is to increase the recipient's certainty about a claim of past, present or future behaviour. For a promise to increase certainty, the recipient needs to trust the promiser, but trust can also be built on the verification that previous promises have been kept, thus trust plays a symbiotic relationship with promises.

For an introduction to promise theory, please see


cf-runagent is part of CFEngine.

Binary packages may be downloaded from

The source code is available at


Please see the public bug-tracker at

GitHub pull-requests may be submitted to

RELATED TO cf-runagent…


Mark Burgess and CFEngine AS