modules in CFEngine ● modules are programs that the agent can run and that will write to STDOUT according to "the module protocol" ● they can be used in commands promises, or with the usemodule function in classes promises. – Ref.: modules in commands: http://tinyurl.com/oc7h9wj – Ref. usemodule function: http://tinyurl.com/nhjzhag ● they can set/cancel classes, and set/unset variables and lists ● they can be written in any language (any shell, Perl, Python, awk, sed, C,...)