diff --git a/docs/proposals/towards-1.0.md b/docs/proposals/towards-1.0.md index 31161abb..6d879ccb 100644 --- a/docs/proposals/towards-1.0.md +++ b/docs/proposals/towards-1.0.md @@ -8,7 +8,7 @@ Note that every breaking change should have an easy alternative way to achieve t 1. Forbid the use of `environments` and `releases` within a single helmfile.yaml part - Helmfile currently relies on a hack called "double rendering" which no one understands correctly (I suppose) to solve the chicken-and-egg problem of rendering the helmfile template(which requires helmfile to parse `environments` as yaml first) and parsing the rendered helmfile as yaml(which requires helmfile to render the template first). - - By forcing (or print a big warning) the user to separate helmfile parts for `environments` and `releases`, it's very unlikely Helmfile needs double-rendering at all. + - By forcing (or print a big warning) the user to do separate helmfile parts for `environments` and `releases`, it's very unlikely Helmfile needs double-rendering at all. - After this change, every helmfile.yaml written this way: ``` @@ -54,6 +54,8 @@ Note that every breaking change should have an easy alternative way to achieve t values: - {{ .Values | toYaml | nindent 4 }} ``` + + If you're already using any helmfile.yaml files that are written in the first style, do start using `---` today! It will probably reveal and fix unintended template evaluations. If you start using `---` today, you won't need to do anything after Helmfile 1.0. 2. Force `.gotmpl` (or `.tpl`) file extension for `helmfile.yaml` in case you want helmfile to render it as a go template before yaml parsing. - As the primary maintainer of the project, I'm tired of explaining why Helmfile renders go template expressions embedded in a yaml comment. [The latest example of it](https://github.com/helmfile/helmfile/issues/127). - When we first introduced helmfile the ability to render helmfile.yaml as a go template, I did propose it to require `.gotmpl` file extension to enable the feature. But none of active helmfile users and contributors at that time agreed with it (although I didn't have a very strong opinion on the matter either), so we enabled it without the extension. I consider it as a tech debt now.