diff --git a/cmd/config-current.go b/cmd/config-current.go index d601ff003..d1229cbd8 100644 --- a/cmd/config-current.go +++ b/cmd/config-current.go @@ -428,6 +428,10 @@ func lookupConfigs(s config.Config) { if err != nil { logger.LogIf(ctx, fmt.Errorf("Unable to initialize notification target(s): %w", err)) } + globalEnvTargetList, err = notify.GetNotificationTargets(newServerConfig(), GlobalServiceDoneCh, NewCustomHTTPTransport()) + if err != nil { + logger.LogIf(ctx, fmt.Errorf("Unable to initialize notification target(s): %w", err)) + } } // Help - return sub-system level help diff --git a/cmd/globals.go b/cmd/globals.go index a535258a7..baa06ae19 100644 --- a/cmd/globals.go +++ b/cmd/globals.go @@ -144,8 +144,11 @@ var ( globalNotificationSys *NotificationSys globalConfigTargetList *event.TargetList - globalPolicySys *PolicySys - globalIAMSys *IAMSys + // globalEnvTargetList has list of targets configured via env. + globalEnvTargetList *event.TargetList + + globalPolicySys *PolicySys + globalIAMSys *IAMSys globalLifecycleSys *LifecycleSys globalBucketSSEConfigSys *BucketSSEConfigSys diff --git a/cmd/notification.go b/cmd/notification.go index 226eb0ada..c9ecded9f 100644 --- a/cmd/notification.go +++ b/cmd/notification.go @@ -757,8 +757,14 @@ func (sys *NotificationSys) ConfiguredTargetIDs() []event.TargetID { } } } - - return targetIDs + // Filter out targets configured via env + var tIDs []event.TargetID + for _, targetID := range targetIDs { + if !globalEnvTargetList.Exists(targetID) { + tIDs = append(tIDs, targetID) + } + } + return tIDs } // RemoveNotification - removes all notification configuration for bucket name.