We thought we would mix things up a bit here and highlight our open source C library: libntech.
I wanted to use libntech’s JSON code to write a minimal tool to parse, check and query JSON data. Using the various library functions related to files, json, strings, sequences and regexes helps …
In the latest version of the CFEngine network protocol (filestream - v4), we leveraged librsync for efficient file copying using their Streaming API.
While implementing the file streaming in CFEngine, I found that the documentation on the Streaming API was a bit unclear. Thus, I created two example …
Looking for a tool to help you format your CFEngine policy? Have you heard of cffmt?
You might recall that we had a chat with the author, Miek Gieben in The agent is in - Episode 24.1 In case you missed it, cffmt is a command line tool for formatting CFEngine policy files, like gofmt for .cf files.2 …
Editing and copying large files or large numbers of files is slow. For a configuration management tool, it is probably one of the slowest things we do, apart from waiting for other programs to finish or waiting for network communication. In this blog post, we look at how to copy files. More …
The CFEngine team celebrates 30 years of CFEngine and has a chat with Mark Burgess, the original creator and author of CFEngine.
Mark delves into the early chapters of his journey, tracing back the roots of his inspiration to science fiction sagas like Star Trek and Dr. Who, and the literary works …
The license of our in-house C utility and compatibility library libntech was recently changed from GPLv3 to Apache License Version 2.0 which makes the library suitable for more projects thanks to the more permissive license. While GPLv3 practically required any project using libntech to be licensed …
Opening and reading files may cause your program to block indefinitely. In this blogpost we'll discuss how to work around this issue.
The CFEngine team is pleased to announce a competition for students in Norway. We want you to write a module in Python, and submit it to CFEngine Build. Your module will be Open Source (MIT License), available for our community of users worldwide. CFEngine is a programming language, and modules can …
Last year, we launched functionality for users to add policy for reporting data, compliance reports, promise types, and other code as modules. With CFEngine Build, users can manage and update their own policy, the default policy and any additional modules separately. This makes it very easy to …
(This is a blog post to celebrate Chinese New Year for our Chinese-speaking users.) 作为年前的最后一篇文章,并延续我们的传统,我们想回顾一下CFEngine在这一年中取得的所有成就,并对新的一年我们的计画做一个简要的介绍。