Skip to content

Commit 6424584

Browse files
Merge pull request #5977 from devtron-labs/notification-cluster-filter-issue
fix: notification cluster filter issue
2 parents 98d0c18 + e4b6b63 commit 6424584

File tree

11 files changed

+27
-15
lines changed

11 files changed

+27
-15
lines changed

client/events/EventBuilder.go

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package client
1919
import (
2020
"context"
2121
"fmt"
22+
repository4 "github.com/devtron-labs/devtron/pkg/cluster/repository"
2223
"strings"
2324
"time"
2425

@@ -35,7 +36,7 @@ import (
3536
)
3637

3738
type EventFactory interface {
38-
Build(eventType util.EventType, sourceId *int, appId int, envId *int, pipelineType util.PipelineType) Event
39+
Build(eventType util.EventType, sourceId *int, appId int, envId *int, pipelineType util.PipelineType) (Event, error)
3940
BuildExtraCDData(event Event, wfr *pipelineConfig.CdWorkflowRunner, pipelineOverrideId int, stage bean2.WorkflowType) Event
4041
BuildExtraCIData(event Event, material *MaterialTriggerInfo) Event
4142
//BuildFinalData(event Event) *Payload
@@ -50,14 +51,15 @@ type EventSimpleFactoryImpl struct {
5051
ciPipelineRepository pipelineConfig.CiPipelineRepository
5152
pipelineRepository pipelineConfig.PipelineRepository
5253
userRepository repository.UserRepository
54+
envRepository repository4.EnvironmentRepository
5355
ciArtifactRepository repository2.CiArtifactRepository
5456
}
5557

5658
func NewEventSimpleFactoryImpl(logger *zap.SugaredLogger, cdWorkflowRepository pipelineConfig.CdWorkflowRepository,
5759
pipelineOverrideRepository chartConfig.PipelineOverrideRepository, ciWorkflowRepository pipelineConfig.CiWorkflowRepository,
5860
ciPipelineMaterialRepository pipelineConfig.CiPipelineMaterialRepository,
5961
ciPipelineRepository pipelineConfig.CiPipelineRepository, pipelineRepository pipelineConfig.PipelineRepository,
60-
userRepository repository.UserRepository, ciArtifactRepository repository2.CiArtifactRepository) *EventSimpleFactoryImpl {
62+
userRepository repository.UserRepository, envRepository repository4.EnvironmentRepository, ciArtifactRepository repository2.CiArtifactRepository) *EventSimpleFactoryImpl {
6163
return &EventSimpleFactoryImpl{
6264
logger: logger,
6365
cdWorkflowRepository: cdWorkflowRepository,
@@ -68,10 +70,11 @@ func NewEventSimpleFactoryImpl(logger *zap.SugaredLogger, cdWorkflowRepository p
6870
pipelineRepository: pipelineRepository,
6971
userRepository: userRepository,
7072
ciArtifactRepository: ciArtifactRepository,
73+
envRepository: envRepository,
7174
}
7275
}
7376

74-
func (impl *EventSimpleFactoryImpl) Build(eventType util.EventType, sourceId *int, appId int, envId *int, pipelineType util.PipelineType) Event {
77+
func (impl *EventSimpleFactoryImpl) Build(eventType util.EventType, sourceId *int, appId int, envId *int, pipelineType util.PipelineType) (Event, error) {
7578
correlationId := uuid.NewV4()
7679
event := Event{}
7780
event.EventTypeId = int(eventType)
@@ -80,12 +83,19 @@ func (impl *EventSimpleFactoryImpl) Build(eventType util.EventType, sourceId *in
8083
}
8184
event.AppId = appId
8285
if envId != nil {
86+
env, err := impl.envRepository.FindById(*envId)
87+
if err != nil {
88+
impl.logger.Errorw("error in getting env", "envId", *envId, "err", err)
89+
return event, err
90+
}
8391
event.EnvId = *envId
92+
event.ClusterId = env.ClusterId
93+
event.IsProdEnv = env.Default
8494
}
8595
event.PipelineType = string(pipelineType)
8696
event.CorrelationId = fmt.Sprintf("%s", correlationId)
8797
event.EventTime = time.Now().Format(bean.LayoutRFC3339)
88-
return event
98+
return event, nil
8999
}
90100

91101
func (impl *EventSimpleFactoryImpl) BuildExtraCDData(event Event, wfr *pipelineConfig.CdWorkflowRunner, pipelineOverrideId int, stage bean2.WorkflowType) Event {

client/events/EventClient.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ type Event struct {
6969
TeamId int `json:"teamId"`
7070
AppId int `json:"appId"`
7171
EnvId int `json:"envId"`
72+
IsProdEnv bool `json:"isProdEnv"`
73+
ClusterId int `json:"clusterId"`
7274
CdWorkflowType bean.WorkflowType `json:"cdWorkflowType,omitempty"`
7375
CdWorkflowRunnerId int `json:"cdWorkflowRunnerId"`
7476
CiWorkflowRunnerId int `json:"ciWorkflowRunnerId"`

pkg/app/AppService.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,7 @@ func (impl *AppServiceImpl) UpdatePipelineStatusTimelineForApplicationChanges(ap
811811
}
812812

813813
func (impl *AppServiceImpl) WriteCDSuccessEvent(appId int, envId int, override *chartConfig.PipelineOverride) {
814-
event := impl.eventFactory.Build(util.Success, &override.PipelineId, appId, &envId, util.CD)
814+
event, _ := impl.eventFactory.Build(util.Success, &override.PipelineId, appId, &envId, util.CD)
815815
impl.logger.Debugw("event WriteCDSuccessEvent", "event", event, "override", override)
816816
event = impl.eventFactory.BuildExtraCDData(event, nil, override.Id, bean.CD_WORKFLOW_TYPE_DEPLOY)
817817
_, evtErr := impl.eventClient.WriteNotificationEvent(event)
@@ -1056,7 +1056,7 @@ type PipelineMaterialInfo struct {
10561056

10571057
func buildCDTriggerEvent(impl *AppServiceImpl, overrideRequest *bean.ValuesOverrideRequest, pipeline *pipelineConfig.Pipeline,
10581058
envOverride *chartConfig.EnvConfigOverride, materialInfo map[string]string, artifact *repository.CiArtifact) client.Event {
1059-
event := impl.eventFactory.Build(util.Trigger, &pipeline.Id, pipeline.AppId, &pipeline.EnvironmentId, util.CD)
1059+
event, _ := impl.eventFactory.Build(util.Trigger, &pipeline.Id, pipeline.AppId, &pipeline.EnvironmentId, util.CD)
10601060
return event
10611061
}
10621062

pkg/app/DeploymentEventHandler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func NewDeploymentEventHandlerImpl(logger *zap.SugaredLogger, appListingService
5151
}
5252

5353
func (impl *DeploymentEventHandlerImpl) WriteCDDeploymentEvent(pipelineId, appId, envId int, eventType util.EventType) {
54-
event := impl.eventFactory.Build(eventType, &pipelineId, appId, &envId, util.CD)
54+
event, _ := impl.eventFactory.Build(eventType, &pipelineId, appId, &envId, util.CD)
5555
impl.logger.Debugw("event WriteCDDeploymentEvent", "event", event)
5656
event = impl.eventFactory.BuildExtraCDData(event, nil, 0, bean.CD_WORKFLOW_TYPE_DEPLOY)
5757
_, evtErr := impl.eventClient.WriteNotificationEvent(event)

pkg/deployment/trigger/devtronApps/PostStageTriggerService.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ func (impl *TriggerServiceImpl) TriggerPostStage(request bean.TriggerRequest) er
117117
impl.logger.Error("error in updating image path reservation ids in cd workflow runner", "err", "err")
118118
}
119119

120-
event := impl.eventFactory.Build(util2.Trigger, &pipeline.Id, pipeline.AppId, &pipeline.EnvironmentId, util2.CD)
120+
event, _ := impl.eventFactory.Build(util2.Trigger, &pipeline.Id, pipeline.AppId, &pipeline.EnvironmentId, util2.CD)
121121
impl.logger.Debugw("event Cd Post Trigger", "event", event)
122122
event = impl.eventFactory.BuildExtraCDData(event, &wfr, 0, bean2.CD_WORKFLOW_TYPE_POST)
123123
_, evtErr := impl.eventClient.WriteNotificationEvent(event)

pkg/deployment/trigger/devtronApps/PreStageTriggerService.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -959,7 +959,7 @@ func (impl *TriggerServiceImpl) sendPreStageNotification(ctx context.Context, cd
959959
return err
960960
}
961961

962-
event := impl.eventFactory.Build(util2.Trigger, &pipeline.Id, pipeline.AppId, &pipeline.EnvironmentId, util2.CD)
962+
event, _ := impl.eventFactory.Build(util2.Trigger, &pipeline.Id, pipeline.AppId, &pipeline.EnvironmentId, util2.CD)
963963
impl.logger.Debugw("event PreStageTrigger", "event", event)
964964
event = impl.eventFactory.BuildExtraCDData(event, &wfr, 0, bean2.CD_WORKFLOW_TYPE_PRE)
965965
_, span := otel.Tracer("orchestrator").Start(ctx, "eventClient.WriteNotificationEvent")

pkg/deployment/trigger/devtronApps/TriggerService.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1315,7 +1315,7 @@ func (impl *TriggerServiceImpl) helmInstallReleaseWithCustomChart(ctx context.Co
13151315

13161316
func (impl *TriggerServiceImpl) writeCDTriggerEvent(overrideRequest *bean3.ValuesOverrideRequest, artifact *repository3.CiArtifact, releaseId, pipelineOverrideId int) {
13171317

1318-
event := impl.eventFactory.Build(util2.Trigger, &overrideRequest.PipelineId, overrideRequest.AppId, &overrideRequest.EnvId, util2.CD)
1318+
event, _ := impl.eventFactory.Build(util2.Trigger, &overrideRequest.PipelineId, overrideRequest.AppId, &overrideRequest.EnvId, util2.CD)
13191319
impl.logger.Debugw("event writeCDTriggerEvent", "event", event)
13201320
event = impl.eventFactory.BuildExtraCDData(event, nil, pipelineOverrideId, bean3.CD_WORKFLOW_TYPE_DEPLOY)
13211321
_, evtErr := impl.eventClient.WriteNotificationEvent(event)

pkg/eventProcessor/in/WorkflowEventProcessorService.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,7 @@ func (impl *WorkflowEventProcessorImpl) SubscribeCDWorkflowStatusUpdate() error
459459
}
460460

461461
if wfr.WorkflowType == apiBean.CD_WORKFLOW_TYPE_PRE || wfr.WorkflowType == apiBean.CD_WORKFLOW_TYPE_POST {
462-
event := impl.eventFactory.Build(eventType, &wfr.CdWorkflow.PipelineId, wfr.CdWorkflow.Pipeline.AppId, &wfr.CdWorkflow.Pipeline.EnvironmentId, eventUtil.CD)
462+
event, _ := impl.eventFactory.Build(eventType, &wfr.CdWorkflow.PipelineId, wfr.CdWorkflow.Pipeline.AppId, &wfr.CdWorkflow.Pipeline.EnvironmentId, eventUtil.CD)
463463
impl.logger.Debugw("event pre stage", "event", event)
464464
event = impl.eventFactory.BuildExtraCDData(event, wfr, 0, wfr.WorkflowType)
465465
_, evtErr := impl.eventClient.WriteNotificationEvent(event)

pkg/pipeline/CiHandler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1187,7 +1187,7 @@ func extractErrorCode(msg string) int {
11871187
}
11881188

11891189
func (impl *CiHandlerImpl) WriteCIFailEvent(ciWorkflow *pipelineConfig.CiWorkflow) {
1190-
event := impl.eventFactory.Build(util2.Fail, &ciWorkflow.CiPipelineId, ciWorkflow.CiPipeline.AppId, nil, util2.CI)
1190+
event, _ := impl.eventFactory.Build(util2.Fail, &ciWorkflow.CiPipelineId, ciWorkflow.CiPipeline.AppId, nil, util2.CI)
11911191
material := &client.MaterialTriggerInfo{}
11921192
material.GitTriggers = ciWorkflow.GitTriggers
11931193
event.CiWorkflowRunnerId = ciWorkflow.Id

pkg/pipeline/CiService.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ func (impl *CiServiceImpl) getEnvironmentForJob(pipeline *pipelineConfig.CiPipel
422422
}
423423

424424
func (impl *CiServiceImpl) WriteCITriggerEvent(trigger types.Trigger, pipeline *pipelineConfig.CiPipeline, workflowRequest *types.WorkflowRequest) {
425-
event := impl.eventFactory.Build(util2.Trigger, &pipeline.Id, pipeline.AppId, nil, util2.CI)
425+
event, _ := impl.eventFactory.Build(util2.Trigger, &pipeline.Id, pipeline.AppId, nil, util2.CI)
426426
material := &client.MaterialTriggerInfo{}
427427

428428
material.GitTriggers = trigger.CommitHashes

0 commit comments

Comments
 (0)