From 09bedff7d57136bada0792eae612294cf213e9e0 Mon Sep 17 00:00:00 2001 From: Sushil Kumar Date: Mon, 5 Jun 2017 16:34:04 -0700 Subject: [PATCH] Allow updating chart dependencies when packaging a chart Added -u flag that would cause helm dep up before running helm package Fixes https://github.com/kubernetes/helm/issues/2128 --- cmd/helm/package.go | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/cmd/helm/package.go b/cmd/helm/package.go index 9ca853ad3..561144cac 100644 --- a/cmd/helm/package.go +++ b/cmd/helm/package.go @@ -48,13 +48,14 @@ Versioned chart archives are used by Helm package repositories. ` type packageCmd struct { - save bool - sign bool - path string - key string - keyring string - version string - destination string + save bool + sign bool + path string + key string + keyring string + version string + destination string + dependencyUpdate bool out io.Writer home helmpath.Home @@ -99,6 +100,7 @@ func newPackageCmd(out io.Writer) *cobra.Command { f.StringVar(&pkg.keyring, "keyring", defaultKeyring(), "location of a public keyring") f.StringVar(&pkg.version, "version", "", "set the version on the chart to this semver version") f.StringVarP(&pkg.destination, "destination", "d", ".", "location to write the chart.") + f.BoolVarP(&pkg.dependencyUpdate, "dependency-update", "u", false, `update dependencies from "requirements.yaml" to dir "charts/" before packaging`) return cmd } @@ -109,6 +111,21 @@ func (p *packageCmd) run(cmd *cobra.Command, args []string) error { return err } + if p.dependencyUpdate { + dependencyUpdateCommand := &dependencyUpdateCmd{ + out: p.out, + keyring: p.keyring, + helmhome: settings.Home, + } + dependencyUpdateCommand.chartpath, err = filepath.Abs(path) + if err != nil { + return err + } + if err := dependencyUpdateCommand.run(); err != nil { + return err + } + } + ch, err := chartutil.LoadDir(path) if err != nil { return err