Pass --delete Explicitly with flows bulk-update
For the complete documentation index, see llms.txt. For a full content snapshot, see llms-full.txt. Append.mdto anykestra.io/docs/*URL for plain Markdown.
Available on:Open Source EditionEnterprise Edition
The --delete flag on kestractl flows bulk-update now defaults to false instead of true.
Pipelines that ran kestractl flows bulk-update without an explicit --delete flag previously deleted every flow absent from the file. After upgrading, those flows are left in place. Pass --delete explicitly to retain the old behavior.
Why the change
The previous default of true made bulk-update the only destructive-by-default command in the CLI. A truncated YAML file, bad merge, or partial pipeline output could silently wipe every flow not present in the file. The new default matches flows namespace-sync, the Git SyncFlows and SyncNamespaceFiles plugin tasks, and the server-side namespace update behavior changed in kestra-io/kestra#1462.
Migration steps
- Find all CI/CD pipeline invocations of
kestractl flows bulk-update. - If a pipeline relied on implicit deletion, add
--deleteexplicitly to preserve the behavior.
Before (deletion happened implicitly)
kestractl flows bulk-update --file flows.yamlAfter (opt in to keep deletion behavior)
kestractl flows bulk-update --file flows.yaml --deletePipelines that never relied on implicit deletion require no change.
Was this page helpful?