56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
package state
 | 
						|
 | 
						|
type Dependency struct {
 | 
						|
	Chart   string `yaml:"chart"`
 | 
						|
	Version string `yaml:"version"`
 | 
						|
	Alias   string `yaml:"alias"`
 | 
						|
}
 | 
						|
 | 
						|
func (st *HelmState) appendHelmXFlags(flags []string, release *ReleaseSpec) ([]string, error) {
 | 
						|
	for _, d := range release.Dependencies {
 | 
						|
		var dep string
 | 
						|
		if d.Alias != "" {
 | 
						|
			dep += d.Alias + "="
 | 
						|
		}
 | 
						|
		dep += d.Chart
 | 
						|
		if d.Version != "" {
 | 
						|
			dep += ":" + d.Version
 | 
						|
		}
 | 
						|
		flags = append(flags, "--dependency", dep)
 | 
						|
	}
 | 
						|
 | 
						|
	for _, adopt := range release.Adopt {
 | 
						|
		flags = append(flags, "--adopt", adopt)
 | 
						|
	}
 | 
						|
 | 
						|
	jsonPatches := release.JSONPatches
 | 
						|
	if len(jsonPatches) > 0 {
 | 
						|
		generatedFiles, err := st.generateTemporaryValuesFiles(jsonPatches, release.MissingFileHandler)
 | 
						|
		if err != nil {
 | 
						|
			return nil, err
 | 
						|
		}
 | 
						|
 | 
						|
		for _, f := range generatedFiles {
 | 
						|
			flags = append(flags, "--json-patch", f)
 | 
						|
		}
 | 
						|
 | 
						|
		release.generatedValues = append(release.generatedValues, generatedFiles...)
 | 
						|
	}
 | 
						|
 | 
						|
	strategicMergePatches := release.StrategicMergePatches
 | 
						|
	if len(strategicMergePatches) > 0 {
 | 
						|
		generatedFiles, err := st.generateTemporaryValuesFiles(strategicMergePatches, release.MissingFileHandler)
 | 
						|
		if err != nil {
 | 
						|
			return nil, err
 | 
						|
		}
 | 
						|
 | 
						|
		for _, f := range generatedFiles {
 | 
						|
			flags = append(flags, "--strategic-merge-patch", f)
 | 
						|
		}
 | 
						|
 | 
						|
		release.generatedValues = append(release.generatedValues, generatedFiles...)
 | 
						|
	}
 | 
						|
 | 
						|
	return flags, nil
 | 
						|
}
 |