C Shell M4 Emacs Lisp Yacc Makefile Other
Latest commit 3f52ffb Dec 8, 2017 @jimis jimis Merge pull request #2962 from craigcomstock/ENT-3455-acl-logging
ENT-3455: Improve logging of ACL errors
Permalink
Failed to load latest commit information.
3rdparty/peg-0.1.13 Fix typos found by codespell Jan 2, 2015
cf-agent ENT-3455: Improve logging of ACL errors Dec 6, 2017
cf-execd Merge pull request #2927 from nickanderson/CFE-2406 Oct 27, 2017
cf-key Merge pull request #2903 from skreuzer/key Nov 16, 2017
cf-monitord Update maintainer to Northern.tech. Jul 14, 2017
cf-net Update maintainer to Northern.tech. Jul 14, 2017
cf-promises CFE-2696: Fix segfault when cf-promises -p is called against a file w… Nov 20, 2017
cf-runagent Update maintainer to Northern.tech. Jul 14, 2017
cf-serverd ENT-3379: Properly reverse-resolve DNS names longer than 63 chars. Oct 27, 2017
cf-upgrade Update maintainer to Northern.tech. Jul 14, 2017
contrib Make cf-locate more unprivledged user friendly Dec 7, 2017
docs Update maintainer to Northern.tech. Jul 14, 2017
examples Get the hostname from hostname -f Nov 1, 2017
ext Update maintainer to Northern.tech. Jul 14, 2017
libcfnet Do not segfault if policy_server.dat only contains whitespaces and/or… Nov 14, 2017
libcompat Update maintainer to Northern.tech. Jul 14, 2017
libenv ENT-3483: Do not tag large volatile variables for inventoy Dec 1, 2017
libpromises CFE-2084: Load multiple augments from "augments" string array in def.… Dec 5, 2017
libutils Remove dead code. Nov 16, 2017
m4 Remove dead code. Nov 16, 2017
misc ENT-3395: cf-execd systemd service now only kills cf-execd itself Oct 4, 2017
tests Merge pull request #2955 from Lex-2008/ENT-3430-copy_from Dec 6, 2017
travis-scripts Merge pull request #2955 from Lex-2008/ENT-3430-copy_from Dec 6, 2017
.gitignore CFE-2493: (cf-net) connect command Apr 28, 2017
.mailmap Coalesce Chris Dituri's author names in .mailmap Jan 8, 2014
.travis.yml ENT-3430: Add a script to run cf-serverd tests with various versions Dec 5, 2017
AUTHORS Fix typos found by codespell Jan 2, 2015
BSDmakefile Update maintainer to Northern.tech. Jul 14, 2017
ChangeLog Update "getvalues()" entry Jan 23, 2017
GLOBALS GLOBALS: how to suppress mutability in CFEngine internals. Jul 25, 2014
HACKING.md HACKING.md: do not end log messages with punctuation. Jun 27, 2017
INSTALL Fix typos found by codespell Jan 2, 2015
LICENSE LICENSE: Fix a typo Sep 25, 2016
Makefile.am Update maintainer to Northern.tech. Jul 14, 2017
README.md Clarify INSTALL contains install from source instructions May 19, 2017
autogen.sh Update maintainer to Northern.tech. Jul 14, 2017
checkglobals.sh Update maintainer to Northern.tech. Jul 14, 2017
configure.ac Remove dead code. Nov 16, 2017
configure_flags.env.in Export core version in configure_flags so we can check it downstream. Mar 17, 2015
create_tarball.sh Update maintainer to Northern.tech. Jul 14, 2017
splint-check.sh Update splint script. Jun 2, 2017

README.md

Version Core MPF
master Core Build Status MPF Build Status
3.10.x LTS Core Build Status MPF Build Status
3.7.x LTS Core Build Status MPF 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

To install from source 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.