Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
CFEngine Community
C Shell Emacs Lisp Yacc C++ Perl Other
Failed to load latest commit information.
3rdparty/peg-0.1.13 Fix typos found by codespell
cf-agent Merge pull request #2213 from amousset/redmine7181-fix-context-update…
cf-execd Merge pull request #2277 from jimis/tls_options_broken-2
cf-key Fix tls_ciphers and tls_version in body common control.
cf-monitord Fix tls_ciphers and tls_version in body common control.
cf-promises Fix tls_ciphers and tls_version in body common control.
cf-runagent Fix tls_ciphers and tls_version in body common control.
cf-serverd Improve error messages.
cf-upgrade cf-upgrade: Fix out of tree builds
contrib contrib/cfengine.el: minor regex improvement for the macro syntax
docs Include the template files for extensions_template.[ch] in the source…
examples Prevent output test from attempting to modify live system files.
ext misc: Fix typos found by codespell
libcfnet Differentiate identical messages
libcompat Minor bugs revealed by trying to build with newer MinGW version.
libenv Merge pull request #2252 from jimis/systemd_symlink-redmine7297
libpromises Merge branch 'abbreviated_promises' (pull request #2282)
libutils Merge pull request #2304 from maciejmrowiec/master
m4 Redmine #7362: Fix asprintf/vasprintf being misdetected as compliant.
misc Redmine #7193: Rewrite init script in order to be much more robust.
tests Fix POSIX shell detection on Solaris.
.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 Changelog updates.
GLOBALS GLOBALS: how to suppress mutability in CFEngine internals.
HACKING.md Typo-fixes and a rephrase in HACKING.md
INSTALL Fix typos found by codespell
LICENSE Fix typos found by codespell
Makefile.am Reintroduce circular dependency workaround. Partial revert of 29cb917
README.md Clarify that files by default are GPLv3.
autogen.sh Fix POSIX shell detection on Solaris.
checkglobals.sh Add missing copyright blurbs
configure.ac Redmine #7193: Fix broken detection of init script location.
configure_flags.env.in Export core version in configure_flags so we can check it downstream.
create_tarball.sh Add missing copyright blurbs
splint-check.sh Add missing copyright blurbs

README.md

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.

Installation

Please see the INSTALL file for prerequisites and build instructions.

License

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
{
  reports:
    cfengine::
      "Hello, world";
}

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

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

Contributing

Please see the HACKING.md 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.