in sg/internal/engine/rego_query.go [63:87]
func (engine *RegoEngine) Query(
ctx context.Context,
source source.Source,
opts ...*QueryOptions,
) (result.QueryResults, error) {
loadedConfigurations, err := loadSource(source, engine.parseArmTemplateDefaults)
if err != nil {
return result.QueryResults{}, fmt.Errorf("failed to load source: %w", err)
}
var aggregatedQueryResults result.QueryResults
for _, loadedConfiguration := range loadedConfigurations {
for _, policyPackage := range engine.policyPackages {
queryResult, err := engine.queryPackage(ctx, policyPackage, loadedConfiguration)
if err != nil {
return result.QueryResults{}, err
}
aggregatedQueryResults = aggregatedQueryResults.Merge(queryResult)
}
}
aggregatedQueryResults.Source = source
return aggregatedQueryResults, nil
}