Get startedSign in

Resource Application Logic

Control deploy ordering with sync waves, run lifecycle hooks, and clean them up via hook delete policies

Overview

Plural’s deployment operator supports sync controls on any Kubernetes manifest you manage with Plural. You can:

  • Specify the method used to sync resources
  • Order resource application using sync waves
  • Run lifecycle hooks at specific phases of a sync
  • Automatically clean up hook resources with delete policies

This lets you do things like run database migrations before an app rollout, seed data after, and strictly order dependencies across services.

Sync options

You can specify how resources are applied during a sync with the deployment.plural.sh/sync-options annotation. We also support the Argo CD argocd.argoproj.io/sync-options annotation for compatibility.

Supported options:

  • Replace=True - Use replace semantics (GET and PUT) instead of Server-Side Apply. This lets you remove fields from the live resource if they are absent from your desired manifest.
  • Force=True - If apply/replace fails (for example due to immutable field changes), the operator will delete and recreate the resource.

Options are comma-separated, case-insensitive key-value pairs. All whitespace is ignored. Both annotation namespaces are supported and values are normalized, so variants like Replace=True, replace=true, and REPLACE=true are accepted.

Behavior notes: