It looks like the case that when I delete an Argo cron workflow with argo cron delete, all the previous workflows (completed as well as still running ones) will also be deleted based on my observation. I'm not totally sure though and I haven't found a more detailed doc than https://argoproj.github.io/argo/cli/argo_cron_delete/.
What if I'd like to keep all the history workflows when e.g. updating the frequency of a cron workflow, e.g. to run every Monday instead of every day? What would be the recommended way to do such an update?
To add to Michael's answer:
CronWorkflows are owners of all the Workflows they spawn, so how their respective Workflows are deleted when the parent CronWorkflow is deleted is governed by Kubernetes' Garbage Collection policies. Argo does not delete the child Workflows of a CronWorkflow when the latter is deleted, Kuebrnetes does. You can see the Kubernetes doc for more options on how to manage this.
(Edit: adding more info)
For example, to delete a CronWorkflow while leaving its children Workflows intact, you can run:
kubectl delete cwf my-cwf --cascade=false
Source: I developed the CronWorkflow feature.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With