func()

in pkg/resolvers/policies_for_namespace.go [14:35]


func (r *defaultPolicyReferenceResolver) getReferredPoliciesForNamespace(ctx context.Context, ns *corev1.Namespace, nsOld *corev1.Namespace) ([]networking.NetworkPolicy, error) {
	var referredPolicies []networking.NetworkPolicy
	for _, policyRef := range r.policyTracker.GetPoliciesWithNamespaceReferences().UnsortedList() {
		policy := &networking.NetworkPolicy{}
		if err := r.k8sClient.Get(ctx, policyRef, policy); err != nil {
			if client.IgnoreNotFound(err) != nil {
				return nil, errors.Wrap(err, "failed to get policies")
			}
			r.logger.Info("Tracked policy not found", "reference", policyRef)
			continue
		}
		if r.isNamespaceReferredInPolicy(ns, policy) {
			referredPolicies = append(referredPolicies, *policy)
			continue
		}
		if nsOld != nil && r.isNamespaceReferredInPolicy(nsOld, policy) {
			referredPolicies = append(referredPolicies, *policy)
		}
	}

	return referredPolicies, nil
}