in pkg/resolvers/endpoints.go [261:283]
func (r *defaultEndpointsResolver) resolveServiceClusterIPs(ctx context.Context, peers []networking.NetworkPolicyPeer, policyNamespace string,
ports []networking.NetworkPolicyPort) ([]policyinfo.EndpointInfo, error) {
var networkPeers []policyinfo.EndpointInfo
for _, peer := range peers {
var namespaces []string
if peer.IPBlock != nil {
continue
}
namespaces = append(namespaces, policyNamespace)
if peer.NamespaceSelector != nil {
var err error
namespaces, err = r.resolveNamespaces(ctx, peer.NamespaceSelector)
if err != nil {
return nil, err
}
}
r.logger.Info("Populated namespaces for service clusterIP lookup", "list", namespaces)
for _, ns := range namespaces {
networkPeers = append(networkPeers, r.getMatchingServiceClusterIPs(ctx, peer.PodSelector, ns, ports)...)
}
}
return networkPeers, nil
}