CFEngine Community
C Shell M4 Yacc Emacs Lisp Makefile Other
Latest commit 863111d Apr 18, 2017 @nickanderson nickanderson committed on GitHub Merge pull request #2830 from nickanderson/ENT-3123
ENT-3123: Stop service cfengine3 status from warning on multiple httpd processes
Permalink
Failed to load latest commit information.
3rdparty/peg-0.1.13 Fix typos found by codespell Jan 2, 2015
cf-agent Fix 'instalation' typo in package promise logs Apr 6, 2017
cf-execd cf-execd: Add incorrect error check to email filter code. Jan 26, 2017
cf-key CFE-2525: Add missing pcre build flags to cf-key Dec 16, 2016
cf-monitord GenericAgentWriteHelp renamed and moved out of libpromises Nov 14, 2016
cf-promises GenericAgentWriteHelp renamed and moved out of libpromises Nov 14, 2016
cf-runagent GenericAgentWriteHelp renamed and moved out of libpromises Nov 14, 2016
cf-serverd MinGW does not provide sys/resource.h. Mar 3, 2017
cf-upgrade cf-upgrade: Fix out of tree builds Jan 9, 2015
contrib Add host info script Nov 19, 2016
docs Include the template files for extensions_template.[ch] in the source… Jun 16, 2015
examples Tidy example Feb 15, 2017
ext misc: Fix typos found by codespell Jan 2, 2015
libcfnet Do not redefine CF_MAXVARSIZE. Mar 8, 2017
libcompat Enabled osx in travis Mar 29, 2017
libenv Merge branch 'skreuzer/xen' (pull request #2746) Apr 18, 2017
libpromises Fix incorrect value range for string_head/tail functions. Apr 18, 2017
libutils Merge pull request #2824 from kacf/allow_current_user_symlinks Apr 12, 2017
m4 Improve readability. Sep 9, 2016
misc ENT-3123: Stop service cfengine3 status from warning on multiple http… Apr 18, 2017
tests Merge pull request #2829 from nickanderson/CFE-2615 Apr 18, 2017
travis-scripts Enabled osx in travis Mar 29, 2017
.gitignore Cleaned up .travis.yml and created travis-scripts folder Mar 29, 2017
.mailmap Coalesce Chris Dituri's author names in .mailmap Jan 8, 2014
.travis.yml Enabled osx in travis Mar 29, 2017
AUTHORS Fix typos found by codespell Jan 2, 2015
BSDmakefile Add missing copyright blurbs Sep 22, 2014
ChangeLog Update "getvalues()" entry Jan 23, 2017
GLOBALS GLOBALS: how to suppress mutability in CFEngine internals. Jul 25, 2014
HACKING.md Remove reference to redmine Dec 29, 2016
INSTALL Fix typos found by codespell Jan 2, 2015
LICENSE LICENSE: Fix a typo Sep 25, 2016
Makefile.am CFE-2449: put logs in /var/log and PID files in /var/run when using F… Apr 11, 2017
README.md CFE-2462: Add Travis-CI badge in Core. Sep 14, 2016
autogen.sh typo Sep 16, 2016
checkglobals.sh Add missing copyright blurbs Sep 22, 2014
configure.ac CFE-2449: put logs in /var/log and PID files in /var/run when using F… Apr 11, 2017
configure_flags.env.in Export core version in configure_flags so we can check it downstream. Mar 17, 2015
create_tarball.sh Add missing copyright blurbs Sep 22, 2014
splint-check.sh Add missing copyright blurbs Sep 22, 2014

README.md

Build Status

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.