Skip to content

Commit f9fd7d2

Browse files
committed
pr feedback - one loop
Signed-off-by: Yuval Kohavi <[email protected]>
1 parent 4f3376a commit f9fd7d2

File tree

1 file changed

+32
-38
lines changed
  • internal/kgateway/translator/irtranslator

1 file changed

+32
-38
lines changed

internal/kgateway/translator/irtranslator/route.go

Lines changed: 32 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -38,30 +38,29 @@ type httpRouteConfigurationTranslator struct {
3838
}
3939

4040
func (h *httpRouteConfigurationTranslator) ComputeRouteConfiguration(ctx context.Context, vhosts []*ir.VirtualHost) *envoy_config_route_v3.RouteConfiguration {
41-
attachedPoliciesSlice := []ir.AttachedPolicies{
42-
h.gw.AttachedHttpPolicies,
43-
h.attachedPolicies,
41+
42+
attachedPolicies := ir.AttachedPolicies{
43+
Policies: map[schema.GroupKind][]ir.PolicyAtt{},
4444
}
45+
attachedPolicies.Append(h.gw.AttachedHttpPolicies, h.attachedPolicies)
4546
cfg := &envoy_config_route_v3.RouteConfiguration{
4647
Name: h.routeConfigName,
4748
}
4849
typedPerFilterConfigRoute := ir.TypedFilterConfigMap(map[string]proto.Message{})
4950

50-
for _, attachedPolicies := range attachedPoliciesSlice {
51-
for gk, pols := range attachedPolicies.Policies {
52-
pass := h.PluginPass[gk]
53-
if pass == nil {
54-
// TODO: user error - they attached a non http policy
55-
continue
56-
}
57-
for _, pol := range mergePolicies(pass, pols) {
58-
reportPolicyAcceptanceStatus(h.reporter, h.listener.PolicyAncestorRef, pols...)
59-
pass.ApplyRouteConfigPlugin(ctx, &ir.RouteConfigContext{
60-
FilterChainName: h.fc.FilterChainName,
61-
TypedFilterConfig: typedPerFilterConfigRoute,
62-
Policy: pol.PolicyIr,
63-
}, cfg)
64-
}
51+
for gk, pols := range attachedPolicies.Policies {
52+
pass := h.PluginPass[gk]
53+
if pass == nil {
54+
// TODO: user error - they attached a non http policy
55+
continue
56+
}
57+
for _, pol := range mergePolicies(pass, pols) {
58+
reportPolicyAcceptanceStatus(h.reporter, h.listener.PolicyAncestorRef, pols...)
59+
pass.ApplyRouteConfigPlugin(ctx, &ir.RouteConfigContext{
60+
FilterChainName: h.fc.FilterChainName,
61+
TypedFilterConfig: typedPerFilterConfigRoute,
62+
Policy: pol.PolicyIr,
63+
}, cfg)
6564
}
6665
}
6766

@@ -207,26 +206,22 @@ func toPerFilterConfigMap(typedPerFilterConfig ir.TypedFilterConfigMap) map[stri
207206

208207
func (h *httpRouteConfigurationTranslator) runVhostPlugins(ctx context.Context, virtualHost *ir.VirtualHost, out *envoy_config_route_v3.VirtualHost,
209208
typedPerFilterConfig ir.TypedFilterConfigMap) {
210-
attachedPoliciesSlice := []ir.AttachedPolicies{
211-
virtualHost.AttachedPolicies,
212-
}
213-
for _, attachedPolicies := range attachedPoliciesSlice {
214-
for gk, pols := range attachedPolicies.Policies {
215-
pass := h.PluginPass[gk]
216-
if pass == nil {
217-
// TODO: user error - they attached a non http policy
218-
continue
219-
}
220-
for _, pol := range mergePolicies(pass, pols) {
221-
reportPolicyAcceptanceStatus(h.reporter, h.listener.PolicyAncestorRef, pols...)
222-
pctx := &ir.VirtualHostContext{
223-
Policy: pol.PolicyIr,
224-
TypedFilterConfig: typedPerFilterConfig,
225-
FilterChainName: h.fc.FilterChainName,
226-
}
227-
pass.ApplyVhostPlugin(ctx, pctx, out)
228-
// TODO: check return value, if error returned, log error and report condition
209+
210+
for gk, pols := range virtualHost.AttachedPolicies.Policies {
211+
pass := h.PluginPass[gk]
212+
if pass == nil {
213+
// TODO: user error - they attached a non http policy
214+
continue
215+
}
216+
for _, pol := range mergePolicies(pass, pols) {
217+
reportPolicyAcceptanceStatus(h.reporter, h.listener.PolicyAncestorRef, pols...)
218+
pctx := &ir.VirtualHostContext{
219+
Policy: pol.PolicyIr,
220+
TypedFilterConfig: typedPerFilterConfig,
221+
FilterChainName: h.fc.FilterChainName,
229222
}
223+
pass.ApplyVhostPlugin(ctx, pctx, out)
224+
// TODO: check return value, if error returned, log error and report condition
230225
}
231226
}
232227
}
@@ -271,7 +266,6 @@ func (h *httpRouteConfigurationTranslator) runRoutePlugins(
271266
errs = append(errs, err)
272267
}
273268
}
274-
275269
for gk, pols := range attachedPolicies.Policies {
276270
pass := h.PluginPass[gk]
277271
if pass == nil {

0 commit comments

Comments
 (0)