argo-workflows
argo-workflows copied to clipboard
Fix `{{..}}` templating
The current templating system appears to be the primary cause of confusion and bugs. These are caused by the following:
- Template evaluation is unpredicable. By which I mean, you don't know when it'll evaluate and what the output will be. This can result in a workflow that passes just some of the time
- We use several evaluation technologies: Govaluate, fasttemplate, Expr+Sprig.
Minor issues:
-
{{..}}does not play nicely with Helm templating. -
podSpecPatchis arguably a work-around rather than a solution.
It would be great to remove this entires class of issue.
To fix this we should:
- Standardize on
expras the templating technology (easy). - Make evaluation time predicable - at field access time (hard).