argoproj / argoproj/argo-workflows
Retroactive/historical `TTLStrategy` and `activeDeadlineSeconds`
- Dominant language
- Go
- Stars
- 17k
- Forks
- 3.7k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 138
Description
# Summary
Currently you can set `activeDeadlineSeconds` and `ttlStrategy` on a per workflow basis, or as a default. But neither apply retroactively.
# Motivation
So we can clean-up historical workflows automatically, reducing operating costs.
# Proposal
For new workflows we can apply them automatically when we set-up defaults.
For historical workflows, we can't do `activeDeadlineSeconds`. This is applied to pods when they are created.
For historical workflows, we already have an TTL informer that will delete them. What we could do is when that informer starts, if they are missing the value, and we think they should have it, we patch them.
---
**Message from the maintainers**:
If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.
Contributor guide
Research direction
Start with the existing TTL informer and the handling of TTLStrategy and activeDeadlineSeconds. Determine how defaults identify historical workflows that are missing values; done means eligible workflows are patched for TTL cleanup while activeDeadlineSeconds remains limited to newly created pods, with tests covering the behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- backend, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100