argoproj / argoproj/argo-workflows

Retroactive/historical `TTLStrategy` and `activeDeadlineSeconds`

Open
#2,992 2 comments 0 reactions 0 assignees View on GitHub
area/controller area/gc
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.