argo-workflows icon indicating copy to clipboard operation
argo-workflows copied to clipboard

Fix `{{..}}` templating

Open alexec opened this issue 3 years ago • 0 comments

The current templating system appears to be the primary cause of confusion and bugs. These are caused by the following:

  1. 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
  2. We use several evaluation technologies: Govaluate, fasttemplate, Expr+Sprig.

Minor issues:

  1. {{..}} does not play nicely with Helm templating.
  2. podSpecPatch is 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 expr as the templating technology (easy).
  • Make evaluation time predicable - at field access time (hard).

alexec avatar Sep 06 '22 15:09 alexec