Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

CFEngine Community

Merge pull request #1653 from jeffali/fix/lmdb_recreate_test

Make lmdb recreate a file if it has an invalid format
latest commit 6558a51ca4
Kristian Amlie kacfengine authored April 23, 2014
Octocat-spinner-32 3rdparty Redmine#2111: Bring in peg 0.13 under 3rdparty/ September 10, 2013
Octocat-spinner-32 cf-agent Redmine#5454: use CSV parser in package*matching() and CSV writer in … April 23, 2014
Octocat-spinner-32 cf-execd Leak-fix: execd neglected to destroy its EvalContext. April 03, 2014
Octocat-spinner-32 cf-key Gives the ability to force key removal from lastseen March 27, 2014
Octocat-spinner-32 cf-monitord Add tags to the persistant classes database (cf_state) March 23, 2014
Octocat-spinner-32 cf-promises body common control: protocol_version March 12, 2014
Octocat-spinner-32 cf-runagent Possible uninitialised variable. March 12, 2014
Octocat-spinner-32 cf-serverd Use size_t where we should. April 09, 2014
Octocat-spinner-32 cf-upgrade Constify EvalContextVariableGet January 07, 2014
Octocat-spinner-32 contrib Add systemd service files April 08, 2014
Octocat-spinner-32 docs Update Doxyfile November 19, 2013
Octocat-spinner-32 examples examples/getvalues.cf: show data container too April 17, 2014
Octocat-spinner-32 ext Harmonize uses of exit() December 23, 2013
Octocat-spinner-32 libcfnet Valgrind friendly openssl, if getenv("CFENGINE_TEST_PURIFY_OPENSSL") April 22, 2014
Octocat-spinner-32 libcompat Added memmem() replacement in libcompat, and simple tests. March 31, 2014
Octocat-spinner-32 libenv Redmine#5417: add "suse" class to existing SUSE and SuSE classes April 08, 2014
Octocat-spinner-32 libpromises Make lmdb recreate a file if it has an invalid format April 23, 2014
Octocat-spinner-32 libutils Spelling correction: Commerical -> Commercial April 22, 2014
Octocat-spinner-32 m4 Cosmetics November 19, 2013
Octocat-spinner-32 tests Make lmdb recreate a file if it has an invalid format April 23, 2014
Octocat-spinner-32 .gitignore .gitignore: handle tests/acceptance/mock_package_manager April 10, 2014
Octocat-spinner-32 .mailmap Coalesce Chris Dituri's author names in .mailmap January 08, 2014
Octocat-spinner-32 AUTHORS Moved Andrew Stribblehill from a comment to Authors. Also changed a c… March 03, 2014
Octocat-spinner-32 BSDmakefile Fix syntax error in BSDmakefile April 17, 2012
Octocat-spinner-32 ChangeLog Remove some unneeded Changelog entries. They are in 3.5 already. April 10, 2014
Octocat-spinner-32 GLOBALS Classify global variables December 30, 2013
Octocat-spinner-32 HACKING.md Change "struct strlist" to StrList. January 22, 2014
Octocat-spinner-32 INSTALL update the INSTALL file to advise use of latest LMDB February 25, 2014
Octocat-spinner-32 LICENSE Rename libcfpub to libcompat (Redmine #2052) March 04, 2013
Octocat-spinner-32 Makefile.am Various files were missing from the make dist tarball. Also fixed som… April 01, 2014
Octocat-spinner-32 README.md Update README.md May 23, 2013
Octocat-spinner-32 autogen.sh Finally remove the nova symlink hack! (yey!) July 25, 2013
Octocat-spinner-32 checkglobals.sh Add checkglobals.sh script to list all globals found December 30, 2013
Octocat-spinner-32 configure.ac master becomes 3.7 April 10, 2014
Octocat-spinner-32 configure_flags.env.in Made PAM detection more resilient, and catching some more errors. November 07, 2013
Octocat-spinner-32 create_tarball.sh Various files were missing from the make dist tarball. Also fixed som… April 01, 2014
Octocat-spinner-32 splint-check.sh Add missing trailing newlines March 10, 2013
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 GPL, version 3.

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.