Fix `helmfile template` with Helm 3 ignoring chart version (#1406)
This fixes a regression introduced in #1399 Fixes #1377
This commit is contained in:
		
							parent
							
								
									2710cb382f
								
							
						
					
					
						commit
						61b61d3009
					
				|  | @ -905,8 +905,6 @@ func (st *HelmState) PrepareCharts(helm helmexec.Interface, dir string, concurre | |||
| 						} | ||||
| 					} | ||||
| 				} else { | ||||
| 					fetchFlags := []string{} | ||||
| 
 | ||||
| 					pathElems := []string{ | ||||
| 						dir, | ||||
| 					} | ||||
|  | @ -922,19 +920,15 @@ func (st *HelmState) PrepareCharts(helm helmexec.Interface, dir string, concurre | |||
| 					chartVersion := "latest" | ||||
| 					if release.Version != "" { | ||||
| 						chartVersion = release.Version | ||||
| 						fetchFlags = append(fetchFlags, "--version", release.Version) | ||||
| 					} | ||||
| 
 | ||||
| 					pathElems = append(pathElems, release.Name, chartName, chartVersion) | ||||
| 
 | ||||
| 					chartPath = path.Join(pathElems...) | ||||
| 
 | ||||
| 					if st.isDevelopment(release) { | ||||
| 						fetchFlags = append(fetchFlags, "--devel") | ||||
| 					} | ||||
| 
 | ||||
| 					// only fetch chart if it is not already fetched
 | ||||
| 					if _, err := os.Stat(chartPath); os.IsNotExist(err) { | ||||
| 						fetchFlags := st.chartVersionFlags(release) | ||||
| 						fetchFlags = append(fetchFlags, "--untar", "--untardir", chartPath) | ||||
| 						if err := helm.Fetch(chartName, fetchFlags...); err != nil { | ||||
| 							results <- &downloadResults{err: err} | ||||
|  | @ -1774,14 +1768,7 @@ func (st *HelmState) timeoutFlags(helm helmexec.Interface, release *ReleaseSpec) | |||
| } | ||||
| 
 | ||||
| func (st *HelmState) flagsForUpgrade(helm helmexec.Interface, release *ReleaseSpec, workerIndex int) ([]string, []string, error) { | ||||
| 	flags := []string{} | ||||
| 	if release.Version != "" { | ||||
| 		flags = append(flags, "--version", release.Version) | ||||
| 	} | ||||
| 
 | ||||
| 	if st.isDevelopment(release) { | ||||
| 		flags = append(flags, "--devel") | ||||
| 	} | ||||
| 	flags := st.chartVersionFlags(release) | ||||
| 
 | ||||
| 	if release.Verify != nil && *release.Verify || release.Verify == nil && st.HelmDefaults.Verify { | ||||
| 		flags = append(flags, "--verify") | ||||
|  | @ -1840,7 +1827,7 @@ func (st *HelmState) flagsForUpgrade(helm helmexec.Interface, release *ReleaseSp | |||
| } | ||||
| 
 | ||||
| func (st *HelmState) flagsForTemplate(helm helmexec.Interface, release *ReleaseSpec, workerIndex int) ([]string, []string, error) { | ||||
| 	flags := []string{} | ||||
| 	flags := st.chartVersionFlags(release) | ||||
| 
 | ||||
| 	var err error | ||||
| 	flags, err = st.appendHelmXFlags(flags, release) | ||||
|  | @ -1858,14 +1845,7 @@ func (st *HelmState) flagsForTemplate(helm helmexec.Interface, release *ReleaseS | |||
| } | ||||
| 
 | ||||
| func (st *HelmState) flagsForDiff(helm helmexec.Interface, release *ReleaseSpec, workerIndex int) ([]string, []string, error) { | ||||
| 	flags := []string{} | ||||
| 	if release.Version != "" { | ||||
| 		flags = append(flags, "--version", release.Version) | ||||
| 	} | ||||
| 
 | ||||
| 	if st.isDevelopment(release) { | ||||
| 		flags = append(flags, "--devel") | ||||
| 	} | ||||
| 	flags := st.chartVersionFlags(release) | ||||
| 
 | ||||
| 	disableOpenAPIValidation := false | ||||
| 	if release.DisableOpenAPIValidation != nil { | ||||
|  | @ -1904,6 +1884,20 @@ func (st *HelmState) flagsForDiff(helm helmexec.Interface, release *ReleaseSpec, | |||
| 	return append(flags, common...), files, nil | ||||
| } | ||||
| 
 | ||||
| func (st *HelmState) chartVersionFlags(release *ReleaseSpec) []string { | ||||
| 	flags := []string{} | ||||
| 
 | ||||
| 	if release.Version != "" { | ||||
| 		flags = append(flags, "--version", release.Version) | ||||
| 	} | ||||
| 
 | ||||
| 	if st.isDevelopment(release) { | ||||
| 		flags = append(flags, "--devel") | ||||
| 	} | ||||
| 
 | ||||
| 	return flags | ||||
| } | ||||
| 
 | ||||
| func (st *HelmState) appendApiVersionsFlags(flags []string) []string { | ||||
| 	for _, a := range st.ApiVersions { | ||||
| 		flags = append(flags, "--api-versions", a) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue