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") labels := c.GlobalStringSlice("selector")
st, err := state.ReadFromFile(file) st, err := state.ReadFromFile(file)
if err != nil && strings.Contains(err.Error(), fmt.Sprintf("open %s:", DefaultHelmfile)) { if err != nil {
var fallbackErr error if strings.Contains(err.Error(), fmt.Sprintf("open %s:", DefaultHelmfile)) {
st, fallbackErr = state.ReadFromFile(DeprecatedHelmfile) var fallbackErr error
if fallbackErr != nil { st, fallbackErr = state.ReadFromFile(DeprecatedHelmfile)
return nil, nil, fmt.Errorf("failed to read %s and %s: %v", file, DeprecatedHelmfile, err) 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 st.Context != "" {
if kubeContext != "" { if kubeContext != "" {
log.Printf("err: Cannot use option --kube-context and set attribute context.") 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 errQueue <- err
haveValueErr = true haveValueErr = true
} }
if _, err := os.Stat(valfile); os.IsNotExist(err) {
errQueue <- err
haveValueErr = true
}
flags = append(flags, "--values", valfile) flags = append(flags, "--values", valfile)
} }
@ -241,6 +246,10 @@ func (state *HelmState) DiffReleases(helm helmexec.Interface, additionalValues [
if err != nil { if err != nil {
errs = append(errs, err) errs = append(errs, err)
} }
if _, err := os.Stat(valfile); os.IsNotExist(err) {
errs = append(errs, err)
}
flags = append(flags, "--values", valfile) flags = append(flags, "--values", valfile)
} }
if len(errs) == 0 { if len(errs) == 0 {
@ -386,6 +395,11 @@ func flagsForRelease(helm helmexec.Interface, basePath string, release *ReleaseS
if err != nil { if err != nil {
return nil, err return nil, err
} }
if _, err := os.Stat(valfileRendered); os.IsNotExist(err) {
return nil, err
}
flags = append(flags, "--values", valfileRendered) flags = append(flags, "--values", valfileRendered)
} }
for _, value := range release.Secrets { for _, value := range release.Secrets {
@ -395,6 +409,10 @@ func flagsForRelease(helm helmexec.Interface, basePath string, release *ReleaseS
return nil, err return nil, err
} }
if _, err := os.Stat(path); os.IsNotExist(err) {
return nil, err
}
valfileRendered, err := helm.DecryptSecret(path) valfileRendered, err := helm.DecryptSecret(path)
if err != nil { if err != nil {
return nil, err return nil, err