Skip to content

Commit

Permalink
[NET-5810] CE changes for multiple virtual hosts (#19246)
Browse files Browse the repository at this point in the history
CE changes for multiple virtual hosts
  • Loading branch information
jm96441n authored Oct 17, 2023
1 parent a6c990c commit b78465b
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 29 deletions.
12 changes: 7 additions & 5 deletions agent/xds/listeners_apigateway.go
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,11 @@ func (s *ResourceGenerator) makeAPIGatewayListeners(address string, cfgSnap *pro

routes := make([]*structs.HTTPRouteConfigEntry, 0, len(readyListener.routeReferences))
for _, routeRef := range maps.Keys(readyListener.routeReferences) {
route, _ := cfgSnap.APIGateway.HTTPRoutes.Get(routeRef)
route, ok := cfgSnap.APIGateway.HTTPRoutes.Get(routeRef)
if !ok {
return nil, fmt.Errorf("missing route for routeRef %s:%s", routeRef.Kind, routeRef.Name)
}

routes = append(routes, route)
}
consolidatedRoutes := discoverychain.ConsolidateHTTPRoutes(cfgSnap.APIGateway.GatewayConfig, &readyListener.listenerCfg, routes...)
Expand Down Expand Up @@ -297,11 +301,9 @@ func getReadyListeners(cfgSnap *proxycfg.ConfigSnapshot) map[string]readyListene
continue
}

routeKey := l.Name + routeRef.String()

for _, upstream := range routeUpstreamsForListener {
// Insert or update readyListener for the listener to include this upstream
r, ok := ready[routeKey]
r, ok := ready[l.Name]
if !ok {
r = readyListener{
listenerKey: listenerKey,
Expand All @@ -312,7 +314,7 @@ func getReadyListeners(cfgSnap *proxycfg.ConfigSnapshot) map[string]readyListene
}
r.routeReferences[routeRef] = struct{}{}
r.upstreams = append(r.upstreams, upstream)
ready[routeKey] = r
ready[l.Name] = r
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,52 +8,38 @@
"virtualHosts": [
{
"domains": [
"backend.example.com",
"backend.example.com:8080"
"frontend.example.com",
"frontend.example.com:8080"
],
"name": "api-gateway-http-5a84e719",
"name": "api-gateway-http-54620b06",
"routes": [
{
"match": {
"prefix": "/"
},
"route": {
"cluster": "backend.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul"
"cluster": "frontend.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul"
}
}
]
}
]
},
{
"@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
"name": "8080",
"validateClusters": true,
"virtualHosts": [
},
{
"domains": [
"frontend.example.com",
"frontend.example.com:8080"
"backend.example.com",
"backend.example.com:8080"
],
"name": "api-gateway-http-54620b06",
"name": "api-gateway-http-5a84e719",
"routes": [
{
"match": {
"prefix": "/"
},
"route": {
"cluster": "frontend.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul"
"cluster": "backend.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul"
}
}
]
}
]
},
{
"@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
"name": "8080",
"validateClusters": true,
"virtualHosts": [
},
{
"domains": [
"*.example.com",
Expand Down

0 comments on commit b78465b

Please sign in to comment.