Skip to content

Commit e202a78

Browse files
mateiMateiStefanescu-MRM
authored andcommitted
fix duplicated CreateIngressEx calls
1 parent 2b2f329 commit e202a78

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

internal/k8s/configuration.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -998,37 +998,47 @@ func (c *Configuration) findResourcesForResourceReference(namespace string, name
998998
defer c.lock.RUnlock()
999999

10001000
var result []Resource
1001+
seen := make(map[string]struct{})
10011002

10021003
for _, h := range getSortedResourceKeys(c.hosts) {
10031004
r := c.hosts[h]
1005+
key := r.GetKeyWithKind()
1006+
if _, ok := seen[key]; ok {
1007+
continue
1008+
}
10041009

10051010
switch impl := r.(type) {
10061011
case *IngressConfiguration:
10071012
if checker.IsReferencedByIngress(namespace, name, impl.Ingress) {
1013+
seen[key] = struct{}{}
10081014
result = append(result, r)
10091015
continue
10101016
}
10111017

10121018
for _, fm := range impl.Minions {
10131019
if checker.IsReferencedByMinion(namespace, name, fm.Ingress) {
1020+
seen[key] = struct{}{}
10141021
result = append(result, r)
10151022
break
10161023
}
10171024
}
10181025
case *VirtualServerConfiguration:
10191026
if checker.IsReferencedByVirtualServer(namespace, name, impl.VirtualServer) {
1027+
seen[key] = struct{}{}
10201028
result = append(result, r)
10211029
continue
10221030
}
10231031

10241032
for _, vsr := range impl.VirtualServerRoutes {
10251033
if checker.IsReferencedByVirtualServerRoute(namespace, name, vsr) {
1034+
seen[key] = struct{}{}
10261035
result = append(result, r)
10271036
break
10281037
}
10291038
}
10301039
case *TransportServerConfiguration:
10311040
if checker.IsReferencedByTransportServer(namespace, name, impl.TransportServer) {
1041+
seen[key] = struct{}{}
10321042
result = append(result, r)
10331043
continue
10341044
}
@@ -1037,8 +1047,13 @@ func (c *Configuration) findResourcesForResourceReference(namespace string, name
10371047

10381048
for _, lh := range getSortedListenerHostKeys(c.listenerHosts) {
10391049
tsConfig := c.listenerHosts[lh]
1050+
key := tsConfig.GetKeyWithKind()
1051+
if _, ok := seen[key]; ok {
1052+
continue
1053+
}
10401054

10411055
if checker.IsReferencedByTransportServer(namespace, name, tsConfig.TransportServer) {
1056+
seen[key] = struct{}{}
10421057
result = append(result, tsConfig)
10431058
continue
10441059
}

0 commit comments

Comments
 (0)