Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
CFEngine Community
C TeX C++ Emacs Lisp Shell Perl Other

This branch is 5340 commits behind cfengine:master

Merge pull request #570 from tzz/tzz/neilhwatson/apt-PATH-improvements abstract apt-get, aptitude, and dpkg calls
latest commit 2b6f8bca38
@tzz tzz authored
Failed to load latest commit information.
cf-agent Remove generic_agent:WarnAboutDeprecatedFeatures
cf-execd Remove generic_agent:WarnAboutDeprecatedFeatures
cf-gendoc Rename BodyTypeSyntax -> BodySyntax
cf-key Use logging_old.h for CfOut
cf-monitord Remove generic_agent:WarnAboutDeprecatedFeatures
cf-promises Remove generic_agent:WarnAboutDeprecatedFeatures
cf-runagent Remove generic_agent:WarnAboutDeprecatedFeatures
cf-serverd Remove generic_agent:WarnAboutDeprecatedFeatures
contrib Add bash completion script to contrib
docs Merge pull request #548 from tzz/tzz/redmine-2081-data-facilities
examples Remove license checking on all non-nova tools.
ext Rename libcfpub to libcompat (Redmine #2052)
libcfnet Get rid of CfDebug in libcfnet
libcompat Use getaddrinfo and friends whenever possible
libpromises Deglobalize CFLOG to locks
libutils Add SeqShuffle
m4 Introduce proper way of dealing with non-POSIX-compatible function de…
masterfiles Merge pull request #570 from tzz/tzz/neilhwatson/apt-PATH-improvements
tests Add function shuffle(2)
.gitignore Introduce proper way of dealing with non-POSIX-compatible function de…
.mailmap Update .mailmap with new entries
AUTHORS Add the actual list of authors to the AUTHORS file
BSDmakefile Fix syntax error in BSDmakefile
ChangeLog Update ChangeLog for new data functions
HACKING Small updates to and HACKING
INSTALL Update INSTALL to mention how to build docs
LICENSE Rename libcfpub to libcompat (Redmine #2052) Separate existing networking code, create libcfnet directory Small updates to and HACKING Detect and replace non-POSIX shell. Fix for HPUX Create BRANCH-branchpoint tag while creating new stable branch Add missing trailing newlines

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.

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 HACKING 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.