@@ -584,7 +584,7 @@ func (m *Manager) ApplyToConsumer(
584584// kubeconfig and resolves it to IP addresses. This allows the konnector pods on
585585// the consumer cluster to reach the provider even when the hostname only resolves
586586// correctly from the backend pod's network (e.g., Kind/Docker environments).
587- func (m * Manager ) resolveProviderHostAliases (_ context.Context , providerKubeconfigData []byte ) []corev1.HostAlias {
587+ func (m * Manager ) resolveProviderHostAliases (ctx context.Context , providerKubeconfigData []byte ) []corev1.HostAlias {
588588 config , err := clientcmd .RESTConfigFromKubeConfig (providerKubeconfigData )
589589 if err != nil {
590590 return nil
@@ -600,18 +600,15 @@ func (m *Manager) resolveProviderHostAliases(_ context.Context, providerKubeconf
600600 return nil
601601 }
602602
603- // Skip if the host is already an IP address
604603 if net .ParseIP (hostname ) != nil {
605604 return nil
606605 }
607606
608- // Resolve the hostname from the backend pod's perspective
609- ips , err := net .LookupHost (hostname )
607+ ips , err := net .DefaultResolver .LookupHost (ctx , hostname )
610608 if err != nil || len (ips ) == 0 {
611609 return nil
612610 }
613611
614- // Filter out loopback addresses — they won't work in consumer pods
615612 var validIPs []string
616613 for _ , ip := range ips {
617614 parsed := net .ParseIP (ip )
@@ -663,7 +660,6 @@ func (m *Manager) ensureKonnector(ctx context.Context, c client.Client, konnecto
663660 return true , nil
664661}
665662
666- // waitForCRD polls until a CRD is registered on the target cluster.
667663func (m * Manager ) waitForCRD (ctx context.Context , c client.Client , crdName string ) error {
668664 return wait .PollUntilContextTimeout (ctx , 2 * time .Second , 120 * time .Second , true , func (ctx context.Context ) (bool , error ) {
669665 crd := & apiextensionsv1.CustomResourceDefinition {}
0 commit comments