To have a better understanding of the Archive feature of Rudder, a description of the data workflow can be useful.
All the logic of Rudder Techniques is stored on the filesystem in
/var/rudder/configuration-repository/techniques.
The files are under version control, using git.
The tree is organized as following :
-
At the first level, techniques are classified in categories: applications,
fileConfiguration, fileDistribution, jobScheduling, system, systemSettings.
The description of the category is included in
category.xml. - At the second and third level, Technique identifier and version.
-
At the last level, each technique is described with a
metadata.xmlfile and one or several CFEngine template files (name ending with.st).
An extract of Rudder Techniques filesystem tree.
+-- techniques | +-- applications | | +-- apacheServer | | | +-- 1.0 | | | +-- apacheServerConfiguration.st | | | +-- apacheServerInstall.st | | | +-- metadata.xml | | +-- aptPackageInstallation | | | +-- 1.0 | | | +-- aptPackageInstallation.st | | | +-- metadata.xml | | +-- aptPackageManagerSettings | | | +-- 1.0 | | | +-- aptPackageManagerSettings.st | | | +-- metadata.xml | | +-- category.xml | | +-- openvpnClient | | | +-- 1.0 | | | +-- metadata.xml | | | +-- openvpnClientConfiguration.st | | | +-- openvpnInstall.st
At Rudder Server startup, or after the user has requested a reload of the
Rudder Techniques, each metadata.xml is mapped in memory, and used to create
the LDAP subtree of Active Techniques.
The LDAP tree contains also a set of subtrees for Node Groups, Rules and Node
Configurations.
At each change of the Node Configurations, Rudder Server creates CFEngine draft policies
(Cf3PolicyDraft) that are stored in memory, and then invokes cf-clerk.
cf-clerk finally generates the CFEngine promises for the Nodes.


