7
7
"slices"
8
8
"sort"
9
9
10
+ "github.com/go-logr/logr"
10
11
discoveryV1 "k8s.io/api/discovery/v1"
11
12
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
12
13
"k8s.io/apimachinery/pkg/types"
@@ -32,6 +33,7 @@ const (
32
33
// BuildConfiguration builds the Configuration from the Graph.
33
34
func BuildConfiguration (
34
35
ctx context.Context ,
36
+ logger logr.Logger ,
35
37
g * graph.Graph ,
36
38
gateway * graph.Gateway ,
37
39
serviceResolver resolver.ServiceResolver ,
@@ -55,6 +57,7 @@ func BuildConfiguration(
55
57
backendGroups := buildBackendGroups (append (httpServers , sslServers ... ))
56
58
upstreams := buildUpstreams (
57
59
ctx ,
60
+ logger ,
58
61
gateway ,
59
62
serviceResolver ,
60
63
g .ReferencedServices ,
@@ -71,9 +74,14 @@ func BuildConfiguration(
71
74
SSLServers : sslServers ,
72
75
TLSPassthroughServers : buildPassthroughServers (gateway ),
73
76
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 ),
77
85
CertBundles : buildCertBundles (
78
86
buildRefCertificateBundles (g .ReferencedSecrets , g .ReferencedCaCertConfigMaps ),
79
87
backendGroups ,
@@ -163,6 +171,7 @@ func buildPassthroughServers(gateway *graph.Gateway) []Layer4VirtualServer {
163
171
// buildStreamUpstreams builds all stream upstreams.
164
172
func buildStreamUpstreams (
165
173
ctx context.Context ,
174
+ logger logr.Logger ,
166
175
gateway * graph.Gateway ,
167
176
serviceResolver resolver.ServiceResolver ,
168
177
ipFamily IPFamilyType ,
@@ -202,7 +211,13 @@ func buildStreamUpstreams(
202
211
203
212
allowedAddressType := getAllowedAddressType (ipFamily )
204
213
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
+ )
206
221
if err != nil {
207
222
errMsg = err .Error ()
208
223
}
@@ -670,6 +685,7 @@ func (hpr *hostPathRules) maxServerCount() int {
670
685
671
686
func buildUpstreams (
672
687
ctx context.Context ,
688
+ logger logr.Logger ,
673
689
gateway * graph.Gateway ,
674
690
svcResolver resolver.ServiceResolver ,
675
691
referencedServices map [types.NamespacedName ]* graph.ReferencedService ,
@@ -701,6 +717,7 @@ func buildUpstreams(
701
717
for _ , br := range rule .BackendRefs {
702
718
if upstream := buildUpstream (
703
719
ctx ,
720
+ logger ,
704
721
br ,
705
722
gateway ,
706
723
svcResolver ,
@@ -735,6 +752,7 @@ func buildUpstreams(
735
752
736
753
func buildUpstream (
737
754
ctx context.Context ,
755
+ logger logr.Logger ,
738
756
br graph.BackendRef ,
739
757
gateway * graph.Gateway ,
740
758
svcResolver resolver.ServiceResolver ,
@@ -760,9 +778,10 @@ func buildUpstream(
760
778
761
779
var errMsg string
762
780
763
- eps , err := svcResolver .Resolve (ctx , br .SvcNsName , br .ServicePort , allowedAddressType )
781
+ eps , err := svcResolver .Resolve (ctx , logger , br .SvcNsName , br .ServicePort , allowedAddressType )
764
782
if err != nil {
765
783
errMsg = err .Error ()
784
+ logger .Error (err , "failed to resolve endpoints" , "service" , br .SvcNsName )
766
785
}
767
786
768
787
var upstreamPolicies []policies.Policy
0 commit comments