CFEngine is very easy to install – just one package per operating system if you are using one of the pre-compiled packages we provide for the Community or for Enterprise editions.
We wanted to bring an equally effortless experience to the task of starting CFEngine; bootstrapping a client to a policy server.
Previously, this has been done by running
/var/cfengine/bin/cf-agent --bootstrap --policy-server <IP>
which looks simple enough. However, the problem is that bootstrap and policy server are tightly connected - it does not make much sense to run them independently (bootstrap was actually just a shorthand for -f failsafe.cf).
Sure enough, this has confused some new users of CFEngine; some would try to run
/var/cfengine/bin/cf-agent --bootstrap
on its own, and not get a clear error message on what was wrong.
And you could wonder what the result of just
/var/cfengine/bin/cf-agent --policy-server <IP>
would be.
This has led to the need to simplify and make the bootstrapping process more consistent.
We have now removed the –policy-server option, and we take the IP-address to bootstrap to as a required argument to –bootstrap instead.
From now on, bootstrapping CFEngine will entail just running
/var/cfengine/bin/cf-agent --bootstrap <IP>
This will affect CFEngine Community 3.5.0 and CFEngine Enterprise 3.1.0 and later versions.
We received feedback from the community that it was desirable with backward-compatibility for such a drastic change, and we tried to retain that.
In a transition period, cf-agent will detect most of the old option combinations and rewrite the arguments (see the pull request).
However, note that this is a heuristic, temporary workaround (we will not detect -BIs, for example) that will go away soon.
Zeroconf is supported by passing “–bootstrap :avahi”.
Please update your auto-installers when the time comes to upgrade to Community 3.5.0 or Enterprise 3.1.0 (e.g. your post-install scripts), and inform your good friends & colleagues about this change!