refactor: delay to get `CRDObjects()` when it is really needed.

Signed-off-by: hustclf <hustclf@gmail.com>
pull/8979/head
hustclf 5 years ago
parent 9aa0fbee6c
commit e900f05a16

@ -181,16 +181,18 @@ func (i *Install) Run(chrt *chart.Chart, vals map[string]interface{}) (*release.
return nil, err
}
// Pre-install anything in the crd/ directory. We do this before Helm
// Pre-install anything in the crds/ directory. We do this before Helm
// contacts the upstream server and builds the capabilities object.
if crds := chrt.CRDObjects(); !i.ClientOnly && !i.SkipCRDs && len(crds) > 0 {
if !i.ClientOnly && !i.SkipCRDs {
// On dry run, bail here
if i.DryRun {
i.cfg.Log("WARNING: This chart or one of its subcharts contains CRDs. Rendering may fail or contain inaccuracies.")
} else if err := i.installCRDs(crds); err != nil {
} else if crds := chrt.CRDObjects(); len(crds) > 0 {
if err := i.installCRDs(crds); err != nil {
return nil, err
}
}
}
if i.ClientOnly {
// Add mock objects in here so it doesn't use Kube API server

Loading…
Cancel
Save