This article was contributed by Aleksey Tsalolikhin @Vertical SysAdmin
There is a lot to know about CFEngine, which can make it hard for people new to the subject. The purpose of this guide is to lay out the resources available to CFEngine students and to orient them to this body of knowledge to speed their journey into practical system automation with CFEngine 3.
Getting Started
- CFEngine Quickstart - a Quick Start Guide. Build and install from source; or install a package. Then either set up CFEngine to run from cron; or start learning by running individual examples.
- CFEngine 3 Concept Guide - an abbreviated version of the CFEngine tutorial. Topics include: Introduction – System automation; The components of CFEngine; Bodies and bundles; A simple crash course in concepts; Knowledge Management.
Learning CFEngine 3 - The main audience for this book is experienced system administrators of null-to-medium expertise with CFEngine, although more advanced CFEngine users will also find useful snippets and techniques. Its goal is to guide you from installation to advanced examples and concepts by using examples and techniques that can be put to work straight away. Author - Diego Zamboni, CFEngine.
Core Documentation
- Glossary of Terms
- Tutorial: Covers the following topics:
- CFEngine 3 Best Practices: A guide to CFEngine 3 best practices.
- Troubleshooting: A guide to debugging and reporting errors. The three common types of problems and how to handle them: CFEngine appears to hang; segmentation fault; memory leak. Common misunderstandings: CFEngine does not always work – only sometimes; I am seeing multiple cf-agents in the process table, building up.
- CFEngine Solutions: a Solutions Guide. Basic examples (copying files, restarting processes, etc.). High level solutions (adding users, setting up clusters, etc.). Lots of low level examples (reading from a TCP socket, setting up a PXE boot server, etc.). VERY USEFUL IN LEARNING CFENGINE.
- Reference Manual: Everything about CFEngine. Auto-generated from the source code. You’ll likely spend most of your time in the Bundles for agent section. INDISPENSABLE IN USING CFENGINE.
- Syntax: A companion to the Reference Manual, the syntax guide details all the parts of the CFEngine language and how they relate to each other. A must read for aspiring CFEngine gurus.
Learning CFEngine
- Mark Burgess’s Introduction to CFEngine 3: four videos comprising Mark’s day class on CFEngine (find them at the top of the linked Training page):
- Introduction and motivation
- Understanding patterns and knowledge
- Client-Server basics
- Recap and the CFEngine landscape
- CFEngine 3 Practical Examples: A collection of practical examples to help learn CFEngine 3. Use “ls -1″ to display them in order (they are arranged from basic to more advanced).
- CFEngine 3 Cookbook: A growing collection of practical examples well explained. Neil’s writing helped many sysadmins start with CFEngine 2 and 3.
CFEngine Policy Source Code Libraries
Special Topics
- There is a large (and growing) number of guides on various topics: devops, file editing, adopting CFEngine, etc. Check Special Topics for the full list.