Allow skipping chart-related operations when installed: false (#1233)

Resolves #1232

CHANGES:

* Disable repo update when installed is false

When install is false, we do not need to update the repositories and get
the chart.

Signed-off-by: Guillaume Perrin <guillaume28.perrin@gmail.com>
This commit is contained in:
Guillaume Perrin
2020-05-09 14:03:56 +09:00
committed by GitHub
parent 23be9af2db
commit 6d5f8c71cb
3 changed files with 23 additions and 0 deletions
+3
View File
@@ -1163,6 +1163,9 @@ func (a *App) template(r *Run, c TemplateConfigProvider) (bool, []error) {
releasesToRender := map[string]state.ReleaseSpec{}
for _, r := range toRender {
id := state.ReleaseToID(&r)
if r.Installed != nil && !*r.Installed {
continue
}
releasesToRender[id] = r
}
+9
View File
@@ -17,6 +17,15 @@ func NewContext() Context {
func (ctx Context) SyncReposOnce(st *state.HelmState, helm state.RepoUpdater) []error {
var errs []error
hasInstalled := false
for _, release := range st.Releases {
hasInstalled = hasInstalled || release.Installed == nil || *release.Installed
}
if !hasInstalled {
return errs
}
allUpdated := true
for _, r := range st.Repositories {
_, exists := ctx.updatedRepos[r.Name]
+11
View File
@@ -975,6 +975,9 @@ func (st *HelmState) prepareDiffReleases(helm helmexec.Interface, additionalValu
if !st.Releases[i].Desired() {
continue
}
if st.Releases[i].Installed != nil && !*(st.Releases[i].Installed) {
continue
}
releases = append(releases, &st.Releases[i])
}
@@ -1388,6 +1391,10 @@ func (st *HelmState) PrepareReleases(helm helmexec.Interface, helmfileCommand st
for i := range st.Releases {
release := st.Releases[i]
if release.Installed != nil && !*release.Installed {
continue
}
if _, err := st.triggerPrepareEvent(&release, helmfileCommand); err != nil {
errs = append(errs, newReleaseFailedError(&release, err))
continue
@@ -1484,6 +1491,10 @@ func (st *HelmState) BuildDeps(helm helmexec.Interface) []error {
continue
}
if release.Installed != nil && !*release.Installed {
continue
}
if isLocalChart(release.Chart) {
if err := helm.BuildDeps(release.Name, normalizeChart(st.basePath, release.Chart)); err != nil {
errs = append(errs, err)