Enable helmfile-deps to limit helm-dep-up by selector (#1764)
Ref https://github.com/roboll/helmfile/issues/809#issuecomment-814423653 This is not what had been requested originally in #809 but anyway- This enables you to limit helm-dep-up run by helmfile-deps by selector. For example, `helmfile -l name=foo deps` should result in only the release named `foo` to be helm-dep-uped.
This commit is contained in:
parent
2ff06a8abd
commit
74cd2bc147
|
|
@ -2128,9 +2128,26 @@ func (st *HelmState) ResolveDeps() (*HelmState, error) {
|
|||
|
||||
// UpdateDeps wrapper for updating dependencies on the releases
|
||||
func (st *HelmState) UpdateDeps(helm helmexec.Interface) []error {
|
||||
var selected []ReleaseSpec
|
||||
|
||||
if len(st.Selectors) > 0 {
|
||||
var err error
|
||||
|
||||
// This and releasesNeedCharts ensures that we run operations like helm-dep-build and prepare-hook calls only on
|
||||
// releases that are (1) selected by the selectors and (2) to be installed.
|
||||
selected, err = st.GetSelectedReleasesWithOverrides()
|
||||
if err != nil {
|
||||
return []error{err}
|
||||
}
|
||||
} else {
|
||||
selected = st.Releases
|
||||
}
|
||||
|
||||
releases := releasesNeedCharts(selected)
|
||||
|
||||
var errs []error
|
||||
|
||||
for _, release := range st.Releases {
|
||||
for _, release := range releases {
|
||||
if st.directoryExistsAt(release.Chart) {
|
||||
if err := helm.UpdateDeps(release.Chart); err != nil {
|
||||
errs = append(errs, err)
|
||||
|
|
|
|||
Loading…
Reference in New Issue