Appendix C. CFEngine 3.5.2 Agent Promise Attributes

Aleksey Tsalolikhin

CFEngine is designed to be comprehensive and to let you model nearly any aspect of system configuration. There are tens of promise types and hundreds of unique promise attributes to enable modeling the desired configuration. The purpose of this Appendix is to facilitate learning and to serve as reference.

To make this sea of options navigable, this Appendix lists the promise types and attributes affecting the agent (the part of CFEngine that actually makes changes to your system) in a short format (name and synopsis only).

For full details, please consult the Promise Types and Attributes section of the CFEngine documentation.

Don’t let the complexity of hundreds of promise attributes scare you—CFEngine 3 is designed to address the challenges of Knowledge Management, including complexity, and allows you to summarize and abstract the underlying details, to the extent of Webserver("on") to configure a web server.

But if you need to configure your web server a special way, the below details will enable you to do so. Have fun getting under the hood of your system configuration and getting greasy to the elbows!

Attributes of Promises Common to All CFEngine Components

Attributes of “classes” Promises

scope

Scope of the class set by this promise (namespace or bundle).

and

Combine class sources with AND

dist

Generate a probabilistic class distribution (from strategies in cfengine 2)

expression

Evaluate string ...

Get Learning CFEngine 3 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.