Policy masterfiles that are shipped with CFEngine packages
Clone or download
Latest commit f40bd84 Dec 11, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
3rdparty/core Update determine-version.py from core Jul 11, 2017
cfe_internal ENT-4266 Check for all Mission Portal alerts at once Dec 10, 2018
controls ENT-4269 Control cf-hub without modifying vendored policy Dec 5, 2018
inventory Shorten bundle names for ec2 inventory variables Nov 7, 2018
lib CFE-2932 Detect systemd service enablement for non native services Oct 18, 2018
m4 Update maintainer to Northern.tech. Jul 14, 2017
modules/packages Updated yum package module to take arbitrary options Oct 26, 2018
services Add: split systemd unit support Oct 25, 2016
templates Redact condition that could cause a kill and spawn loop for cf-execd … Jul 25, 2018
tests Added cf-check argument to testall Oct 22, 2018
.gitignore Added .ropeproject to .gitignore Mar 23, 2018
.mailmap Tidy authorship Jan 13, 2018
.travis.yml Get date of last build from FOOTER.html, do not assume it was built "… Oct 29, 2018
CHANGELOG.md Added changelog for 3.13.0 Nov 20, 2018
CONTRIBUTING.md Add a link to core's test procedures. Dec 16, 2013
LICENSE Update copyright to Northern.tech and current year. Jul 11, 2017
MPF.md ENT-4269 Control cf-hub without modifying vendored policy Dec 5, 2018
Makefile.am Fix permissions of directories in the ready-to-install tarball. Aug 1, 2017
README.md Update buildbadges for 3.12.x Aug 15, 2018
autogen.sh Update determine-version.py from Core. Sep 16, 2016
configure.ac ENT-4050 Remove Design Center related policies Sep 11, 2018
example_def.json Fix invalid example JSON Mar 23, 2018
promises.cf.in CFE-2924 Add inventory of AWS EC2 linux instances Oct 23, 2018
standalone_self_upgrade.cf.in ENT-4255 Add debian 9 to the self upgrade package map Nov 16, 2018
update.cf ENT-4117 Fix standalone self upgrade when path contains spaces Sep 25, 2018


Version Core MPF
master Core Build Status MPF Build Status
3.12.x Core Build Status MPF Build Status
3.10.x Core Build Status MPF Build Status
3.7.x Core Build Status MPF Build Status

Looking for help?

IRC channel

Developer IRC channel

CFEngine 3 masterfiles

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.

The MPF or Masterfiles Policy Framework is intended to provide a stable base policy installations and upgrades, and is used by both CFEngine Enterprise and CFEngine community in versions 3.6 and newer. The documentation for the MPF is highly recommended.


There are several methods available for installing the CFEngine Masterfiles Policy Framework.

  • From pkg tarball
  • From git
  • From source tarball

From pkg tarball

If you have downloaded a package tarball from our website (not from github), you don't need to autogen, configure or make anything. Instead simply unpack the tarball to the desired location using tar.

For example:

tar zxvf cfengine-masterfiles-MAJOR.MINOR.PATCH.pkg.tar.gz --exclude="modules" -C /var/cfengine/masterfiles --strip-components=2

Note: The above command installs only the policy from masterfiles. Typically the modules that are distributed within the masterfiles repository are not installed until the binaries are upgraded. However, if you wish to install the modules along with the policy you can use this simplified command:

tar zxvf cfengine-masterfiles-MAJOR.MINOR.PATCH.pkg.tar.gz /var/cfengine/masterfiles

From git

Clone this repository

git clone https://github.com/cfengine/masterfiles

If you have cloned the repository from github:

Run autogen and make to build masterfiles.


Optionally configure masterfiles to install to a different location (perhaps your own version control checkout)

./configure --prefix=/tmp/cfengine/
make install

From source tarball

If you have downloaded a release tarball from our website (not from github), you don't need to run autogen.sh. By default it installs in /var/cfengine/masterfiles but you can override that easily:

./configure --prefix=/install/directory
make install

Note that the last directory component will always be called masterfiles.

Host report

A very important piece of functionality, which you may want for your own use but will certainly be helpful for debugging or submitting bugs to CFEngine (core, masterfiles, or any other are) is the host report.

Run the host report like so: cf-agent -b host_info_report

You should see output like:

R: Host info report generated and available at '/var/cfengine/reports/host_info_report.txt'

Take a look at the resulting file, it has lots of useful information about the system.


Please see the CONTRIBUTING.md file.

The CFEngine masterfiles are under the MIT license, see LICENSE