77	"slices" 
88	"sort" 
99
10+ 	"github.com/go-logr/logr" 
1011	discoveryV1 "k8s.io/api/discovery/v1" 
1112	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 
1213	"k8s.io/apimachinery/pkg/types" 
@@ -32,6 +33,7 @@ const (
3233// BuildConfiguration builds the Configuration from the Graph. 
3334func  BuildConfiguration (
3435	ctx  context.Context ,
36+ 	logger  logr.Logger ,
3537	g  * graph.Graph ,
3638	gateway  * graph.Gateway ,
3739	serviceResolver  resolver.ServiceResolver ,
@@ -55,6 +57,7 @@ func BuildConfiguration(
5557	backendGroups  :=  buildBackendGroups (append (httpServers , sslServers ... ))
5658	upstreams  :=  buildUpstreams (
5759		ctx ,
60+ 		logger ,
5861		gateway ,
5962		serviceResolver ,
6063		g .ReferencedServices ,
@@ -71,9 +74,14 @@ func BuildConfiguration(
7174		SSLServers :            sslServers ,
7275		TLSPassthroughServers : buildPassthroughServers (gateway ),
7376		Upstreams :             upstreams ,
74- 		StreamUpstreams :       buildStreamUpstreams (ctx , gateway , serviceResolver , baseHTTPConfig .IPFamily ),
75- 		BackendGroups :         backendGroups ,
76- 		SSLKeyPairs :           buildSSLKeyPairs (g .ReferencedSecrets , gateway .Listeners ),
77+ 		StreamUpstreams : buildStreamUpstreams (
78+ 			ctx ,
79+ 			logger ,
80+ 			gateway ,
81+ 			serviceResolver ,
82+ 			baseHTTPConfig .IPFamily ),
83+ 		BackendGroups : backendGroups ,
84+ 		SSLKeyPairs :   buildSSLKeyPairs (g .ReferencedSecrets , gateway .Listeners ),
7785		CertBundles : buildCertBundles (
7886			buildRefCertificateBundles (g .ReferencedSecrets , g .ReferencedCaCertConfigMaps ),
7987			backendGroups ,
@@ -163,6 +171,7 @@ func buildPassthroughServers(gateway *graph.Gateway) []Layer4VirtualServer {
163171// buildStreamUpstreams builds all stream upstreams. 
164172func  buildStreamUpstreams (
165173	ctx  context.Context ,
174+ 	logger  logr.Logger ,
166175	gateway  * graph.Gateway ,
167176	serviceResolver  resolver.ServiceResolver ,
168177	ipFamily  IPFamilyType ,
@@ -202,7 +211,13 @@ func buildStreamUpstreams(
202211
203212			allowedAddressType  :=  getAllowedAddressType (ipFamily )
204213
205- 			eps , err  :=  serviceResolver .Resolve (ctx , br .SvcNsName , br .ServicePort , allowedAddressType )
214+ 			eps , err  :=  serviceResolver .Resolve (
215+ 				ctx ,
216+ 				logger ,
217+ 				br .SvcNsName ,
218+ 				br .ServicePort ,
219+ 				allowedAddressType ,
220+ 			)
206221			if  err  !=  nil  {
207222				errMsg  =  err .Error ()
208223			}
@@ -670,6 +685,7 @@ func (hpr *hostPathRules) maxServerCount() int {
670685
671686func  buildUpstreams (
672687	ctx  context.Context ,
688+ 	logger  logr.Logger ,
673689	gateway  * graph.Gateway ,
674690	svcResolver  resolver.ServiceResolver ,
675691	referencedServices  map [types.NamespacedName ]* graph.ReferencedService ,
@@ -701,6 +717,7 @@ func buildUpstreams(
701717				for  _ , br  :=  range  rule .BackendRefs  {
702718					if  upstream  :=  buildUpstream (
703719						ctx ,
720+ 						logger ,
704721						br ,
705722						gateway ,
706723						svcResolver ,
@@ -735,6 +752,7 @@ func buildUpstreams(
735752
736753func  buildUpstream (
737754	ctx  context.Context ,
755+ 	logger  logr.Logger ,
738756	br  graph.BackendRef ,
739757	gateway  * graph.Gateway ,
740758	svcResolver  resolver.ServiceResolver ,
@@ -760,9 +778,10 @@ func buildUpstream(
760778
761779	var  errMsg  string 
762780
763- 	eps , err  :=  svcResolver .Resolve (ctx , br .SvcNsName , br .ServicePort , allowedAddressType )
781+ 	eps , err  :=  svcResolver .Resolve (ctx , logger ,  br .SvcNsName , br .ServicePort , allowedAddressType )
764782	if  err  !=  nil  {
765783		errMsg  =  err .Error ()
784+ 		logger .Error (err , "failed to resolve endpoints" , "service" , br .SvcNsName )
766785	}
767786
768787	var  upstreamPolicies  []policies.Policy 
0 commit comments