in pkg/resolvers/endpoints.go [214:236]
func (r *defaultEndpointsResolver) getIngressRulesPorts(ctx context.Context, policyNamespace string, policyPodSelector *metav1.LabelSelector, ports []networking.NetworkPolicyPort) []policyinfo.Port {
podList := &corev1.PodList{}
if err := r.k8sClient.List(ctx, podList, &client.ListOptions{
LabelSelector: r.createPodLabelSelector(policyPodSelector),
Namespace: policyNamespace,
}); err != nil {
r.logger.Info("Unable to List Pods", "err", err)
return nil
}
r.logger.V(2).Info("list pods for ingress", "podList", *podList, "namespace", policyNamespace, "selector", *policyPodSelector)
var portList []policyinfo.Port
for _, pod := range podList.Items {
portList = append(portList, r.getPortList(pod, ports)...)
r.logger.Info("Got ingress port from pod", "pod", types.NamespacedName{Namespace: pod.Namespace, Name: pod.Name}.String())
}
// since we pull ports from dst pods, we should deduplicate them
dedupedPorts := dedupPorts(portList)
r.logger.Info("Got ingress ports from dst pods", "port", dedupedPorts)
return dedupedPorts
}