@@ -305,19 +305,19 @@ func ruleDescription(ns string, rule rbacv1.PolicyRule) string {
305305 sb .WriteString (fmt .Sprintf ("Namespace:%q" , ns ))
306306
307307 if len (rule .APIGroups ) > 0 {
308- sb .WriteString (fmt .Sprintf (" APIGroups:[%s]" , strings .Join (rule .APIGroups , "," )))
308+ sb .WriteString (fmt .Sprintf (" APIGroups:[%s]" , strings .Join (slices . Sorted ( slices . Values ( rule .APIGroups )) , "," )))
309309 }
310310 if len (rule .Resources ) > 0 {
311- sb .WriteString (fmt .Sprintf (" Resources:[%s]" , strings .Join (rule .Resources , "," )))
311+ sb .WriteString (fmt .Sprintf (" Resources:[%s]" , strings .Join (slices . Sorted ( slices . Values ( rule .Resources )) , "," )))
312312 }
313313 if len (rule .ResourceNames ) > 0 {
314- sb .WriteString (fmt .Sprintf (" ResourceNames:[%s]" , strings .Join (rule .ResourceNames , "," )))
314+ sb .WriteString (fmt .Sprintf (" ResourceNames:[%s]" , strings .Join (slices . Sorted ( slices . Values ( rule .ResourceNames )) , "," )))
315315 }
316316 if len (rule .Verbs ) > 0 {
317- sb .WriteString (fmt .Sprintf (" Verbs:[%s]" , strings .Join (rule .Verbs , "," )))
317+ sb .WriteString (fmt .Sprintf (" Verbs:[%s]" , strings .Join (slices . Sorted ( slices . Values ( rule .Verbs )) , "," )))
318318 }
319319 if len (rule .NonResourceURLs ) > 0 {
320- sb .WriteString (fmt .Sprintf (" NonResourceURLs:[%s]" , strings .Join (rule .NonResourceURLs , "," )))
320+ sb .WriteString (fmt .Sprintf (" NonResourceURLs:[%s]" , strings .Join (slices . Sorted ( slices . Values ( rule .NonResourceURLs )) , "," )))
321321 }
322322 return sb .String ()
323323}
0 commit comments