A Directive contains one or multiple components. Each component generates one or multiple reports, based on the number of keys in this component. For example, for a Sudoers Directive, each user is a key. These states are available in reports:

The system is already in the desired state. No change is needed. Conformity is gained.
The system was not in the desired state. Rudder applied some change and repaired what was not correct. Now the system is in the desired state. Conformity is gained.
The system is not in the desired state. Rudder couldn’t repair the system.
When a Directive is applied, Rudder waits during 10 minutes for a report. During this period, the Directive is said Applying.
No report
The system didn’t send any reports. Rudder waited for 10 minutes and no report was received.

A Directive has gained conformity on a Node if every report for each component, for each key, is in Success state. This is the only condition.

Based on these facts, the compliance of a Rule is calculated like this:

Number of Nodes for which conformity is reached for every Directive of the Rule / Total number of Nodes on which the Rule has been applied

Figure 7. Compliance on a Rule

Rule compliance

The Rule detailed compliance screen will also graph compliance deviations on a recent period as well as display a deviation log history for this period.

Figure 8. Compliance history on a Rule

Rule compliance history