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
}