diff --git a/go.mod b/go.mod index 13033a466d..684ea733fc 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/Masterminds/semver/v3 v3.4.0 github.com/anchore/syft v1.32.0 github.com/aquilax/truncate v1.0.0 - github.com/armosec/armoapi-go v0.0.654 + github.com/armosec/armoapi-go v0.0.663 github.com/armosec/utils-k8s-go v0.0.35 github.com/cenkalti/backoff v2.2.1+incompatible github.com/cenkalti/backoff/v4 v4.3.0 diff --git a/go.sum b/go.sum index 2d42ece470..4249ce6e70 100644 --- a/go.sum +++ b/go.sum @@ -761,8 +761,8 @@ github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/armosec/armoapi-go v0.0.654 h1:ALtMYLhvv9gUxYd9I/nyoxb7Pzo+uscmKyxjKbdp5Lc= -github.com/armosec/armoapi-go v0.0.654/go.mod h1:9jAH0g8ZsryhiBDd/aNMX4+n10bGwTx/doWCyyjSxts= +github.com/armosec/armoapi-go v0.0.663 h1:Ht8eBIY8y3VbFhtvfzdwjMsgiVX7K3dURp6qfBwz8Jo= +github.com/armosec/armoapi-go v0.0.663/go.mod h1:9jAH0g8ZsryhiBDd/aNMX4+n10bGwTx/doWCyyjSxts= github.com/armosec/gojay v1.2.17 h1:VSkLBQzD1c2V+FMtlGFKqWXNsdNvIKygTKJI9ysY8eM= github.com/armosec/gojay v1.2.17/go.mod h1:vuvX3DlY0nbVrJ0qCklSS733AWMoQboq3cFyuQW9ybc= github.com/armosec/utils-go v0.0.58 h1:g9RnRkxZAmzTfPe2ruMo2OXSYLwVSegQSkSavOfmaIE= diff --git a/pkg/exporters/http_exporter.go b/pkg/exporters/http_exporter.go index 542db3888a..05625d8e40 100644 --- a/pkg/exporters/http_exporter.go +++ b/pkg/exporters/http_exporter.go @@ -327,6 +327,7 @@ func (e *HTTPExporter) createRuleAlert(failedRule types.RuleFailure) apitypes.Ru RuntimeAlertK8sDetails: k8sDetails, RuleAlert: failedRule.GetRuleAlert(), RuleID: failedRule.GetRuleId(), + IsTriggerAlert: failedRule.GetIsTriggerAlert(), HttpRuleAlert: httpDetails, } } diff --git a/pkg/rulemanager/ruleadapters/creator.go b/pkg/rulemanager/ruleadapters/creator.go index 6a6bf4c126..450ed65ba8 100644 --- a/pkg/rulemanager/ruleadapters/creator.go +++ b/pkg/rulemanager/ruleadapters/creator.go @@ -76,8 +76,9 @@ func (r *RuleFailureCreator) CreateRuleFailure(rule typesv1.Rule, enrichedEvent RuleAlert: apitypes.RuleAlert{ RuleDescription: message, }, - RuleID: rule.ID, - AlertPlatform: apitypes.AlertSourcePlatformK8s, + RuleID: rule.ID, + AlertPlatform: apitypes.AlertSourcePlatformK8s, + IsTriggerAlert: rule.IsTriggerAlert, } eventAdapter.SetFailureMetadata(ruleFailure, enrichedEvent, state) diff --git a/pkg/rulemanager/types/failure.go b/pkg/rulemanager/types/failure.go index 190444349b..14380fea51 100644 --- a/pkg/rulemanager/types/failure.go +++ b/pkg/rulemanager/types/failure.go @@ -23,6 +23,7 @@ type GenericRuleFailure struct { CloudServices []string HttpRuleAlert apitypes.HttpRuleAlert Extra interface{} + IsTriggerAlert bool } type RuleFailure interface { @@ -69,6 +70,10 @@ type RuleFailure interface { SetHttpRuleAlert(httpRuleAlert apitypes.HttpRuleAlert) // Set Extra SetExtra(extra interface{}) + // Get IsTriggerAlert + GetIsTriggerAlert() bool + // Set IsTriggerAlert + SetIsTriggerAlert(isTriggerAlert bool) } func (rule *GenericRuleFailure) GetBaseRuntimeAlert() apitypes.BaseRuntimeAlert { @@ -162,3 +167,11 @@ func (rule *GenericRuleFailure) SetHttpRuleAlert(httpRuleAlert apitypes.HttpRule func (rule *GenericRuleFailure) SetExtra(extra interface{}) { rule.Extra = extra } + +func (rule *GenericRuleFailure) GetIsTriggerAlert() bool { + return rule.IsTriggerAlert +} + +func (rule *GenericRuleFailure) SetIsTriggerAlert(isTriggerAlert bool) { + rule.IsTriggerAlert = isTriggerAlert +}