diff --git a/pkg/state/state_exec_tmpl.go b/pkg/state/state_exec_tmpl.go index 7c62717f..023287f5 100644 --- a/pkg/state/state_exec_tmpl.go +++ b/pkg/state/state_exec_tmpl.go @@ -17,7 +17,7 @@ func (st *HelmState) Values() map[string]interface{} { } func (st *HelmState) createReleaseTemplateData(release *ReleaseSpec, vals map[string]interface{}) releaseTemplateData { - return releaseTemplateData{ + tmplData := releaseTemplateData{ Environment: st.Env, Namespace: st.OverrideNamespace, Values: vals, @@ -28,6 +28,8 @@ func (st *HelmState) createReleaseTemplateData(release *ReleaseSpec, vals map[st Labels: release.Labels, }, } + tmplData.StateValues = &tmplData.Values + return tmplData } func getBoolRefFromStringTemplate(templateRef string) (*bool, error) { diff --git a/pkg/state/types.go b/pkg/state/types.go index 2b76b8ef..9e28c840 100644 --- a/pkg/state/types.go +++ b/pkg/state/types.go @@ -28,7 +28,8 @@ type releaseTemplateData struct { // It contains a subset of ReleaseSpec that is known to be useful to dynamically render values. Release releaseTemplateDataRelease // Values is accessible as `.Values` and it contains default state values overrode by environment values and override values. - Values map[string]interface{} + Values map[string]interface{} + StateValues *map[string]interface{} // Namespace is HelmState.OverrideNamespace. // You should better use Release.Namespace as it might work as you'd expect even if OverrideNamespace is not set. // See releaseTemplateDataRelease.Namespace for more information.