After building the typical "test bundle" scaffolding in an editor for the hundredth time, I decided to do something about it. The result is the cf-cmd command.
A little useful script I wrote for making it easier to test CFEngine code snippets. Follow the link to see the full details.
I'm happy to announce that the website for my book is now live at http://cf-learn.info/.
In this website you will find:The site is fairly empty at the moment (the blog, the forum and the errata page are live, I encourage you to participate, particularly if you have purchased the Early Release version of the book and want to provide any sort of feedback), but content will grow over time.
Check it out! And of course, let me know what you think.My upcoming book "Learning CFEngine 3" is now available as an Early Release, which includes (for now) the first four chapters of the book. You can use the code AUTHD to get 40% off the print book, or 50% off the ebook version.
Go get yours! And of course, I'd be happy to receive any feedback you have.
Today I gave a presentation at UNAM's 2011 Computer Security Conference in Mexico City. Below you will find my presentation (done using prezi.com, follow this link if you can't see it below). You can also get the PDF version.
Related blog posts from cfengine.com:
CFEngine - The Third Wave of Configuration Management
CFEngine, SysAdmin 3.0 and the Third Wave of IT Engineering
CFEngine is both the oldest and the newest of the popular tools for automating site administration. Mark Burgess invented it as a free software project in 1993, and years later, as deployments in the field outgrew its original design he gave it a complete rethink and developed the powerful concept of promise theory to make it modular and maintainable.
I contributed to this article by Andy Oram on CFEngine 3. It talks about the history of CFEngine 3, why it is a powerful tool for system administrators, and what is new in the latest releases of both the commercial and the open-source versions of CFEngine.
(disclaimer: I work for CFEngine AS)
Cfengine (tested 3.2.0) installs easily on OS X (tested 10.7), given that it's Unix. One problem I encountered was that it does not compile with the bundled version of Berkeley DB (it recognizes it during configure, but produces compilation errors). The solution is to use some other DB engine. I chose Tokyo Cabinet. Using homebrew, the process is simple
brew install tokyo-cabinet
After this, configure --with-tokyocabinet, and then compile and install as usual.
I have submitted a homebrew formula for cfengine. Once/if it gets approved, you should be able to run brew install cfengine to do all of the above automatically.
Update (2011/09/03): The cfengine homebrew formula has been accepted into the repository! You can now simply run "brew update; brew install cfengine" to get cfengine 3.2.0 installed.
Here's a cfengine bundle that I wrote for editing the sshd configuration file by passing an array with the parameters. Using an array is a very elegant way of defining the values to set. The bundle also restarts sshd after any changes are made, unless the no_restarts class is defined.
The first gist contains the edit_sshd bundle itself, together with the set_config_values bundle that actually performs the editing job (this should go into a library file, I have it in my personal version of cfengine_stdlib.cf). The second file is a sample bundle showing how to use edit_sshd.