Skip to content

Commit 534b2bf

Browse files
authored
Merge pull request #36 from coroot/k8s_events_config
add kubernetes_events alert source type
2 parents 215b13e + 9a096b4 commit 534b2bf

4 files changed

Lines changed: 83 additions & 5 deletions

File tree

api/v1/config.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -320,13 +320,15 @@ type AlertingRuleSpec struct {
320320
}
321321

322322
type 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+
350361
type PromQLSourceSpec struct {
351362
// PromQL expression that triggers the alert when it returns results.
352363
Expression string `json:"expression"`

api/v1/zz_generated.deepcopy.go

Lines changed: 35 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/coroot.com_coroots.yaml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6495,6 +6495,23 @@ spec:
64956495
required:
64966496
- checkId
64976497
type: object
6498+
kubernetesEvents:
6499+
description: Kubernetes events source configuration
6500+
(required if type is kubernetes_events).
6501+
properties:
6502+
evaluateWithAi:
6503+
description: Use AI to evaluate Kubernetes events
6504+
and reduce noise.
6505+
type: boolean
6506+
maxAlertsPerApp:
6507+
description: Maximum number of alerts per application
6508+
for this rule.
6509+
type: integer
6510+
minCount:
6511+
description: Minimum number of occurrences before
6512+
alerting.
6513+
type: integer
6514+
type: object
64986515
logPattern:
64996516
description: Log pattern source configuration (required
65006517
if type is log_patterns).
@@ -6532,11 +6549,12 @@ spec:
65326549
- expression
65336550
type: object
65346551
type:
6535-
description: 'Source type: check, log_patterns, or
6536-
promql.'
6552+
description: 'Source type: check, log_patterns, kubernetes_events,
6553+
or promql.'
65376554
enum:
65386555
- check
65396556
- log_patterns
6557+
- kubernetes_events
65406558
- promql
65416559
type: string
65426560
required:

config/crd/coroot.com_coroots_legacy.yaml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5865,6 +5865,19 @@ spec:
58655865
required:
58665866
- checkId
58675867
type: object
5868+
kubernetesEvents:
5869+
description: Kubernetes events source configuration (required if type is kubernetes_events).
5870+
properties:
5871+
evaluateWithAi:
5872+
description: Use AI to evaluate Kubernetes events and reduce noise.
5873+
type: boolean
5874+
maxAlertsPerApp:
5875+
description: Maximum number of alerts per application for this rule.
5876+
type: integer
5877+
minCount:
5878+
description: Minimum number of occurrences before alerting.
5879+
type: integer
5880+
type: object
58685881
logPattern:
58695882
description: Log pattern source configuration (required if type is log_patterns).
58705883
properties:
@@ -5895,10 +5908,11 @@ spec:
58955908
- expression
58965909
type: object
58975910
type:
5898-
description: 'Source type: check, log_patterns, or promql.'
5911+
description: 'Source type: check, log_patterns, kubernetes_events, or promql.'
58995912
enum:
59005913
- check
59015914
- log_patterns
5915+
- kubernetes_events
59025916
- promql
59035917
type: string
59045918
required:

0 commit comments

Comments
 (0)