Minor tweaks for `helmfile write-values` (#1533)

See 1 and 3 in https://github.com/roboll/helmfile/issues/1460#issuecomment-691863465
This commit is contained in:
Yusuke Kuoka 2020-10-13 09:33:49 +09:00 committed by GitHub
parent d9286ed8f6
commit c170b5a621
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 25 deletions

View File

@ -1449,8 +1449,6 @@ func (a *App) writeValues(r *Run, c WriteValuesConfigProvider) (bool, []error) {
st := r.state
helm := r.helm
allReleases := st.GetReleasesWithOverrides()
toRender, err := a.getSelectedReleases(r)
if err != nil {
return false, []error{err}
@ -1474,32 +1472,25 @@ func (a *App) writeValues(r *Run, c WriteValuesConfigProvider) (bool, []error) {
var errs []error
// Traverse DAG of all the releases so that we don't suffer from false-positive missing dependencies
st.Releases = allReleases
// Note: We don't calculate the DAG of releases here unlike other helmfile operations,
// because there's no need to do so for just writing values.
// See the first bullet in https://github.com/roboll/helmfile/issues/1460#issuecomment-691863465
if len(releasesToWrite) > 0 {
_, writeErrs := withDAG(st, helm, a.Logger, false, a.Wrap(func(subst *state.HelmState, helm helmexec.Interface) []error {
var rs []state.ReleaseSpec
for _, r := range subst.Releases {
if r2, ok := releasesToWrite[state.ReleaseToID(&r)]; ok {
rs = append(rs, r2)
}
for _, r := range releasesToWrite {
rs = append(rs, r)
}
subst.Releases = rs
st.Releases = rs
opts := &state.WriteValuesOpts{
Set: c.Set(),
OutputFileTemplate: c.OutputFileTemplate(),
}
return subst.WriteReleasesValues(helm, c.Values(), opts)
}))
errs = st.WriteReleasesValues(helm, c.Values(), opts)
}
if writeErrs != nil && len(writeErrs) > 0 {
errs = append(errs, writeErrs...)
}
}
return true, errs
}

View File

@ -2651,7 +2651,7 @@ func (st *HelmState) GenerateOutputFilePath(release *ReleaseSpec, outputFileTemp
sb.WriteString(release.Name)
if outputFileTemplate == "" {
outputFileTemplate = filepath.Join("{{ .State.BaseName }}-{{ .State.AbsPathSHA1 }}", "{{ .Release.Name}}.yaml")
outputFileTemplate = filepath.Join("{{ .State.BaseName }}-{{ .State.AbsPathSHA1 }}", "{{ .Release.Name }}.yaml")
}
t, err := template.New("output-file").Parse(outputFileTemplate)