@@ -114,7 +114,6 @@ const (
114114 expectedArgs = "expected_args"
115115 evalResult = "evaluation_result"
116116 inputElements = "elements"
117- deprecatedRule = "violations"
118117 mainRule = "result"
119118 matchesParametersRule = "matches_parameters"
120119 matchesEvaluationRule = "matches_evaluation"
@@ -219,63 +218,18 @@ func (r *Engine) Verify(ctx context.Context, policy *engine.Policy, input []byte
219218 }
220219 }
221220
222- // Try the main rule first
221+ // Try the main rule
223222 if err := executeQuery (getRuleName (parsedModule .Package .Path , mainRule ), r .operatingMode == EnvironmentModeRestrictive ); err != nil {
224223 return nil , err
225224 }
226225
227- // If res is nil, it means that the rule hasn't been found
228- // TODO: Remove when this deprecated rule is not used anymore
229226 if res == nil {
230- // Try with the deprecated main rule
231- if err := executeQuery (getRuleName (parsedModule .Package .Path , deprecatedRule ), r .operatingMode == EnvironmentModeRestrictive ); err != nil {
232- return nil , err
233- }
234-
235- if res == nil {
236- return nil , fmt .Errorf ("failed to evaluate policy: neither '%s' nor '%s' rule found" , mainRule , deprecatedRule )
237- }
238-
239- return parseViolationsRule (res , policy , rawData )
227+ return nil , fmt .Errorf ("failed to evaluate policy: '%s' rule not found" , mainRule )
240228 }
241229
242230 return parseResultRule (res , policy , rawData )
243231}
244232
245- // Parse deprecated list of violations.
246- // TODO: Remove this path once `result` rule is consolidated
247- func parseViolationsRule (res rego.ResultSet , policy * engine.Policy , rawData * engine.RawData ) (* engine.EvaluationResult , error ) {
248- violations := make ([]* engine.PolicyViolation , 0 )
249- for _ , exp := range res {
250- for _ , val := range exp .Expressions {
251- ruleResults , ok := val .Value .([]interface {})
252- if ! ok {
253- return nil , engine.ResultFormatError {Field : deprecatedRule }
254- }
255-
256- for _ , result := range ruleResults {
257- reasonStr , ok := result .(string )
258- if ! ok {
259- return nil , engine.ResultFormatError {Field : deprecatedRule }
260- }
261-
262- violations = append (violations , & engine.PolicyViolation {
263- Subject : policy .Name ,
264- Violation : reasonStr ,
265- })
266- }
267- }
268- }
269-
270- return & engine.EvaluationResult {
271- Violations : violations ,
272- Skipped : false , // best effort
273- SkipReason : "" ,
274- Ignore : false , // Assume old rules should not be ignored
275- RawData : rawData ,
276- }, nil
277- }
278-
279233// parse `result` rule
280234func parseResultRule (res rego.ResultSet , policy * engine.Policy , rawData * engine.RawData ) (* engine.EvaluationResult , error ) {
281235 result := & engine.EvaluationResult {Violations : make ([]* engine.PolicyViolation , 0 )}
0 commit comments