Interpret values only once

What does this MR do and why?

While reviewing !2614 (closed), I realized that subsequent interpretations of values could be time consuming as we are running through the values several times, even when they are already interpreted.

interpret-values-gotpl is indeed called in several places (in each template file), this can be avoided by adding a marker to process the values only once.

this change has shown to bring significant performance gains (25%), here are the result of following command

time for i in $(seq 1 10); do helm template . --values test-values/capo-base/values.yaml; done

before

real    1m1,632s
user    1m19,054s
sys     0m1,664s

with proposed change

real    0m46,501s
user    0m59,439s
sys     0m1,076s

Merge request reports

Loading