delete if sync is true
@@ -47,10 +47,15 @@ func (c *Controller) applyGenerate(resource unstructured.Unstructured, gr kyvern
policy, err := c.pLister.Get(gr.Spec.Policy)
if err != nil {
if apierrors.IsNotFound(err) {
- if err := c.client.DeleteResource(gr.Spec.Resource.Kind, gr.Spec.Resource.Namespace, gr.Spec.Resource.Name, false); err != nil {
+ for _, e := range policy.Spec.Rules {
+ if e.Generation.Synchronize {
+ if err := c.client.DeleteResource(e.Generation.Kind, e.Generation.Namespace, e.Generation.Name, false); err != nil {
logger.V(4).Info("Generated resource is deleted")
return nil, err
}
+ }
+ }
+
return nil, nil
}
logger.Error(err, "error in getting policy")
