Some great community members have published some pull requests to improve MPF for freebsd. I went to play with the changes but getting a functioning host was a bad experience.
- I used the vagrant box: freebsd/FreeBSD-12.2-STABLE
- I ran pkg install cfengine
- I ran cf-agent --bootstrap LOCALIP to bootstrap to myself. It failed and emitted a message indicating /var/cfengine/masterfiles/promises.cf was required for bootstrapping.
- I ran pkg search cfengine and saw cfenigne-masterfiles
- I ran pkg install cfengine-masterfiles and tried to bootstrap again. It failed again because of the same reason.
- I ran pkg info -l cfenigne-masterfiles and saw the MPF had been installed in /usr/local/share/examples/cfengine-masterfiles/masterfiles
- I copied the policy to /var/cfengine/masterfiles tried to bootstrap again, it failed because I had no keypair.
- I ran cf-key and tried to bootstrap again, this time it succeeded
- I proceeded to modify files in /var/cfenigne/masterfiles, after much hair pulling , I discovered that policy was being copied from /usr/local/share/examples/cfengine-masterfiles/masterfiles