mirror of
https://github.com/helm/helm.git
synced 2026-08-05 07:30:46 +00:00
ref(action): move AddFlags functions back to cmd
Signed-off-by: Matthew Fisher <matt.fisher@microsoft.com>
This commit is contained in:
@@ -17,10 +17,12 @@ package main
|
||||
|
||||
import (
|
||||
"io"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"k8s.io/client-go/util/homedir"
|
||||
"k8s.io/helm/cmd/helm/require"
|
||||
"k8s.io/helm/pkg/action"
|
||||
"k8s.io/helm/pkg/downloader"
|
||||
@@ -68,7 +70,17 @@ func newDependencyBuildCmd(out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddBuildFlags(cmd.Flags())
|
||||
f := cmd.Flags()
|
||||
f.BoolVar(&client.Verify, "verify", false, "verify the packages against signatures")
|
||||
f.StringVar(&client.Keyring, "keyring", defaultKeyring(), "keyring containing public keys")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
// defaultKeyring returns the expanded path to the default keyring.
|
||||
func defaultKeyring() string {
|
||||
if v, ok := os.LookupEnv("GNUPGHOME"); ok {
|
||||
return filepath.Join(v, "pubring.gpg")
|
||||
}
|
||||
return filepath.Join(homedir.HomeDir(), ".gnupg", "pubring.gpg")
|
||||
}
|
||||
|
||||
@@ -75,7 +75,10 @@ func newDependencyUpdateCmd(out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddUpdateFlags(cmd.Flags())
|
||||
f := cmd.Flags()
|
||||
f.BoolVar(&client.Verify, "verify", false, "verify the packages against signatures")
|
||||
f.StringVar(&client.Keyring, "keyring", defaultKeyring(), "keyring containing public keys")
|
||||
f.BoolVar(&client.SkipRefresh, "skip-refresh", false, "do not refresh the local repository cache")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ func newGetCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
cmd.Flags().IntVar(&client.Version, "revision", 0, "get the named release with revision")
|
||||
|
||||
cmd.AddCommand(newGetValuesCmd(cfg, out))
|
||||
cmd.AddCommand(newGetManifestCmd(cfg, out))
|
||||
|
||||
@@ -52,7 +52,7 @@ func newGetHooksCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
cmd.Flags().IntVar(&client.Version, "revision", 0, "get the named release with revision")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ func newGetManifestCmd(cfg *action.Configuration, out io.Writer) *cobra.Command
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
cmd.Flags().IntVar(&client.Version, "revision", 0, "get the named release with revision")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -48,6 +48,8 @@ func newGetValuesCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
f := cmd.Flags()
|
||||
f.IntVar(&client.Version, "revision", 0, "get the named release with revision")
|
||||
f.BoolVarP(&client.AllValues, "all", "a", false, "dump all (computed) values")
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -61,7 +61,9 @@ func newHistoryCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
f := cmd.Flags()
|
||||
f.StringVarP(&client.OutputFormat, "output", "o", action.Table.String(), "prints the output in the specified format (json|table|yaml)")
|
||||
f.IntVar(&client.Max, "max", 256, "maximum number of revision to include in history")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import (
|
||||
"k8s.io/helm/pkg/release"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/cmd/helm/require"
|
||||
"k8s.io/helm/pkg/action"
|
||||
@@ -111,11 +112,43 @@ func newInstallCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
addInstallFlags(cmd.Flags(), client)
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
func addInstallFlags(f *pflag.FlagSet, client *action.Install) {
|
||||
f.BoolVar(&client.DryRun, "dry-run", false, "simulate an install")
|
||||
f.BoolVar(&client.DisableHooks, "no-hooks", false, "prevent hooks from running during install")
|
||||
f.BoolVar(&client.Replace, "replace", false, "re-use the given name, even if that name is already used. This is unsafe in production")
|
||||
f.Int64Var(&client.Timeout, "timeout", 300, "time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks)")
|
||||
f.BoolVar(&client.Wait, "wait", false, "if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful. It will wait for as long as --timeout")
|
||||
f.BoolVarP(&client.GenerateName, "generate-name", "g", false, "generate the name (and omit the NAME parameter)")
|
||||
f.StringVar(&client.NameTemplate, "name-template", "", "specify template used to name the release")
|
||||
f.BoolVar(&client.Devel, "devel", false, "use development versions, too. Equivalent to version '>0.0.0-0'. If --version is set, this is ignored.")
|
||||
f.BoolVar(&client.DependencyUpdate, "dependency-update", false, "run helm dependency update before installing the chart")
|
||||
addValueOptionsFlags(f, &client.ValueOptions)
|
||||
addChartPathOptionsFlags(f, &client.ChartPathOptions)
|
||||
}
|
||||
|
||||
func addValueOptionsFlags(f *pflag.FlagSet, v *action.ValueOptions) {
|
||||
f.StringSliceVarP(&v.ValueFiles, "values", "f", []string{}, "specify values in a YAML file or a URL(can specify multiple)")
|
||||
f.StringArrayVar(&v.Values, "set", []string{}, "set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)")
|
||||
f.StringArrayVar(&v.StringValues, "set-string", []string{}, "set STRING values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)")
|
||||
}
|
||||
|
||||
func addChartPathOptionsFlags(f *pflag.FlagSet, c *action.ChartPathOptions) {
|
||||
f.StringVar(&c.Version, "version", "", "specify the exact chart version to install. If this is not specified, the latest version is installed")
|
||||
f.BoolVar(&c.Verify, "verify", false, "verify the package before installing it")
|
||||
f.StringVar(&c.Keyring, "keyring", defaultKeyring(), "location of public keys used for verification")
|
||||
f.StringVar(&c.RepoURL, "repo", "", "chart repository url where to locate the requested chart")
|
||||
f.StringVar(&c.Username, "username", "", "chart repository username where to locate the requested chart")
|
||||
f.StringVar(&c.Password, "password", "", "chart repository password where to locate the requested chart")
|
||||
f.StringVar(&c.CertFile, "cert-file", "", "identify HTTPS client using this SSL certificate file")
|
||||
f.StringVar(&c.KeyFile, "key-file", "", "identify HTTPS client using this SSL key file")
|
||||
f.StringVar(&c.CaFile, "ca-file", "", "verify certificates of HTTPS-enabled servers using this CA bundle")
|
||||
}
|
||||
|
||||
func runInstall(args []string, client *action.Install, out io.Writer) (*release.Release, error) {
|
||||
debug("Original chart version: %q", client.Version)
|
||||
if client.Version == "" && client.Devel {
|
||||
|
||||
@@ -70,7 +70,9 @@ func newLintCmd(out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
f := cmd.Flags()
|
||||
f.BoolVar(&client.Strict, "strict", false, "fail on lint warnings")
|
||||
addValueOptionsFlags(f, &client.ValueOptions)
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -83,7 +83,21 @@ func newListCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
f := cmd.Flags()
|
||||
f.BoolVarP(&client.Short, "short", "q", false, "output short (quiet) listing format")
|
||||
f.BoolVarP(&client.ByDate, "date", "d", false, "sort by release date")
|
||||
f.BoolVarP(&client.SortDesc, "reverse", "r", false, "reverse the sort order")
|
||||
f.BoolVarP(&client.All, "all", "a", false, "show all releases, not just the ones marked deployed")
|
||||
f.BoolVar(&client.Uninstalled, "uninstalled", false, "show uninstalled releases")
|
||||
f.BoolVar(&client.Superseded, "superseded", false, "show superseded releases")
|
||||
f.BoolVar(&client.Uninstalling, "uninstalling", false, "show releases that are currently being uninstalled")
|
||||
f.BoolVar(&client.Deployed, "deployed", false, "show deployed releases. If no other is specified, this will be automatically enabled")
|
||||
f.BoolVar(&client.Failed, "failed", false, "show failed releases")
|
||||
f.BoolVar(&client.Pending, "pending", false, "show pending releases")
|
||||
f.BoolVar(&client.AllNamespaces, "all-namespaces", false, "list releases across all namespaces")
|
||||
f.IntVarP(&client.Limit, "max", "m", 256, "maximum number of releases to fetch")
|
||||
f.IntVarP(&client.Offset, "offset", "o", 0, "next release name in the list, used to offset from start value")
|
||||
f.StringVarP(&client.Filter, "filter", "f", "", "a regular expression (Perl compatible). Any releases that match the expression will be included in the results")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -95,7 +95,15 @@ func newPackageCmd(out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
f := cmd.Flags()
|
||||
f.BoolVar(&client.Sign, "sign", false, "use a PGP private key to sign this package")
|
||||
f.StringVar(&client.Key, "key", "", "name of the key to use when signing. Used if --sign is true")
|
||||
f.StringVar(&client.Keyring, "keyring", defaultKeyring(), "location of a public keyring")
|
||||
f.StringVar(&client.Version, "version", "", "set the version on the chart to this semver version")
|
||||
f.StringVar(&client.AppVersion, "app-version", "", "set the appVersion on the chart to this version")
|
||||
f.StringVarP(&client.Destination, "destination", "d", ".", "location to write the chart.")
|
||||
f.BoolVarP(&client.DependencyUpdate, "dependency-update", "u", false, `update dependencies from "Chart.yaml" to dir "charts/" before packaging`)
|
||||
addValueOptionsFlags(f, &client.ValueOptions)
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -68,7 +68,13 @@ func newPullCmd(out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
f := cmd.Flags()
|
||||
f.BoolVar(&client.Devel, "devel", false, "use development versions, too. Equivalent to version '>0.0.0-0'. If --version is set, this is ignored.")
|
||||
f.BoolVar(&client.Untar, "untar", false, "if set to true, will untar the chart after downloading it")
|
||||
f.BoolVar(&client.VerifyLater, "prov", false, "fetch the provenance file, but don't perform verification")
|
||||
f.StringVar(&client.UntarDir, "untardir", ".", "if untar is specified, this flag specifies the name of the directory into which the chart is expanded")
|
||||
f.StringVarP(&client.DestDir, "destination", "d", ".", "location to write the chart. If this and tardir are specified, tardir is appended to this")
|
||||
addChartPathOptionsFlags(f, &client.ChartPathOptions)
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -68,7 +68,9 @@ func newReleaseTestCmd(cfg *action.Configuration, out io.Writer) *cobra.Command
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
f := cmd.Flags()
|
||||
f.Int64Var(&client.Timeout, "timeout", 300, "time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks)")
|
||||
f.BoolVar(&client.Cleanup, "cleanup", false, "delete test pods upon completion")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -54,7 +54,14 @@ func newRollbackCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
f := cmd.Flags()
|
||||
f.IntVarP(&client.Version, "version", "v", 0, "revision number to rollback to (default: rollback to previous release)")
|
||||
f.BoolVar(&client.DryRun, "dry-run", false, "simulate a rollback")
|
||||
f.BoolVar(&client.Recreate, "recreate-pods", false, "performs pods restart for the resource if applicable")
|
||||
f.BoolVar(&client.Force, "force", false, "force resource update through delete/recreate if needed")
|
||||
f.BoolVar(&client.DisableHooks, "no-hooks", false, "prevent hooks from running during rollback")
|
||||
f.Int64Var(&client.Timeout, "timeout", 300, "time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks)")
|
||||
f.BoolVar(&client.Wait, "wait", false, "if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful. It will wait for as long as --timeout")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -133,7 +133,7 @@ func newShowCmd(out io.Writer) *cobra.Command {
|
||||
|
||||
cmds := []*cobra.Command{showCommand, readmeSubCmd, valuesSubCmd, chartSubCmd}
|
||||
for _, subCmd := range cmds {
|
||||
client.AddFlags(subCmd.Flags())
|
||||
addChartPathOptionsFlags(subCmd.Flags(), &client.ChartPathOptions)
|
||||
}
|
||||
|
||||
for _, subCmd := range cmds[1:] {
|
||||
|
||||
@@ -83,7 +83,9 @@ func newStatusCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.PersistentFlags())
|
||||
f := cmd.PersistentFlags()
|
||||
f.IntVar(&client.Version, "revision", 0, "if set, display the status of the named release with revision")
|
||||
f.StringVarP(&client.OutputFormat, "output", "o", "", "output the status in the specified format (json or yaml)")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ func newTemplateCmd(out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
addInstallFlags(cmd.Flags(), client)
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -61,7 +61,11 @@ func newUninstallCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
f := cmd.Flags()
|
||||
f.BoolVar(&client.DryRun, "dry-run", false, "simulate a uninstall")
|
||||
f.BoolVar(&client.DisableHooks, "no-hooks", false, "prevent hooks from running during uninstallation")
|
||||
f.BoolVar(&client.Purge, "purge", false, "remove the release from the store and make its name free for later use")
|
||||
f.Int64Var(&client.Timeout, "timeout", 300, "time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks)")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -135,7 +135,20 @@ func newUpgradeCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
f := cmd.Flags()
|
||||
f.BoolVarP(&client.Install, "install", "i", false, "if a release by this name doesn't already exist, run an install")
|
||||
f.BoolVar(&client.Devel, "devel", false, "use development versions, too. Equivalent to version '>0.0.0-0'. If --version is set, this is ignored.")
|
||||
f.BoolVar(&client.DryRun, "dry-run", false, "simulate an upgrade")
|
||||
f.BoolVar(&client.Recreate, "recreate-pods", false, "performs pods restart for the resource if applicable")
|
||||
f.BoolVar(&client.Force, "force", false, "force resource update through delete/recreate if needed")
|
||||
f.BoolVar(&client.DisableHooks, "no-hooks", false, "disable pre/post upgrade hooks")
|
||||
f.Int64Var(&client.Timeout, "timeout", 300, "time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks)")
|
||||
f.BoolVar(&client.ResetValues, "reset-values", false, "when upgrading, reset the values to the ones built into the chart")
|
||||
f.BoolVar(&client.ReuseValues, "reuse-values", false, "when upgrading, reuse the last release's values and merge in any overrides from the command line via --set and -f. If '--reset-values' is specified, this is ignored.")
|
||||
f.BoolVar(&client.Wait, "wait", false, "if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful. It will wait for as long as --timeout")
|
||||
f.IntVar(&client.MaxHistory, "history-max", 0, "limit the maximum number of revisions saved per release. Use 0 for no limit.")
|
||||
addChartPathOptionsFlags(f, &client.ChartPathOptions)
|
||||
addValueOptionsFlags(f, &client.ValueOptions)
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ func newVerifyCmd(out io.Writer) *cobra.Command {
|
||||
},
|
||||
}
|
||||
|
||||
client.AddFlags(cmd.Flags())
|
||||
cmd.Flags().StringVar(&client.Keyring, "keyring", defaultKeyring(), "keyring containing public keys")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
@@ -24,7 +24,6 @@ import (
|
||||
|
||||
"github.com/Masterminds/semver"
|
||||
"github.com/gosuri/uitable"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/chart"
|
||||
"k8s.io/helm/pkg/chart/loader"
|
||||
@@ -44,16 +43,6 @@ func NewDependency() *Dependency {
|
||||
return &Dependency{}
|
||||
}
|
||||
|
||||
func (d *Dependency) AddBuildFlags(f *pflag.FlagSet) {
|
||||
f.BoolVar(&d.Verify, "verify", false, "verify the packages against signatures")
|
||||
f.StringVar(&d.Keyring, "keyring", defaultKeyring(), "keyring containing public keys")
|
||||
}
|
||||
|
||||
func (d *Dependency) AddUpdateFlags(f *pflag.FlagSet) {
|
||||
d.AddBuildFlags(f)
|
||||
f.BoolVar(&d.SkipRefresh, "skip-refresh", false, "do not refresh the local repository cache")
|
||||
}
|
||||
|
||||
// List executes 'helm dependency list'.
|
||||
func (d *Dependency) List(chartpath string, out io.Writer) error {
|
||||
c, err := loader.Load(chartpath)
|
||||
|
||||
@@ -17,8 +17,6 @@ limitations under the License.
|
||||
package action
|
||||
|
||||
import (
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/release"
|
||||
)
|
||||
|
||||
@@ -42,7 +40,3 @@ func NewGet(cfg *Configuration) *Get {
|
||||
func (g *Get) Run(name string) (*release.Release, error) {
|
||||
return g.cfg.releaseContent(name, g.Version)
|
||||
}
|
||||
|
||||
func (g *Get) AddFlags(f *pflag.FlagSet) {
|
||||
f.IntVar(&g.Version, "revision", 0, "get the named release with revision")
|
||||
}
|
||||
|
||||
@@ -18,7 +18,6 @@ package action
|
||||
|
||||
import (
|
||||
"github.com/ghodss/yaml"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/chartutil"
|
||||
)
|
||||
@@ -67,8 +66,3 @@ func (g *GetValues) Run(name string) (string, error) {
|
||||
|
||||
return string(resConfig), nil
|
||||
}
|
||||
|
||||
func (g *GetValues) AddFlags(f *pflag.FlagSet) {
|
||||
f.IntVar(&g.Version, "revision", 0, "get the named release with revision")
|
||||
f.BoolVarP(&g.AllValues, "all", "a", false, "dump all (computed) values")
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ import (
|
||||
"github.com/ghodss/yaml"
|
||||
"github.com/gosuri/uitable"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/chart"
|
||||
"k8s.io/helm/pkg/release"
|
||||
@@ -136,11 +135,6 @@ func (h *History) Run(name string) (string, error) {
|
||||
return string(history), nil
|
||||
}
|
||||
|
||||
func (h *History) AddFlags(f *pflag.FlagSet) {
|
||||
f.StringVarP(&h.OutputFormat, "output", "o", Table.String(), "prints the output in the specified format (json|table|yaml)")
|
||||
f.IntVar(&h.Max, "max", 256, "maximum number of revision to include in history")
|
||||
}
|
||||
|
||||
func getReleaseHistory(rls []*release.Release) (history releaseHistory) {
|
||||
for i := len(rls) - 1; i >= 0; i-- {
|
||||
r := rls[i]
|
||||
|
||||
@@ -33,8 +33,6 @@ import (
|
||||
"github.com/Masterminds/sprig"
|
||||
"github.com/ghodss/yaml"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/pflag"
|
||||
"k8s.io/client-go/util/homedir"
|
||||
|
||||
"k8s.io/helm/pkg/chart"
|
||||
"k8s.io/helm/pkg/chartutil"
|
||||
@@ -487,46 +485,6 @@ func (i *Install) NameAndChart(args []string) (string, string, error) {
|
||||
return fmt.Sprintf("%s-%d", base, time.Now().Unix()), args[0], nil
|
||||
}
|
||||
|
||||
func (i *Install) AddFlags(f *pflag.FlagSet) {
|
||||
f.BoolVar(&i.DryRun, "dry-run", false, "simulate an install")
|
||||
f.BoolVar(&i.DisableHooks, "no-hooks", false, "prevent hooks from running during install")
|
||||
f.BoolVar(&i.Replace, "replace", false, "re-use the given name, even if that name is already used. This is unsafe in production")
|
||||
f.Int64Var(&i.Timeout, "timeout", 300, "time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks)")
|
||||
f.BoolVar(&i.Wait, "wait", false, "if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful. It will wait for as long as --timeout")
|
||||
f.BoolVarP(&i.GenerateName, "generate-name", "g", false, "generate the name (and omit the NAME parameter)")
|
||||
f.StringVar(&i.NameTemplate, "name-template", "", "specify template used to name the release")
|
||||
f.BoolVar(&i.Devel, "devel", false, "use development versions, too. Equivalent to version '>0.0.0-0'. If --version is set, this is ignored.")
|
||||
f.BoolVar(&i.DependencyUpdate, "dependency-update", false, "run helm dependency update before installing the chart")
|
||||
i.ValueOptions.AddFlags(f)
|
||||
i.ChartPathOptions.AddFlags(f)
|
||||
}
|
||||
|
||||
func (v *ValueOptions) AddFlags(f *pflag.FlagSet) {
|
||||
f.StringSliceVarP(&v.ValueFiles, "values", "f", []string{}, "specify values in a YAML file or a URL(can specify multiple)")
|
||||
f.StringArrayVar(&v.Values, "set", []string{}, "set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)")
|
||||
f.StringArrayVar(&v.StringValues, "set-string", []string{}, "set STRING values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)")
|
||||
}
|
||||
|
||||
func (c *ChartPathOptions) AddFlags(f *pflag.FlagSet) {
|
||||
f.StringVar(&c.Version, "version", "", "specify the exact chart version to install. If this is not specified, the latest version is installed")
|
||||
f.BoolVar(&c.Verify, "verify", false, "verify the package before installing it")
|
||||
f.StringVar(&c.Keyring, "keyring", defaultKeyring(), "location of public keys used for verification")
|
||||
f.StringVar(&c.RepoURL, "repo", "", "chart repository url where to locate the requested chart")
|
||||
f.StringVar(&c.Username, "username", "", "chart repository username where to locate the requested chart")
|
||||
f.StringVar(&c.Password, "password", "", "chart repository password where to locate the requested chart")
|
||||
f.StringVar(&c.CertFile, "cert-file", "", "identify HTTPS client using this SSL certificate file")
|
||||
f.StringVar(&c.KeyFile, "key-file", "", "identify HTTPS client using this SSL key file")
|
||||
f.StringVar(&c.CaFile, "ca-file", "", "verify certificates of HTTPS-enabled servers using this CA bundle")
|
||||
}
|
||||
|
||||
// defaultKeyring returns the expanded path to the default keyring.
|
||||
func defaultKeyring() string {
|
||||
if v, ok := os.LookupEnv("GNUPGHOME"); ok {
|
||||
return filepath.Join(v, "pubring.gpg")
|
||||
}
|
||||
return filepath.Join(homedir.HomeDir(), ".gnupg", "pubring.gpg")
|
||||
}
|
||||
|
||||
func TemplateName(nameTemplate string) (string, error) {
|
||||
if nameTemplate == "" {
|
||||
return "", nil
|
||||
|
||||
@@ -23,7 +23,6 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/chartutil"
|
||||
"k8s.io/helm/pkg/lint"
|
||||
@@ -115,8 +114,3 @@ func lintChart(path string, vals map[string]interface{}, namespace string, stric
|
||||
|
||||
return lint.All(chartPath, vals, namespace, strict), nil
|
||||
}
|
||||
|
||||
func (l *Lint) AddFlags(f *pflag.FlagSet) {
|
||||
f.BoolVar(&l.Strict, "strict", false, "fail on lint warnings")
|
||||
l.ValueOptions.AddFlags(f)
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ import (
|
||||
"regexp"
|
||||
|
||||
"github.com/gosuri/uitable"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/release"
|
||||
"k8s.io/helm/pkg/releaseutil"
|
||||
@@ -138,23 +137,6 @@ func NewList(cfg *Configuration) *List {
|
||||
}
|
||||
}
|
||||
|
||||
func (l *List) AddFlags(f *pflag.FlagSet) {
|
||||
f.BoolVarP(&l.Short, "short", "q", false, "output short (quiet) listing format")
|
||||
f.BoolVarP(&l.ByDate, "date", "d", false, "sort by release date")
|
||||
f.BoolVarP(&l.SortDesc, "reverse", "r", false, "reverse the sort order")
|
||||
f.BoolVarP(&l.All, "all", "a", false, "show all releases, not just the ones marked deployed")
|
||||
f.BoolVar(&l.Uninstalled, "uninstalled", false, "show uninstalled releases")
|
||||
f.BoolVar(&l.Superseded, "superseded", false, "show superseded releases")
|
||||
f.BoolVar(&l.Uninstalling, "uninstalling", false, "show releases that are currently being uninstalled")
|
||||
f.BoolVar(&l.Deployed, "deployed", false, "show deployed releases. If no other is specified, this will be automatically enabled")
|
||||
f.BoolVar(&l.Failed, "failed", false, "show failed releases")
|
||||
f.BoolVar(&l.Pending, "pending", false, "show pending releases")
|
||||
f.BoolVar(&l.AllNamespaces, "all-namespaces", false, "list releases across all namespaces")
|
||||
f.IntVarP(&l.Limit, "max", "m", 256, "maximum number of releases to fetch")
|
||||
f.IntVarP(&l.Offset, "offset", "o", 0, "next release name in the list, used to offset from start value")
|
||||
f.StringVarP(&l.Filter, "filter", "f", "", "a regular expression (Perl compatible). Any releases that match the expression will be included in the results")
|
||||
}
|
||||
|
||||
func (l *List) SetConfiguration(cfg *Configuration) {
|
||||
l.cfg = cfg
|
||||
}
|
||||
|
||||
@@ -24,7 +24,6 @@ import (
|
||||
|
||||
"github.com/Masterminds/semver"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/pflag"
|
||||
"golang.org/x/crypto/ssh/terminal"
|
||||
|
||||
"k8s.io/helm/pkg/chart"
|
||||
@@ -112,17 +111,6 @@ func (p *Package) Run(path string) (string, error) {
|
||||
return "", err
|
||||
}
|
||||
|
||||
func (p *Package) AddFlags(f *pflag.FlagSet) {
|
||||
f.BoolVar(&p.Sign, "sign", false, "use a PGP private key to sign this package")
|
||||
f.StringVar(&p.Key, "key", "", "name of the key to use when signing. Used if --sign is true")
|
||||
f.StringVar(&p.Keyring, "keyring", defaultKeyring(), "location of a public keyring")
|
||||
f.StringVar(&p.Version, "version", "", "set the version on the chart to this semver version")
|
||||
f.StringVar(&p.AppVersion, "app-version", "", "set the appVersion on the chart to this version")
|
||||
f.StringVarP(&p.Destination, "destination", "d", ".", "location to write the chart.")
|
||||
f.BoolVarP(&p.DependencyUpdate, "dependency-update", "u", false, `update dependencies from "Chart.yaml" to dir "charts/" before packaging`)
|
||||
p.ValueOptions.AddFlags(f)
|
||||
}
|
||||
|
||||
func setVersion(ch *chart.Chart, ver string) error {
|
||||
// Verify that version is a Version, and error out if it is not.
|
||||
if _, err := semver.NewVersion(ver); err != nil {
|
||||
|
||||
@@ -24,7 +24,6 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/chartutil"
|
||||
"k8s.io/helm/pkg/cli"
|
||||
@@ -121,12 +120,3 @@ func (p *Pull) Run(chartRef string) (string, error) {
|
||||
}
|
||||
return out.String(), nil
|
||||
}
|
||||
|
||||
func (p *Pull) AddFlags(f *pflag.FlagSet) {
|
||||
f.BoolVar(&p.Devel, "devel", false, "use development versions, too. Equivalent to version '>0.0.0-0'. If --version is set, this is ignored.")
|
||||
f.BoolVar(&p.Untar, "untar", false, "if set to true, will untar the chart after downloading it")
|
||||
f.BoolVar(&p.VerifyLater, "prov", false, "fetch the provenance file, but don't perform verification")
|
||||
f.StringVar(&p.UntarDir, "untardir", ".", "if untar is specified, this flag specifies the name of the directory into which the chart is expanded")
|
||||
f.StringVarP(&p.DestDir, "destination", "d", ".", "location to write the chart. If this and tardir are specified, tardir is appended to this")
|
||||
p.ChartPathOptions.AddFlags(f)
|
||||
}
|
||||
|
||||
@@ -18,7 +18,6 @@ package action
|
||||
|
||||
import (
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/release"
|
||||
reltesting "k8s.io/helm/pkg/releasetesting"
|
||||
@@ -41,11 +40,6 @@ func NewReleaseTesting(cfg *Configuration) *ReleaseTesting {
|
||||
}
|
||||
}
|
||||
|
||||
func (r *ReleaseTesting) AddFlags(f *pflag.FlagSet) {
|
||||
f.Int64Var(&r.Timeout, "timeout", 300, "time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks)")
|
||||
f.BoolVar(&r.Cleanup, "cleanup", false, "delete test pods upon completion")
|
||||
}
|
||||
|
||||
// Run executes 'helm test' against the given release.
|
||||
func (r *ReleaseTesting) Run(name string) (<-chan *release.TestReleaseResponse, <-chan error) {
|
||||
errc := make(chan error, 1)
|
||||
|
||||
@@ -23,7 +23,6 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/hooks"
|
||||
"k8s.io/helm/pkg/release"
|
||||
@@ -51,16 +50,6 @@ func NewRollback(cfg *Configuration) *Rollback {
|
||||
}
|
||||
}
|
||||
|
||||
func (r *Rollback) AddFlags(f *pflag.FlagSet) {
|
||||
f.IntVarP(&r.Version, "version", "v", 0, "revision number to rollback to (default: rollback to previous release)")
|
||||
f.BoolVar(&r.DryRun, "dry-run", false, "simulate a rollback")
|
||||
f.BoolVar(&r.Recreate, "recreate-pods", false, "performs pods restart for the resource if applicable")
|
||||
f.BoolVar(&r.Force, "force", false, "force resource update through delete/recreate if needed")
|
||||
f.BoolVar(&r.DisableHooks, "no-hooks", false, "prevent hooks from running during rollback")
|
||||
f.Int64Var(&r.Timeout, "timeout", 300, "time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks)")
|
||||
f.BoolVar(&r.Wait, "wait", false, "if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful. It will wait for as long as --timeout")
|
||||
}
|
||||
|
||||
// Run executes 'helm rollback' against the given release.
|
||||
func (r *Rollback) Run(name string) (*release.Release, error) {
|
||||
r.cfg.Log("preparing rollback of %s", name)
|
||||
|
||||
@@ -21,7 +21,6 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/ghodss/yaml"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/chart"
|
||||
"k8s.io/helm/pkg/chart/loader"
|
||||
@@ -73,10 +72,6 @@ func NewShow(output ShowOutputFormat) *Show {
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Show) AddFlags(f *pflag.FlagSet) {
|
||||
s.ChartPathOptions.AddFlags(f)
|
||||
}
|
||||
|
||||
// Run executes 'helm show' against the given release.
|
||||
func (s *Show) Run(chartpath string) (string, error) {
|
||||
var out strings.Builder
|
||||
|
||||
@@ -17,8 +17,6 @@ limitations under the License.
|
||||
package action
|
||||
|
||||
import (
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/release"
|
||||
)
|
||||
|
||||
@@ -39,11 +37,6 @@ func NewStatus(cfg *Configuration) *Status {
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Status) AddFlags(f *pflag.FlagSet) {
|
||||
f.IntVar(&s.Version, "revision", 0, "if set, display the status of the named release with revision")
|
||||
f.StringVarP(&s.OutputFormat, "output", "o", "", "output the status in the specified format (json or yaml)")
|
||||
}
|
||||
|
||||
// Run executes 'helm status' against the given release.
|
||||
func (s *Status) Run(name string) (*release.Release, error) {
|
||||
return s.cfg.releaseContent(name, s.Version)
|
||||
|
||||
@@ -23,7 +23,6 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/hooks"
|
||||
"k8s.io/helm/pkg/kube"
|
||||
@@ -50,13 +49,6 @@ func NewUninstall(cfg *Configuration) *Uninstall {
|
||||
}
|
||||
}
|
||||
|
||||
func (u *Uninstall) AddFlags(f *pflag.FlagSet) {
|
||||
f.BoolVar(&u.DryRun, "dry-run", false, "simulate a uninstall")
|
||||
f.BoolVar(&u.DisableHooks, "no-hooks", false, "prevent hooks from running during uninstallation")
|
||||
f.BoolVar(&u.Purge, "purge", false, "remove the release from the store and make its name free for later use")
|
||||
f.Int64Var(&u.Timeout, "timeout", 300, "time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks)")
|
||||
}
|
||||
|
||||
// Run uninstalls the given release.
|
||||
func (u *Uninstall) Run(name string) (*release.UninstallReleaseResponse, error) {
|
||||
if u.DryRun {
|
||||
|
||||
@@ -25,7 +25,6 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/pflag"
|
||||
"k8s.io/client-go/discovery"
|
||||
|
||||
"k8s.io/helm/pkg/chart"
|
||||
@@ -72,22 +71,6 @@ func NewUpgrade(cfg *Configuration) *Upgrade {
|
||||
}
|
||||
}
|
||||
|
||||
func (u *Upgrade) AddFlags(f *pflag.FlagSet) {
|
||||
f.BoolVarP(&u.Install, "install", "i", false, "if a release by this name doesn't already exist, run an install")
|
||||
f.BoolVar(&u.Devel, "devel", false, "use development versions, too. Equivalent to version '>0.0.0-0'. If --version is set, this is ignored.")
|
||||
f.BoolVar(&u.DryRun, "dry-run", false, "simulate an upgrade")
|
||||
f.BoolVar(&u.Recreate, "recreate-pods", false, "performs pods restart for the resource if applicable")
|
||||
f.BoolVar(&u.Force, "force", false, "force resource update through delete/recreate if needed")
|
||||
f.BoolVar(&u.DisableHooks, "no-hooks", false, "disable pre/post upgrade hooks")
|
||||
f.Int64Var(&u.Timeout, "timeout", 300, "time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks)")
|
||||
f.BoolVar(&u.ResetValues, "reset-values", false, "when upgrading, reset the values to the ones built into the chart")
|
||||
f.BoolVar(&u.ReuseValues, "reuse-values", false, "when upgrading, reuse the last release's values and merge in any overrides from the command line via --set and -f. If '--reset-values' is specified, this is ignored.")
|
||||
f.BoolVar(&u.Wait, "wait", false, "if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful. It will wait for as long as --timeout")
|
||||
f.IntVar(&u.MaxHistory, "history-max", 0, "limit the maximum number of revisions saved per release. Use 0 for no limit.")
|
||||
u.ChartPathOptions.AddFlags(f)
|
||||
u.ValueOptions.AddFlags(f)
|
||||
}
|
||||
|
||||
// Run executes the upgrade on the given release.
|
||||
func (u *Upgrade) Run(name string, chart *chart.Chart) (*release.Release, error) {
|
||||
if err := chartutil.ProcessDependencies(chart, u.Values); err != nil {
|
||||
|
||||
@@ -17,8 +17,6 @@ limitations under the License.
|
||||
package action
|
||||
|
||||
import (
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/helm/pkg/downloader"
|
||||
)
|
||||
|
||||
@@ -34,10 +32,6 @@ func NewVerify() *Verify {
|
||||
return &Verify{}
|
||||
}
|
||||
|
||||
func (v *Verify) AddFlags(f *pflag.FlagSet) {
|
||||
f.StringVar(&v.Keyring, "keyring", defaultKeyring(), "keyring containing public keys")
|
||||
}
|
||||
|
||||
// Run executes 'helm verify'.
|
||||
func (v *Verify) Run(chartfile string) error {
|
||||
_, err := downloader.VerifyChart(chartfile, v.Keyring)
|
||||
|
||||
Reference in New Issue
Block a user