@@ -320,13 +320,15 @@ type AlertingRuleSpec struct {
320320}
321321
322322type AlertSourceSpec struct {
323- // Source type: check, log_patterns, or promql.
324- // +kubebuilder:validation:Enum=check;log_patterns;promql
323+ // Source type: check, log_patterns, kubernetes_events, or promql.
324+ // +kubebuilder:validation:Enum=check;log_patterns;kubernetes_events; promql
325325 Type string `json:"type"`
326326 // Check source configuration (required if type is check).
327327 Check * CheckSourceSpec `json:"check,omitempty"`
328328 // Log pattern source configuration (required if type is log_patterns).
329329 LogPattern * LogPatternSourceSpec `json:"logPattern,omitempty"`
330+ // Kubernetes events source configuration (required if type is kubernetes_events).
331+ KubernetesEvents * KubernetesEventsSourceSpec `json:"kubernetesEvents,omitempty"`
330332 // PromQL source configuration (required if type is promql).
331333 PromQL * PromQLSourceSpec `json:"promql,omitempty"`
332334}
@@ -347,6 +349,15 @@ type LogPatternSourceSpec struct {
347349 EvaluateWithAi * bool `json:"evaluateWithAi,omitempty"`
348350}
349351
352+ type KubernetesEventsSourceSpec struct {
353+ // Minimum number of occurrences before alerting.
354+ MinCount * int `json:"minCount,omitempty"`
355+ // Maximum number of alerts per application for this rule.
356+ MaxAlertsPerApp * int `json:"maxAlertsPerApp,omitempty"`
357+ // Use AI to evaluate Kubernetes events and reduce noise.
358+ EvaluateWithAi * bool `json:"evaluateWithAi,omitempty"`
359+ }
360+
350361type PromQLSourceSpec struct {
351362 // PromQL expression that triggers the alert when it returns results.
352363 Expression string `json:"expression"`
0 commit comments