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 theWorkflows
they spawn, so how their respectiveWorkflows
are deleted when the parentCronWorkflow
is deleted is governed by Kubernetes' Garbage Collection policies. Argo does not delete the childWorkflows
of aCronWorkflow
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 childrenWorkflows
intact, you can run:Source: I developed the
CronWorkflow
feature.