in pkg/resolvers/endpoints.go [63:79]
func (r *defaultEndpointsResolver) computeIngressEndpoints(ctx context.Context, policy *networking.NetworkPolicy) ([]policyinfo.EndpointInfo, error) {
var ingressEndpoints []policyinfo.EndpointInfo
for _, rule := range policy.Spec.Ingress {
r.logger.V(1).Info("computing ingress addresses", "peers", rule.From)
if rule.From == nil {
ingressEndpoints = append(ingressEndpoints, r.getAllowAllNetworkPeers(ctx, policy, rule.Ports, networking.PolicyTypeIngress)...)
continue
}
resolvedPeers, err := r.resolveNetworkPeers(ctx, policy, rule.From, rule.Ports, networking.PolicyTypeIngress)
if err != nil {
return nil, errors.Wrap(err, "unable to resolve ingress network peers")
}
ingressEndpoints = append(ingressEndpoints, resolvedPeers...)
}
r.logger.V(1).Info("Resolved ingress rules", "policy", k8s.NamespacedName(policy), "addresses", ingressEndpoints)
return ingressEndpoints, nil
}