In these times dominated by ever growing amounts of technology, have you ever considered the power of less?
In this very special episode, we celebrate Craig Comstock’s 8-year anniversary with the company! Craig takes us on a journey into the concept of “decomputing” - the idea of using computer systems less and within limits.

Join us as Craig explores how CFEngine’s philosophy and design principles, such as being lightweight and having few dependencies, align with the decomputing mindset. He shares some book recommendations (The Mechanic and the Luddite, Resist AI), and examples of fun, interesting, old, and resource constrained platforms where he exercises CFEngine regularly.
Video
The video recording is available on YouTube:
At the end of every webinar, we stop the recording for a nice and relaxed, off-the-record chat with attendees. Join the next webinar to not miss this discussion.
Post show discussion
After the show there was some brief discussion about access promise types.
How to integrate custom access promises with cfbs?
In the old days we would edit
cf_serverd.cf
and add new access promises next to the ones that ship in the Masterfiles Policy Framework. How should we do this with cfbs?
While there is absolutely nothing wrong with modifying the Masterfiles Policy Framework, reducing modifications to the vendored files can significantly benefit maintenance. Rather than editing an existing server bundle like mpf_default_access_rules, introduce your own server bundle.
bundle server custom_access_promises
{
access:
"/srv/customers/"
handle => "customer_files_access",
admit => { "0.0.0.0/0" };
}
Then to integrate this into the policy with cfbs
, run cfbs add
and provide the path to the policy file. Once the policy is in inputs on the host cf-serverd
should notice and reload the policy, but it may require a service restart if the data is separate from the policy as we typically recommend.
How does the policy get run when not in the bundlesequence?
You might notice that server bundles aren’t listed in body common control
bundlesequence
. cf-serverd
and cf-monitord
don’t use bundlesequence. Instead they process server
and monitor
bundles as they are found during policy parsing.