in prometheus/alert/alert_rule.go [88:105]
func SecureRule(restrictQueries bool, matcherName, matcherValue string, rule *rulefmt.Rule) error {
expr := rule.Expr
var err error
if restrictQueries {
queryRestrictor := restrictor.NewQueryRestrictor(restrictor.DefaultOpts).AddMatcher(matcherName, matcherValue)
expr, err = queryRestrictor.RestrictQuery(rule.Expr)
if err != nil {
return err
}
}
rule.Expr = expr
if rule.Labels == nil {
rule.Labels = make(map[string]string)
}
rule.Labels[matcherName] = matcherValue
return nil
}