Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

CFEngine Community

Octocat-spinner-32 3rdparty Redmine#2111: Bring in peg 0.13 under 3rdparty/ September 10, 2013
Octocat-spinner-32 cf-agent Redmine #5339: Fix available patches list being empty. April 10, 2014
Octocat-spinner-32 cf-execd Leak-fix: execd neglected to destroy its EvalContext. April 03, 2014
Octocat-spinner-32 cf-key Gives the ability to force key removal from lastseen March 27, 2014
Octocat-spinner-32 cf-monitord Add tags to the persistant classes database (cf_state) March 23, 2014
Octocat-spinner-32 cf-promises body common control: protocol_version March 12, 2014
Octocat-spinner-32 cf-runagent Possible uninitialised variable. March 12, 2014
Octocat-spinner-32 cf-serverd Use size_t where we should. April 09, 2014
Octocat-spinner-32 cf-upgrade Constify EvalContextVariableGet January 07, 2014
Octocat-spinner-32 contrib Add systemd service files April 08, 2014
Octocat-spinner-32 docs Update Doxyfile November 19, 2013
Octocat-spinner-32 examples examples/ show data container too April 17, 2014
Octocat-spinner-32 ext Harmonize uses of exit() December 23, 2013
Octocat-spinner-32 libcfnet Clarify comment. April 10, 2014
Octocat-spinner-32 libcompat Added memmem() replacement in libcompat, and simple tests. March 31, 2014
Octocat-spinner-32 libenv Redmine#5417: add "suse" class to existing SUSE and SuSE classes April 08, 2014
Octocat-spinner-32 libpromises Allow JsonParse to parse primitives at top level April 15, 2014
Octocat-spinner-32 libutils Allow JsonParse to parse primitives at top level April 15, 2014
Octocat-spinner-32 m4 Cosmetics November 19, 2013
Octocat-spinner-32 tests tests/acceptance/ automagic git bisect script. April 16, 2014
Octocat-spinner-32 .gitignore .gitignore: handle tests/acceptance/mock_package_manager April 10, 2014
Octocat-spinner-32 .mailmap Coalesce Chris Dituri's author names in .mailmap January 08, 2014
Octocat-spinner-32 AUTHORS Moved Andrew Stribblehill from a comment to Authors. Also changed a c… March 03, 2014
Octocat-spinner-32 BSDmakefile Fix syntax error in BSDmakefile April 17, 2012
Octocat-spinner-32 ChangeLog Remove some unneeded Changelog entries. They are in 3.5 already. April 10, 2014
Octocat-spinner-32 GLOBALS Classify global variables December 30, 2013
Octocat-spinner-32 Change "struct strlist" to StrList. January 22, 2014
Octocat-spinner-32 INSTALL update the INSTALL file to advise use of latest LMDB February 25, 2014
Octocat-spinner-32 LICENSE Rename libcfpub to libcompat (Redmine #2052) March 04, 2013
Octocat-spinner-32 Various files were missing from the make dist tarball. Also fixed som… April 01, 2014
Octocat-spinner-32 Update May 23, 2013
Octocat-spinner-32 Finally remove the nova symlink hack! (yey!) July 25, 2013
Octocat-spinner-32 Add script to list all globals found December 30, 2013
Octocat-spinner-32 master becomes 3.7 April 10, 2014
Octocat-spinner-32 Made PAM detection more resilient, and catching some more errors. November 07, 2013
Octocat-spinner-32 Various files were missing from the make dist tarball. Also fixed som… April 01, 2014
Octocat-spinner-32 Add missing trailing newlines March 10, 2013

CFEngine 3

CFEngine 3 is a popular open source configuration management system. Its primary function is to provide automated configuration and maintenance of large-scale computer systems.


Please see the INSTALL file for prerequisites and build instructions.


As per the LICENSE file, CFEngine Community is licensed under the Gnu General Public License GPL, version 3.

Example Usage

Hello World

The following code demonstrates simple CFEngine output through a reports promise.

body common control
  bundlesequence => { "run" };

bundle agent run
      "Hello, world";

The following policy code may be executed with cf-agent (the main CFEngine binary) as follows.

$ cf-agent/cf-agent
R: Hello, world


Please see the file.

Relationship to CFEngine 2

CFEngine 3 is not a drop-in upgrade for CFEngine 2 installations. It is a significantly more powerful version, but it is incompatible with the CFEngine 2 policy language.

The server part of CFEngine 3 supports the network protocol of CFEngine 2, so you may upgrade your installation gradually.

Something went wrong with that request. Please try again.