Skip to content

Commit

Permalink
add rule_type label to indicate rule type (kubesphere#5834)
Browse files Browse the repository at this point in the history
add rule_type label to indicate rule type (kubesphere#472)

Signed-off-by: junot <junotxiang@kubesphere.io>
  • Loading branch information
junotx authored and wanjunlei committed Aug 11, 2023
1 parent ac4be2e commit f603f06
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions pkg/controller/alerting/util.go
Expand Up @@ -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"
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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)
}
}
Expand All @@ -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)
}
}
Expand All @@ -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)
}
}
Expand Down

0 comments on commit f603f06

Please sign in to comment.