synchronize option in Kyverno is designed to address these concerns by keeping the policy and its generated resource continuously reconciled.

What synchronize does
synchronize is a boolean flag you add to a generate rule. When set to true, Kyverno establishes an active, continuous link between the policy and the generated downstream resource so the policy remains the single source of truth.
Example:
synchronize provides three primary behaviors:
- Self-heal: If the downstream resource is modified or deleted, Kyverno will revert or recreate it to match the policy.
- Propagate updates: Changes to the policy are applied to the generated resource automatically.
- Cleanup when the trigger is deleted: If the source (trigger) resource is removed, Kyverno will delete the generated resource during reconciliation (unless you change orphaning behavior — see below).

Quick comparison: synchronize enabled vs disabled
Below is a compact cheat sheet showing how generated resources behave depending on thesynchronize setting. The right column describes the fire-and-forget model (synchronize: false): once the resource is created, the policy no longer manages it — modifications or deletions are not reverted.

Orphaning generated resources
Kyverno normally removes generated downstream resources if the policy that created them is deleted. This is usually desirable, but sometimes you may want to retain those resources after removing the policy — for example, when you intend to manage them manually. You can control this with theorphaned flag in the generate block:
orphaned: true— leave generated resources intact when the policy that created them is deleted.orphaned: false(default) or omitted — generated resources are deleted when the policy is removed.

When
synchronize: true is enabled, Kyverno actively enforces the generated resource’s state. Use orphaned: true only when you intentionally want to retain generated resources after removing the policy.Summary
- Use
synchronize: trueto maintain an active, reconciled relationship between a policy and the resources it generates: self-heal, update propagation, and cleanup behavior. - Use
orphaned: trueonly when you want to retain generated resources after deleting the policy. - These options help prevent drift, accidental deletions, and unintended security regressions when automating resource generation with Kyverno.