The latest updates about everything CFEngine

Cloning git repos and creating systemd services with CFEngine

Using modules, you can add custom promise types to CFEngine, to manage new resources. In this blog post, I’d like to introduce some of the first official modules, namely git and systemd promise types. They were both written by Fabio Tranchitella, who normally works on our other product, Mender.io. He decided to learn some CFEngine and within a couple of weeks he’s contributed 3 modules, showing just how easy it is to implement new promise types. Thanks, Fabio!

August 16, 2021

Optional arguments with getopt_long(3)

I recently had a minor task involving changing an option - on one of our command line tools - from taking a required argument, to taking an optional argument. This should be easy they said; just change the respective option struct to take an optional argument, add a colon to the optstring, and get on with your life. Well, it proved to be easier said than done. My initial expectation was that a solution similar to the one below should just work. And it does work, just not in the way I expected.

Posted by Lars Erik Wik
August 13, 2021

Show notes: The agent is in - Episode 3 - What's new in 3.18?

Come see the new hotness in the latest LTS series, 3.18! Craig (Digger) and Nick (Doer of Things) take a tour of 3.18.0, the first release in the latest LTS series. Join them in exploring dark mode, compliance reports, host specific data via Mission Portals CMDB, manually triggered agent runs, report collections, and CFEngine Build. 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.

Posted by Nick Anderson
July 29, 2021

Show notes: The agent is in - Episode 2 - Community user demo with Jeff Carlson

Interested writing CFEngine policy faster? Jeff (CFEngine Community user) demonstrates his YASnippet library for CFEngine to make writing CFEngine policy significantly faster. 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.

Posted by Nick Anderson
June 25, 2021

CFEngine 3.18 LTS released - Extensibility

Today, we are pleased to announce the release of CFEngine 3.18.0! The focus of this new version has been extensibility. It also marks an important event, the beginning of the 3.18 LTS series, which will be supported for 3 years. Several new features have been added since the release of CFEngine 3.15 LTS, in the form of non-LTS releases. In this blog post we’ll primarily focus on what is new in 3.18, but we will also highlight some things released in 3.16 and 3.17.

June 24, 2021

The CFEngine UI gets a fresh look

In the past 2 and half months, we have refreshed the visual design of the CFEngine UI (Mission Portal). As part of the UX/UI design team, our goal is to provide an up-to-date design as well as an easy-to-use user interface. In this blog post, I will showcase the changes we made, the process behind the redesign, and the challenges encountered along the way. I am sharing the journey with you and hope to inspire the people who are currently planning to take a similar path.

Posted by ChiaCheng Lu
June 17, 2021

CFEngine 3.12.7 and 3.15.4 released

We are pleased to announce two new patch releases for CFEngine, version 3.12.7 and 3.15.4! These releases mainly contain bug fixes and dependency updates. Changelogs As always, you can see a full list of changes and improvements in our changelogs: 3.12.7 Changelog for CFEngine Community 3.12.7 Changelog for CFEngine Enterprise 3.12.7 Changelog for Masterfiles Policy Framework 3.15.4 Changelog for CFEngine Community 3.15.4 Changelog for CFEngine Enterprise 3.15.4 Changelog for Masterfiles Policy Framework Please note that the Enterprise changelogs contain only changes specific to enterprise. To get a full overview of all changes in a version, read all 3 changelogs.

June 8, 2021

Show notes: The agent is in - Episode 1 - Debugging with CFEngine policy analyzer

Interested in seeing promise results (KEPT, REPAIRED, NOTKEPT) overlaid on top of the policy itself? Craig (Digger) and Nick (Doer of Things) kick off the new series, “The agent is in” and take a look at the policy analyzer in CFEngine Enterprise Mission Portal. 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.

Posted by Nick Anderson
May 27, 2021

Collaboration and sharing - Our plans for 2021

As we’ve hinted at before, 2021 will be a big year for CFEngine. In the summer, we will release CFEngine 3.18 LTS. This is the first LTS release with Compliance Reports, Custom Promise types, and all of the other improvements we’ve made over the past year. Collaboration In addition to implementing valuable functionality for our users, we are focusing on better ways of interacting with them, and more opportunities for contribution, collaboration and sharing. The beginning of this was the introduction of GitHub Discussions - a platform where users can ask questions, submit ideas, or show off their CFEngine-related creations. One month later, in March, we launched our new website. The new website should make it easier for users to find what they’re looking for, and also has some sections with great content, such as videos, case studies, and white papers. Now, we are excited to share our plans for the rest of the year.

April 15, 2021

Feature preview: Trigger agent runs and report collection from Mission Portal

If you are debugging issues with a host, it is quite common to want to make changes to CFEngine policy, and speed up the process of fetching, evaluating and reporting for that host. You can do this by running cf-runagent and cf-hub from the command line, now we’ve brought this functionality into Mission Portal: You can see the feature in action, here:

March 31, 2021