security-policies/bundle/compliance/main.rego (33 lines of code) (raw):

package main import data.compliance import data.compliance.lib.common import future.keywords.if # input contains the resource and the configuration # output is findings resource := input.resource # METADATA # entrypoint: true findings := f if { # iterate over activated benchmark rules benchmark := input.benchmark # aggregate findings from activated benchmark f := {finding | result := compliance[benchmark].rules[rule].finding with data.benchmark_data_adapter as compliance[benchmark].data_adapter finding = { "result": result, "rule": compliance[benchmark].rules[rule].metadata, } } } findings := f if { not input.benchmark # aggregate findings from all benchmarks f := {finding | result := compliance[benchmark].rules[rule].finding with data.benchmark_data_adapter as compliance[benchmark].data_adapter finding = { "result": result, "rule": compliance[benchmark].rules[rule].metadata, } } } metadata := common.metadata