Scroll to navigation

CF-RUNAGENT(8) System Manager's Manual CF-RUNAGENT(8)


cf-runagent - activate cf-agent on a remote host


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 value
Parallelize connections (50 by default)
--debug, -d
Enable debugging output
--verbose, -v
Output verbose information about the behaviour of cf-runagent
--log-level, -g value
Specify how detailed logs should be. Possible values: 'error', 'warning', 'notice', 'info', 'verbose', 'debug'
--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 value
Specify an alternative input file than the default. This option is overridden by FILE if supplied as argument.
--define-class, -D value
Define a list of comma separated classes to be sent to a remote agent
--select-class, -s value
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 value
--diagnostic, -x
--hail, -H value
Hail the following comma-separated lists of hosts, overriding default list
--interactive, -i
Enable interactive mode for key trust
--timeout, -t value
Connection timeout, seconds
--color, -C value
Enable colorized output. Possible values: 'always', 'auto', 'never'. If option is used, the default value is 'auto'
--timestamp, -l
Log timestamps on each line of log output
--log-modules, -? value
Enable even more detailed debug logging for specific areas of the implementation. Use together with '-d'. Use --log-modules=help for a list of available modules
--remote-bundles, -? value
Bundles to execute on the remote agent


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


cf-promises(8), cf-agent(8), cf-serverd(8), cf-execd(8), cf-monitord(8), cf-runagent(8), cf-key(8)


Mark Burgess and AS
CFEngine System Administration