Architecture #9315
Updated by François ARMAND about 8 years ago
The current solution implemented in parent task #9273 retrieve policy mode information when compliance is computed. That mean that is anything changed between the moment the agent received its policies and the moment the server is processing reports, then everything is false. So we need to store policy mode (and it would be better to also store node run related information like frequency) along with expected reports. It means that either we extends expectedReports and expectedReportsNode, and adapt the logic which correctly update each part when needed, or we create a new "node configuration" table with the node configuration information. This ticket is here to explore the second option. So let's detail a little that new NodeConfiguration table columns: * - nodeId : the node ID * - nodeConfigId : unique identifier for a node config version (reported in run) * - startDate : date when that configuration was created * - endDate : date when that configuration was closed (cause: node deleted, new config available, * - configuration: a JSON data structure with: * - node system configuration: policy mode, run period, perhaps in the future other things * - node expected configuration: list of expected rules, directives, components, values. The structure of data in that part should match the structure of RuleNodeExpectedReports