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:
parent
23be9af2db
commit
6d5f8c71cb
|
|
@ -1163,6 +1163,9 @@ func (a *App) template(r *Run, c TemplateConfigProvider) (bool, []error) {
|
||||||
releasesToRender := map[string]state.ReleaseSpec{}
|
releasesToRender := map[string]state.ReleaseSpec{}
|
||||||
for _, r := range toRender {
|
for _, r := range toRender {
|
||||||
id := state.ReleaseToID(&r)
|
id := state.ReleaseToID(&r)
|
||||||
|
if r.Installed != nil && !*r.Installed {
|
||||||
|
continue
|
||||||
|
}
|
||||||
releasesToRender[id] = r
|
releasesToRender[id] = r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,15 @@ func NewContext() Context {
|
||||||
func (ctx Context) SyncReposOnce(st *state.HelmState, helm state.RepoUpdater) []error {
|
func (ctx Context) SyncReposOnce(st *state.HelmState, helm state.RepoUpdater) []error {
|
||||||
var errs []error
|
var errs []error
|
||||||
|
|
||||||
|
hasInstalled := false
|
||||||
|
for _, release := range st.Releases {
|
||||||
|
hasInstalled = hasInstalled || release.Installed == nil || *release.Installed
|
||||||
|
}
|
||||||
|
|
||||||
|
if !hasInstalled {
|
||||||
|
return errs
|
||||||
|
}
|
||||||
|
|
||||||
allUpdated := true
|
allUpdated := true
|
||||||
for _, r := range st.Repositories {
|
for _, r := range st.Repositories {
|
||||||
_, exists := ctx.updatedRepos[r.Name]
|
_, exists := ctx.updatedRepos[r.Name]
|
||||||
|
|
|
||||||
|
|
@ -975,6 +975,9 @@ func (st *HelmState) prepareDiffReleases(helm helmexec.Interface, additionalValu
|
||||||
if !st.Releases[i].Desired() {
|
if !st.Releases[i].Desired() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
if st.Releases[i].Installed != nil && !*(st.Releases[i].Installed) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
releases = append(releases, &st.Releases[i])
|
releases = append(releases, &st.Releases[i])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1388,6 +1391,10 @@ func (st *HelmState) PrepareReleases(helm helmexec.Interface, helmfileCommand st
|
||||||
for i := range st.Releases {
|
for i := range st.Releases {
|
||||||
release := st.Releases[i]
|
release := st.Releases[i]
|
||||||
|
|
||||||
|
if release.Installed != nil && !*release.Installed {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if _, err := st.triggerPrepareEvent(&release, helmfileCommand); err != nil {
|
if _, err := st.triggerPrepareEvent(&release, helmfileCommand); err != nil {
|
||||||
errs = append(errs, newReleaseFailedError(&release, err))
|
errs = append(errs, newReleaseFailedError(&release, err))
|
||||||
continue
|
continue
|
||||||
|
|
@ -1484,6 +1491,10 @@ func (st *HelmState) BuildDeps(helm helmexec.Interface) []error {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if release.Installed != nil && !*release.Installed {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if isLocalChart(release.Chart) {
|
if isLocalChart(release.Chart) {
|
||||||
if err := helm.BuildDeps(release.Name, normalizeChart(st.basePath, release.Chart)); err != nil {
|
if err := helm.BuildDeps(release.Name, normalizeChart(st.basePath, release.Chart)); err != nil {
|
||||||
errs = append(errs, err)
|
errs = append(errs, err)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue