checks for file existance

This commit is contained in:
Shane Starcher 2018-04-03 10:03:42 -04:00
parent 813fd4bfc7
commit 9ee0f967c8
2 changed files with 29 additions and 6 deletions

17
main.go
View File

@ -242,14 +242,19 @@ func before(c *cli.Context) (*state.HelmState, helmexec.Interface, error) {
labels := c.GlobalStringSlice("selector")
st, err := state.ReadFromFile(file)
if err != nil && strings.Contains(err.Error(), fmt.Sprintf("open %s:", DefaultHelmfile)) {
var fallbackErr error
st, fallbackErr = state.ReadFromFile(DeprecatedHelmfile)
if fallbackErr != nil {
return nil, nil, fmt.Errorf("failed to read %s and %s: %v", file, DeprecatedHelmfile, err)
if err != nil {
if strings.Contains(err.Error(), fmt.Sprintf("open %s:", DefaultHelmfile)) {
var fallbackErr error
st, fallbackErr = state.ReadFromFile(DeprecatedHelmfile)
if fallbackErr != nil {
return nil, nil, fmt.Errorf("failed to read %s and %s: %v", file, DeprecatedHelmfile, err)
}
log.Printf("warn: charts.yaml is loaded: charts.yaml is deprecated in favor of helmfile.yaml. See https://github.com/roboll/helmfile/issues/25 for more information")
} else {
return nil, nil, fmt.Errorf("failed to read %s: %v", file, err)
}
log.Printf("warn: charts.yaml is loaded: charts.yaml is deprecated in favor of helmfile.yaml. See https://github.com/roboll/helmfile/issues/25 for more information")
}
if st.Context != "" {
if kubeContext != "" {
log.Printf("err: Cannot use option --kube-context and set attribute context.")

View File

@ -181,6 +181,11 @@ func (state *HelmState) SyncReleases(helm helmexec.Interface, additionalValues [
errQueue <- err
haveValueErr = true
}
if _, err := os.Stat(valfile); os.IsNotExist(err) {
errQueue <- err
haveValueErr = true
}
flags = append(flags, "--values", valfile)
}
@ -241,6 +246,10 @@ func (state *HelmState) DiffReleases(helm helmexec.Interface, additionalValues [
if err != nil {
errs = append(errs, err)
}
if _, err := os.Stat(valfile); os.IsNotExist(err) {
errs = append(errs, err)
}
flags = append(flags, "--values", valfile)
}
if len(errs) == 0 {
@ -386,6 +395,11 @@ func flagsForRelease(helm helmexec.Interface, basePath string, release *ReleaseS
if err != nil {
return nil, err
}
if _, err := os.Stat(valfileRendered); os.IsNotExist(err) {
return nil, err
}
flags = append(flags, "--values", valfileRendered)
}
for _, value := range release.Secrets {
@ -395,6 +409,10 @@ func flagsForRelease(helm helmexec.Interface, basePath string, release *ReleaseS
return nil, err
}
if _, err := os.Stat(path); os.IsNotExist(err) {
return nil, err
}
valfileRendered, err := helm.DecryptSecret(path)
if err != nil {
return nil, err