add rule_type label to indicate rule type (#5834)

add rule_type label to indicate rule type (#472)

Signed-off-by: junot <junotxiang@kubesphere.io>
This commit is contained in:
junot
2023-07-18 17:21:06 +08:00
committed by GitHub
parent 560b0da7da
commit aa0da0c80d

View File

@@ -42,9 +42,13 @@ const (
RuleLevelCluster RuleLevel = "cluster"
RuleLevelGlobal RuleLevel = "global"
RuleTypeTemplate RuleType = "template" // for template rule configured by exprBuilder to build expression
RuleTypeCustom RuleType = "custom" // for custom rule configured by direct expression
// for rule.labels
RuleLabelKeyRuleLevel = "rule_level"
RuleLabelKeyRuleGroup = "rule_group"
RuleLabelKeyRuleType = "rule_type"
RuleLabelKeyCluster = "cluster"
RuleLabelKeyNamespace = "namespace"
RuleLabelKeySeverity = "severity"
@@ -75,6 +79,8 @@ const (
type RuleLevel string
type RuleType string
var maxConfigMapDataSize = int(float64(corev1.MaxSecretSize) * 0.5)
type enforceRuleFunc func(rule *promresourcesv1.Rule) error
@@ -193,6 +199,11 @@ func makePrometheusRuleGroups(log logr.Logger, groupList client.ObjectList,
continue
}
if prule != nil {
if rule.ExprBuilder != nil && rule.ExprBuilder.Workload != nil {
prule.Labels[RuleLabelKeyRuleType] = string(RuleTypeTemplate)
} else {
prule.Labels[RuleLabelKeyRuleType] = string(RuleTypeCustom)
}
prules = append(prules, *prule)
}
}
@@ -216,6 +227,11 @@ func makePrometheusRuleGroups(log logr.Logger, groupList client.ObjectList,
continue
}
if prule != nil {
if rule.ExprBuilder != nil && rule.ExprBuilder.Node != nil {
prule.Labels[RuleLabelKeyRuleType] = string(RuleTypeTemplate)
} else {
prule.Labels[RuleLabelKeyRuleType] = string(RuleTypeCustom)
}
prules = append(prules, *prule)
}
}
@@ -241,6 +257,11 @@ func makePrometheusRuleGroups(log logr.Logger, groupList client.ObjectList,
continue
}
if prule != nil {
if rule.ExprBuilder != nil && (rule.ExprBuilder.Node != nil || rule.ExprBuilder.Workload != nil) {
prule.Labels[RuleLabelKeyRuleType] = string(RuleTypeTemplate)
} else {
prule.Labels[RuleLabelKeyRuleType] = string(RuleTypeCustom)
}
prules = append(prules, *prule)
}
}