Skip to content

Commit 3d4c714

Browse files
committed
add translator context method, remove unused function
Signed-off-by: kkk777-7 <[email protected]>
1 parent 3614571 commit 3d4c714

File tree

5 files changed

+19
-27
lines changed

5 files changed

+19
-27
lines changed

internal/gatewayapi/contexts.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
egv1a1 "github.com/envoyproxy/gateway/api/v1alpha1"
1919
"github.com/envoyproxy/gateway/internal/gatewayapi/resource"
2020
"github.com/envoyproxy/gateway/internal/ir"
21+
"github.com/envoyproxy/gateway/internal/utils"
2122
)
2223

2324
// GatewayContext wraps a Gateway and provides helper methods for
@@ -672,3 +673,11 @@ func (t *TranslatorContext) GetService(namespace, name string) *corev1.Service {
672673
}
673674
return nil
674675
}
676+
677+
func (t *TranslatorContext) SetServices(svcs []*corev1.Service) {
678+
serviceMap := make(map[types.NamespacedName]*corev1.Service, len(svcs))
679+
for _, svc := range svcs {
680+
serviceMap[utils.NamespacedName(svc)] = svc
681+
}
682+
t.ServiceMap = serviceMap
683+
}

internal/gatewayapi/listener_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -846,8 +846,8 @@ func TestProcessTracingServiceName(t *testing.T) {
846846
for _, tc := range cases {
847847
t.Run(tc.name, func(t *testing.T) {
848848
translator := &Translator{}
849+
translatorContext := &TranslatorContext{}
849850
resources := &resource.Resources{}
850-
translatorContext := translator.buildTranslatorContext(resources)
851851

852852
// Mock service to resolve BackendRefs
853853
resources.Services = append(resources.Services,
@@ -896,6 +896,7 @@ func TestProcessTracingServiceName(t *testing.T) {
896896
},
897897
},
898898
)
899+
translatorContext.SetServices(resources.Services)
899900

900901
result, err := translator.processTracing(translatorContext, tc.gateway, tc.envoyProxy, tc.mergeGateways, resources)
901902

internal/gatewayapi/resource/resource.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,16 +113,6 @@ func (r *Resources) GetEnvoyProxy(namespace, name string) *egv1a1.EnvoyProxy {
113113
return nil
114114
}
115115

116-
// GetService returns the Service with the given namespace and name.
117-
func (r *Resources) GetService(namespace, name string) *corev1.Service {
118-
for _, svc := range r.Services {
119-
if svc.Namespace == namespace && svc.Name == name {
120-
return svc
121-
}
122-
}
123-
return nil
124-
}
125-
126116
// GetServiceByLabels returns the Service matching the given labels and namespace target.
127117
func (r *Resources) GetServiceByLabels(labels map[string]string, namespace string) *corev1.Service {
128118
for _, svc := range r.Services {

internal/gatewayapi/securitypolicy_test.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -879,6 +879,7 @@ func hasParentFalseCondition(p *egv1a1.SecurityPolicy) bool {
879879
// --- TCP branch: validateSecurityPolicyForTCP(...) returns err -> SetTranslationErrorForPolicyAncestors(...) + return
880880
func Test_SecurityPolicy_TCP_Invalid_setsStatus_and_returns(t *testing.T) {
881881
tr := &Translator{GatewayControllerName: "gateway.envoyproxy.io/gatewayclass-controller"}
882+
trContext := &TranslatorContext{}
882883

883884
// Create an invalid TCP policy (has CORS which is not allowed for TCP)
884885
policy := sp("default", "bad-tcp")
@@ -936,10 +937,10 @@ func Test_SecurityPolicy_TCP_Invalid_setsStatus_and_returns(t *testing.T) {
936937
gatewayRouteMap := make(map[string]map[string]sets.Set[string])
937938
resources := resource.NewResources()
938939
xdsIR := make(resource.XdsIRMap)
939-
translatorContext := tr.buildTranslatorContext(resources)
940+
trContext.SetServices(resources.Services)
940941

941942
// Process the policy - this should set error status
942-
tr.processSecurityPolicyForRoute(translatorContext, resources, xdsIR, routeMap, gatewayRouteMap, policy, target)
943+
tr.processSecurityPolicyForRoute(trContext, resources, xdsIR, routeMap, gatewayRouteMap, policy, target)
943944

944945
// Assert that the policy has a False condition (error was set)
945946
require.True(t, hasParentFalseCondition(policy))
@@ -948,6 +949,7 @@ func Test_SecurityPolicy_TCP_Invalid_setsStatus_and_returns(t *testing.T) {
948949
// --- non-TCP branch: malformed CIDR should return err -> SetTranslationErrorForPolicyAncestors(...) + return
949950
func Test_SecurityPolicy_HTTP_Invalid_setsStatus_and_returns(t *testing.T) {
950951
tr := &Translator{GatewayControllerName: "gateway.envoyproxy.io/gatewayclass-controller"}
952+
trContext := &TranslatorContext{}
951953

952954
// Create an invalid HTTP policy (malformed CIDR)
953955
policy := sp("default", "bad-http")
@@ -1011,10 +1013,10 @@ func Test_SecurityPolicy_HTTP_Invalid_setsStatus_and_returns(t *testing.T) {
10111013
gatewayRouteMap := make(map[string]map[string]sets.Set[string])
10121014
resources := resource.NewResources()
10131015
xdsIR := make(resource.XdsIRMap)
1014-
translatorContext := tr.buildTranslatorContext(resources)
1016+
trContext.SetServices(resources.Services)
10151017

10161018
// Process the policy - this should set error status
1017-
tr.processSecurityPolicyForRoute(translatorContext, resources, xdsIR, routeMap, gatewayRouteMap, policy, target)
1019+
tr.processSecurityPolicyForRoute(trContext, resources, xdsIR, routeMap, gatewayRouteMap, policy, target)
10181020

10191021
// Assert that the policy has a False condition (error was set)
10201022
require.True(t, hasParentFalseCondition(policy))

internal/gatewayapi/translator.go

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"fmt"
1111

1212
"golang.org/x/exp/maps"
13-
corev1 "k8s.io/api/core/v1"
1413
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
1514
"k8s.io/apimachinery/pkg/runtime/schema"
1615
"k8s.io/apimachinery/pkg/types"
@@ -221,7 +220,8 @@ func newTranslateResult(
221220
func (t *Translator) Translate(resources *resource.Resources) (*TranslateResult, error) {
222221
var errs error
223222

224-
translatorContext := t.buildTranslatorContext(resources)
223+
translatorContext := &TranslatorContext{}
224+
translatorContext.SetServices(resources.Services)
225225

226226
// Get Gateways belonging to our GatewayClass.
227227
acceptedGateways, failedGateways := t.GetRelevantGateways(resources)
@@ -333,16 +333,6 @@ func (t *Translator) Translate(resources *resource.Resources) (*TranslateResult,
333333
extServerPolicies, backends, xdsIR, infraIR), errs
334334
}
335335

336-
func (t *Translator) buildTranslatorContext(resource *resource.Resources) *TranslatorContext {
337-
serviceMap := make(map[types.NamespacedName]*corev1.Service, len(resource.Services))
338-
for _, svc := range resource.Services {
339-
serviceMap[utils.NamespacedName(svc)] = svc
340-
}
341-
return &TranslatorContext{
342-
ServiceMap: serviceMap,
343-
}
344-
}
345-
346336
// GetRelevantGateways returns GatewayContexts, containing a copy of the original
347337
// Gateway with the Listener statuses reset.
348338
func (t *Translator) GetRelevantGateways(resources *resource.Resources) (

0 commit comments

Comments
 (0)