Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

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

Merge pull request #2186 from jimis/xrg_double_stat

server_common: remove double stat() of file, on non-link paths
latest commit 444dd10502
@jimis jimis authored
Failed to load latest commit information.
3rdparty/peg-0.1.13 Fix typos found by codespell
cf-agent Merge pull request #2184 from kacfengine/nickanderson/redmine-7082
cf-execd Sanitise usage of getopt_long().
cf-key Sanitise usage of getopt_long().
cf-monitord Sanitise usage of getopt_long().
cf-promises Sanitise usage of getopt_long().
cf-runagent Sanitise usage of getopt_long().
cf-serverd server_common: remove double stat() of file, on non-link paths
cf-upgrade cf-upgrade: Fix out of tree builds
contrib Redmine #6401, #6402: Introduce proper systemd support in core.
docs Add missing copyright blurbs
examples Canonical JSON output: fix data_regextract cross-branch breakage
ext misc: Fix typos found by codespell
libcfnet Messages and comments.
libcompat Fix possible null pointer dereference if a platform doesn't have /proc.
libenv Redmine #6442: Revert branches that were prematurely merged.
libpromises Redmine #6994: Fix HPUX LMDB corruption due to non-unified file cache.
libutils Merge pull request #2172 from tzz/feature/canonical_json
m4 Do not pass --hard-dereference to GNU tar if not supported
misc Merge pull request #2139 from kacfengine/start-stop-daemon_pidfile
tests Merge pull request #2185 from kacfengine/hpux_WRITEMAP_mode
.gitignore obliterate CFWORKDIR (GLOBAL_C) and its usage in the main codebase.
.mailmap Coalesce Chris Dituri's author names in .mailmap
AUTHORS Fix typos found by codespell
BSDmakefile Add missing copyright blurbs
ChangeLog Redmine #6442: Revert branches that were prematurely merged.
GLOBALS GLOBALS: how to suppress mutability in CFEngine internals. Typo-fixes and a rephrase in
INSTALL Fix typos found by codespell
LICENSE Fix typos found by codespell Undo the uber-hack of redefining DIST_COMMON Clarify that files by default are GPLv3. Add missing copyright blurbs Add missing copyright blurbs Merge pull request #2081 from kacfengine/no_fds Export core version in configure_flags so we can check it downstream. Add missing copyright blurbs Add missing copyright blurbs

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, version 3.

All the files in this repository are licensed under GNU GPL version 3, unless stated otherwise in the copyright notice inside the particular file.

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.