feat: configurable common path prefix for values files (#408)
Removes duplicated declaration path for cleaner helmfile, for example, this configuration.
```
- chart: projectABC
  name: {{ .Environment.Name }}-projectABC
  namespace: abc
  version: {{ .Environment.Values.projectABC.chart.version }}
  valuesPathPrefix: ../values/{{ .Environment.Name }}/
  values:
  - common.yaml
  - project-abc.yaml
  - platform.yaml
  - ...
  secrets:
  - secrets.yaml
```
			
			
This commit is contained in:
		
							parent
							
								
									4b22d4fc78
								
							
						
					
					
						commit
						39bc28c23f
					
				|  | @ -109,6 +109,8 @@ type ReleaseSpec struct { | |||
| 	// The 'env' section is not really necessary any longer, as 'set' would now provide the same functionality
 | ||||
| 	EnvValues []SetValue `yaml:"env"` | ||||
| 
 | ||||
| 	ValuesPathPrefix string `yaml:"valuesPathPrefix"` | ||||
| 
 | ||||
| 	// generatedValues are values that need cleaned up on exit
 | ||||
| 	generatedValues []string | ||||
| } | ||||
|  | @ -1091,7 +1093,8 @@ func (state *HelmState) namespaceAndValuesFlags(helm helmexec.Interface, release | |||
| 	for _, value := range release.Values { | ||||
| 		switch typedValue := value.(type) { | ||||
| 		case string: | ||||
| 			path := state.normalizePath(typedValue) | ||||
| 			path := state.normalizePath(release.ValuesPathPrefix + typedValue) | ||||
| 
 | ||||
| 			if _, err := os.Stat(path); os.IsNotExist(err) { | ||||
| 				return nil, err | ||||
| 			} | ||||
|  | @ -1129,7 +1132,7 @@ func (state *HelmState) namespaceAndValuesFlags(helm helmexec.Interface, release | |||
| 		} | ||||
| 	} | ||||
| 	for _, value := range release.Secrets { | ||||
| 		path := state.normalizePath(value) | ||||
| 		path := state.normalizePath(release.ValuesPathPrefix + value) | ||||
| 		if _, err := os.Stat(path); os.IsNotExist(err) { | ||||
| 			return nil, err | ||||
| 		} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue