Merge pull request #83 from sstarcher/file_exists

checks for file existence
This commit is contained in:
KUOKA Yusuke 2018-04-04 16:48:29 +09:00 committed by GitHub
commit 283848c594
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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

@ -180,6 +180,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)
}
@ -240,6 +245,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 {
@ -385,6 +394,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 {
@ -394,6 +408,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