Commit 82723606 authored by Adam Reese's avatar Adam Reese Committed by GitHub

Merge pull request #2476 from adamreese/fix/flag-envars

fix(helm): fix race conditions in flag parsing
parents 3647e607 faf560c5
...@@ -87,7 +87,7 @@ func TestCreateStarterCmd(t *testing.T) { ...@@ -87,7 +87,7 @@ func TestCreateStarterCmd(t *testing.T) {
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
old := helmpath.Home(environment.DefaultHelmHome()) old := helmpath.Home(environment.DefaultHelmHome)
settings.Home = thome settings.Home = thome
defer func() { defer func() {
settings.Home = old settings.Home = old
......
...@@ -52,12 +52,12 @@ func newDeleteCmd(c helm.Interface, out io.Writer) *cobra.Command { ...@@ -52,12 +52,12 @@ func newDeleteCmd(c helm.Interface, out io.Writer) *cobra.Command {
} }
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "delete [flags] RELEASE_NAME [...]", Use: "delete [flags] RELEASE_NAME [...]",
Aliases: []string{"del"}, Aliases: []string{"del"},
SuggestFor: []string{"remove", "rm"}, SuggestFor: []string{"remove", "rm"},
Short: "given a release name, delete the release from Kubernetes", Short: "given a release name, delete the release from Kubernetes",
Long: deleteDesc, Long: deleteDesc,
PersistentPreRunE: setupConnection, PreRunE: setupConnection,
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
if len(args) == 0 { if len(args) == 0 {
return errors.New("command 'delete' requires a release name") return errors.New("command 'delete' requires a release name")
......
...@@ -34,7 +34,7 @@ func TestFetchCmd(t *testing.T) { ...@@ -34,7 +34,7 @@ func TestFetchCmd(t *testing.T) {
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
old := helmpath.Home(environment.DefaultHelmHome()) old := helmpath.Home(environment.DefaultHelmHome)
settings.Home = hh settings.Home = hh
defer func() { defer func() {
settings.Home = old settings.Home = old
......
...@@ -54,10 +54,10 @@ func newGetCmd(client helm.Interface, out io.Writer) *cobra.Command { ...@@ -54,10 +54,10 @@ func newGetCmd(client helm.Interface, out io.Writer) *cobra.Command {
} }
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "get [flags] RELEASE_NAME", Use: "get [flags] RELEASE_NAME",
Short: "download a named release", Short: "download a named release",
Long: getHelp, Long: getHelp,
PersistentPreRunE: setupConnection, PreRunE: setupConnection,
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
if len(args) == 0 { if len(args) == 0 {
return errReleaseRequired return errReleaseRequired
......
...@@ -19,7 +19,6 @@ package main // import "k8s.io/helm/cmd/helm" ...@@ -19,7 +19,6 @@ package main // import "k8s.io/helm/cmd/helm"
import ( import (
"errors" "errors"
"fmt" "fmt"
"io"
"io/ioutil" "io/ioutil"
"log" "log"
"os" "os"
...@@ -39,23 +38,16 @@ import ( ...@@ -39,23 +38,16 @@ import (
"k8s.io/helm/pkg/tlsutil" "k8s.io/helm/pkg/tlsutil"
) )
const (
localRepoIndexFilePath = "index.yaml"
)
var ( var (
tlsCaCertFile string // path to TLS CA certificate file tlsCaCertFile string // path to TLS CA certificate file
tlsCertFile string // path to TLS certificate file tlsCertFile string // path to TLS certificate file
tlsKeyFile string // path to TLS key file tlsKeyFile string // path to TLS key file
tlsVerify bool // enable TLS and verify remote certificates tlsVerify bool // enable TLS and verify remote certificates
tlsEnable bool // enable TLS tlsEnable bool // enable TLS
)
var ( kubeContext string
kubeContext string
settings helm_env.EnvSettings
// TODO refactor out this global var
tillerTunnel *kube.Tunnel tillerTunnel *kube.Tunnel
settings helm_env.EnvSettings
) )
var globalUsage = `The Kubernetes package manager var globalUsage = `The Kubernetes package manager
...@@ -82,34 +74,58 @@ Environment: ...@@ -82,34 +74,58 @@ Environment:
$KUBECONFIG set an alternative Kubernetes configuration file (default "~/.kube/config") $KUBECONFIG set an alternative Kubernetes configuration file (default "~/.kube/config")
` `
func newRootCmd(out io.Writer) *cobra.Command { func setFlagFromEnv(name, envar string, cmd *cobra.Command) {
if cmd.Flags().Changed(name) {
return
}
if v, ok := os.LookupEnv(envar); ok {
cmd.Flags().Set(name, v)
}
}
func setFlagsFromEnv(flags map[string]string, cmd *cobra.Command) {
for name, envar := range flags {
setFlagFromEnv(name, envar, cmd)
}
}
func addRootFlags(cmd *cobra.Command) {
pf := cmd.PersistentFlags()
pf.StringVar((*string)(&settings.Home), "home", helm_env.DefaultHelmHome, "location of your Helm config. Overrides $HELM_HOME")
pf.StringVar(&settings.TillerHost, "host", "", "address of tiller. Overrides $HELM_HOST")
pf.StringVar(&kubeContext, "kube-context", "", "name of the kubeconfig context to use")
pf.BoolVar(&settings.Debug, "debug", false, "enable verbose output")
pf.StringVar(&settings.TillerNamespace, "tiller-namespace", tiller_env.DefaultTillerNamespace, "namespace of tiller")
}
func initRootFlags(cmd *cobra.Command) {
setFlagsFromEnv(map[string]string{
"debug": helm_env.DebugEnvVar,
"home": helm_env.HomeEnvVar,
"host": helm_env.HostEnvVar,
"tiller-namespace": tiller_env.TillerNamespaceEnvVar,
}, cmd.Root())
tlsCaCertFile = os.ExpandEnv(tlsCaCertFile)
tlsCertFile = os.ExpandEnv(tlsCertFile)
tlsKeyFile = os.ExpandEnv(tlsKeyFile)
}
func newRootCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "helm", Use: "helm",
Short: "The Helm package manager for Kubernetes.", Short: "The Helm package manager for Kubernetes.",
Long: globalUsage, Long: globalUsage,
SilenceUsage: true, SilenceUsage: true,
PersistentPreRun: func(cmd *cobra.Command, args []string) { PersistentPreRun: func(cmd *cobra.Command, _ []string) {
tlsCaCertFile = os.ExpandEnv(tlsCaCertFile) initRootFlags(cmd)
tlsCertFile = os.ExpandEnv(tlsCertFile)
tlsKeyFile = os.ExpandEnv(tlsKeyFile)
}, },
PersistentPostRun: func(cmd *cobra.Command, args []string) { PersistentPostRun: func(*cobra.Command, []string) {
teardown() teardown()
}, },
} }
p := cmd.PersistentFlags() addRootFlags(cmd)
p.StringVar((*string)(&settings.Home), "home", helm_env.DefaultHelmHome(), "location of your Helm config. Overrides $HELM_HOME") out := cmd.OutOrStdout()
p.StringVar(&settings.TillerHost, "host", helm_env.DefaultHelmHost(), "address of tiller. Overrides $HELM_HOST")
p.StringVar(&kubeContext, "kube-context", "", "name of the kubeconfig context to use")
p.BoolVar(&settings.Debug, "debug", false, "enable verbose output")
p.StringVar(&settings.TillerNamespace, "tiller-namespace", tiller_env.GetTillerNamespace(), "namespace of tiller")
if os.Getenv(helm_env.PluginDisableEnvVar) != "1" {
settings.PlugDirs = os.Getenv(helm_env.PluginEnvVar)
if settings.PlugDirs == "" {
settings.PlugDirs = settings.Home.Plugins()
}
}
cmd.AddCommand( cmd.AddCommand(
// chart commands // chart commands
...@@ -139,7 +155,7 @@ func newRootCmd(out io.Writer) *cobra.Command { ...@@ -139,7 +155,7 @@ func newRootCmd(out io.Writer) *cobra.Command {
addFlagsTLS(newVersionCmd(nil, out)), addFlagsTLS(newVersionCmd(nil, out)),
newCompletionCmd(out), newCompletionCmd(out),
newHomeCmd(out), newHomeCmd(),
newInitCmd(out), newInitCmd(out),
newPluginCmd(out), newPluginCmd(out),
...@@ -162,7 +178,7 @@ func init() { ...@@ -162,7 +178,7 @@ func init() {
} }
func main() { func main() {
cmd := newRootCmd(os.Stdout) cmd := newRootCmd()
if err := cmd.Execute(); err != nil { if err := cmd.Execute(); err != nil {
os.Exit(1) os.Exit(1)
} }
......
...@@ -23,6 +23,7 @@ import ( ...@@ -23,6 +23,7 @@ import (
"io/ioutil" "io/ioutil"
"math/rand" "math/rand"
"os" "os"
"path/filepath"
"regexp" "regexp"
"sync" "sync"
"testing" "testing"
...@@ -321,7 +322,7 @@ func ensureTestHome(home helmpath.Home, t *testing.T) error { ...@@ -321,7 +322,7 @@ func ensureTestHome(home helmpath.Home, t *testing.T) error {
} }
} }
localRepoIndexFile := home.LocalRepository(localRepoIndexFilePath) localRepoIndexFile := home.LocalRepository(localRepositoryIndexFile)
if fi, err := os.Stat(localRepoIndexFile); err != nil { if fi, err := os.Stat(localRepoIndexFile); err != nil {
i := repo.NewIndexFile() i := repo.NewIndexFile()
if err := i.WriteFile(localRepoIndexFile, 0644); err != nil { if err := i.WriteFile(localRepoIndexFile, 0644); err != nil {
...@@ -337,3 +338,77 @@ func ensureTestHome(home helmpath.Home, t *testing.T) error { ...@@ -337,3 +338,77 @@ func ensureTestHome(home helmpath.Home, t *testing.T) error {
t.Logf("$HELM_HOME has been configured at %s.\n", settings.Home.String()) t.Logf("$HELM_HOME has been configured at %s.\n", settings.Home.String())
return nil return nil
} }
func TestRootCmd(t *testing.T) {
oldhome := os.Getenv("HELM_HOME")
defer os.Setenv("HELM_HOME", oldhome)
tests := []struct {
name string
args []string
envars map[string]string
home string
}{
{
name: "defaults",
home: filepath.Join(os.Getenv("HOME"), "/.helm"),
},
{
name: "with --home set",
args: []string{"--home", "/foo"},
home: "/foo",
},
{
name: "subcommands with --home set",
args: []string{"home", "--home", "/foo"},
home: "/foo",
},
{
name: "with $HELM_HOME set",
envars: map[string]string{"HELM_HOME": "/bar"},
home: "/bar",
},
{
name: "subcommands with $HELM_HOME set",
args: []string{"home"},
envars: map[string]string{"HELM_HOME": "/bar"},
home: "/bar",
},
{
name: "with $HELM_HOME and --home set",
args: []string{"home", "--home", "/foo"},
envars: map[string]string{"HELM_HOME": "/bar"},
home: "/foo",
},
}
// ensure not set locally
os.Unsetenv("HELM_HOME")
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
defer os.Unsetenv("HELM_HOME")
for k, v := range tt.envars {
os.Setenv(k, v)
}
cmd := newRootCmd()
cmd.SetOutput(ioutil.Discard)
cmd.SetArgs(tt.args)
cmd.Run = func(*cobra.Command, []string) {}
if err := cmd.Execute(); err != nil {
t.Errorf("unexpected error: %s", err)
}
if settings.Home.String() != tt.home {
t.Errorf("expected home %q, got %q", tt.home, settings.Home)
}
homeFlag := cmd.Flag("home").Value.String()
homeFlag = os.ExpandEnv(homeFlag)
if homeFlag != tt.home {
t.Errorf("expected home %q, got %q", tt.home, homeFlag)
}
})
}
}
...@@ -56,11 +56,11 @@ func newHistoryCmd(c helm.Interface, w io.Writer) *cobra.Command { ...@@ -56,11 +56,11 @@ func newHistoryCmd(c helm.Interface, w io.Writer) *cobra.Command {
his := &historyCmd{out: w, helmc: c} his := &historyCmd{out: w, helmc: c}
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "history [flags] RELEASE_NAME", Use: "history [flags] RELEASE_NAME",
Long: historyHelp, Long: historyHelp,
Short: "fetch release history", Short: "fetch release history",
Aliases: []string{"hist"}, Aliases: []string{"hist"},
PersistentPreRunE: setupConnection, PreRunE: setupConnection,
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
switch { switch {
case len(args) == 0: case len(args) == 0:
......
...@@ -17,9 +17,6 @@ limitations under the License. ...@@ -17,9 +17,6 @@ limitations under the License.
package main package main
import ( import (
"fmt"
"io"
"github.com/spf13/cobra" "github.com/spf13/cobra"
) )
...@@ -28,25 +25,24 @@ This command displays the location of HELM_HOME. This is where ...@@ -28,25 +25,24 @@ This command displays the location of HELM_HOME. This is where
any helm configuration files live. any helm configuration files live.
` `
func newHomeCmd(out io.Writer) *cobra.Command { func newHomeCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "home", Use: "home",
Short: "displays the location of HELM_HOME", Short: "displays the location of HELM_HOME",
Long: longHomeHelp, Long: longHomeHelp,
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {
h := settings.Home h := settings.Home
fmt.Fprintf(out, "%s\n", h) cmd.Println(h)
if settings.Debug { if settings.Debug {
fmt.Fprintf(out, "Repository: %s\n", h.Repository()) cmd.Printf("Repository: %s\n", h.Repository())
fmt.Fprintf(out, "RepositoryFile: %s\n", h.RepositoryFile()) cmd.Printf("RepositoryFile: %s\n", h.RepositoryFile())
fmt.Fprintf(out, "Cache: %s\n", h.Cache()) cmd.Printf("Cache: %s\n", h.Cache())
fmt.Fprintf(out, "Stable CacheIndex: %s\n", h.CacheIndex("stable")) cmd.Printf("Stable CacheIndex: %s\n", h.CacheIndex("stable"))
fmt.Fprintf(out, "Starters: %s\n", h.Starters()) cmd.Printf("Starters: %s\n", h.Starters())
fmt.Fprintf(out, "LocalRepository: %s\n", h.LocalRepository()) cmd.Printf("LocalRepository: %s\n", h.LocalRepository())
fmt.Fprintf(out, "Plugins: %s\n", h.Plugins()) cmd.Printf("Plugins: %s\n", h.Plugins())
} }
}, },
} }
return cmd return cmd
} }
...@@ -54,8 +54,9 @@ To dump a manifest containing the Tiller deployment YAML, combine the ...@@ -54,8 +54,9 @@ To dump a manifest containing the Tiller deployment YAML, combine the
` `
const ( const (
stableRepository = "stable" stableRepository = "stable"
localRepository = "local" localRepository = "local"
localRepositoryIndexFile = "index.yaml"
) )
var ( var (
...@@ -296,7 +297,7 @@ func ensureDefaultRepos(home helmpath.Home, out io.Writer, skipRefresh bool) err ...@@ -296,7 +297,7 @@ func ensureDefaultRepos(home helmpath.Home, out io.Writer, skipRefresh bool) err
if err != nil { if err != nil {
return err return err
} }
lr, err := initLocalRepo(home.LocalRepository(localRepoIndexFilePath), home.CacheIndex("local")) lr, err := initLocalRepo(home.LocalRepository(localRepositoryIndexFile), home.CacheIndex("local"))
if err != nil { if err != nil {
return err return err
} }
......
...@@ -214,7 +214,7 @@ func TestEnsureHome(t *testing.T) { ...@@ -214,7 +214,7 @@ func TestEnsureHome(t *testing.T) {
t.Errorf("%s should not be a directory", fi) t.Errorf("%s should not be a directory", fi)
} }
if fi, err := os.Stat(hh.LocalRepository(localRepoIndexFilePath)); err != nil { if fi, err := os.Stat(hh.LocalRepository(localRepositoryIndexFile)); err != nil {
t.Errorf("%s", err) t.Errorf("%s", err)
} else if fi.IsDir() { } else if fi.IsDir() {
t.Errorf("%s should not be a directory", fi) t.Errorf("%s should not be a directory", fi)
......
...@@ -148,10 +148,10 @@ func newInstallCmd(c helm.Interface, out io.Writer) *cobra.Command { ...@@ -148,10 +148,10 @@ func newInstallCmd(c helm.Interface, out io.Writer) *cobra.Command {
} }
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "install [CHART]", Use: "install [CHART]",
Short: "install a chart archive", Short: "install a chart archive",
Long: installDesc, Long: installDesc,
PersistentPreRunE: setupConnection, PreRunE: setupConnection,
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
if err := checkArgsLength(len(args), "chart name"); err != nil { if err := checkArgsLength(len(args), "chart name"); err != nil {
return err return err
......
...@@ -82,11 +82,11 @@ func newListCmd(client helm.Interface, out io.Writer) *cobra.Command { ...@@ -82,11 +82,11 @@ func newListCmd(client helm.Interface, out io.Writer) *cobra.Command {
} }
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "list [flags] [FILTER]", Use: "list [flags] [FILTER]",
Short: "list releases", Short: "list releases",
Long: listHelp, Long: listHelp,
Aliases: []string{"ls"}, Aliases: []string{"ls"},
PersistentPreRunE: setupConnection, PreRunE: setupConnection,
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
if len(args) > 0 { if len(args) > 0 {
list.filter = strings.Join(args, " ") list.filter = strings.Join(args, " ")
......
...@@ -25,19 +25,10 @@ import ( ...@@ -25,19 +25,10 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"k8s.io/helm/pkg/helm/helmpath" helm_env "k8s.io/helm/pkg/helm/environment"
"k8s.io/helm/pkg/plugin" "k8s.io/helm/pkg/plugin"
) )
const pluginEnvVar = "HELM_PLUGIN"
func pluginDirs(home helmpath.Home) string {
if dirs := os.Getenv(pluginEnvVar); dirs != "" {
return dirs
}
return home.Plugins()
}
// loadPlugins loads plugins into the command list. // loadPlugins loads plugins into the command list.
// //
// This follows a different pattern than the other commands because it has // This follows a different pattern than the other commands because it has
...@@ -46,16 +37,25 @@ func pluginDirs(home helmpath.Home) string { ...@@ -46,16 +37,25 @@ func pluginDirs(home helmpath.Home) string {
func loadPlugins(baseCmd *cobra.Command, out io.Writer) { func loadPlugins(baseCmd *cobra.Command, out io.Writer) {
// If HELM_NO_PLUGINS is set to 1, do not load plugins. // If HELM_NO_PLUGINS is set to 1, do not load plugins.
if settings.PlugDirs == "" { if os.Getenv(helm_env.PluginDisableEnvVar) == "1" {
return return
} }
found, err := findPlugins(settings.PlugDirs) found, err := findPlugins(settings.PluginDirs())
if err != nil { if err != nil {
fmt.Fprintf(os.Stderr, "failed to load plugins: %s", err) fmt.Fprintf(os.Stderr, "failed to load plugins: %s", err)
return return
} }
processParent := func(cmd *cobra.Command, args []string) ([]string, error) {
k, u := manuallyProcessArgs(args)
if err := cmd.Parent().ParseFlags(k); err != nil {
return nil, err
}
initRootFlags(cmd)
return u, nil
}
// Now we create commands for all of these. // Now we create commands for all of these.
for _, plug := range found { for _, plug := range found {
plug := plug plug := plug
...@@ -69,9 +69,8 @@ func loadPlugins(baseCmd *cobra.Command, out io.Writer) { ...@@ -69,9 +69,8 @@ func loadPlugins(baseCmd *cobra.Command, out io.Writer) {
Short: md.Usage, Short: md.Usage,
Long: md.Description, Long: md.Description,
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
u, err := processParent(cmd, args)
k, u := manuallyProcessArgs(args) if err != nil {
if err := cmd.Parent().ParseFlags(k); err != nil {
return err return err
} }
...@@ -99,10 +98,9 @@ func loadPlugins(baseCmd *cobra.Command, out io.Writer) { ...@@ -99,10 +98,9 @@ func loadPlugins(baseCmd *cobra.Command, out io.Writer) {
} }
if md.UseTunnel { if md.UseTunnel {
c.PersistentPreRunE = func(cmd *cobra.Command, args []string) error { c.PreRunE = func(cmd *cobra.Command, args []string) error {
// Parse the parent flag, but not the local flags. // Parse the parent flag, but not the local flags.
k, _ := manuallyProcessArgs(args) if _, err := processParent(cmd, args); err != nil {
if err := c.Parent().ParseFlags(k); err != nil {
return err return err
} }
return setupConnection(cmd, args) return setupConnection(cmd, args)
......
...@@ -44,11 +44,8 @@ func newPluginListCmd(out io.Writer) *cobra.Command { ...@@ -44,11 +44,8 @@ func newPluginListCmd(out io.Writer) *cobra.Command {
} }
func (pcmd *pluginListCmd) run() error { func (pcmd *pluginListCmd) run() error {
plugdirs := pluginDirs(pcmd.home) debug("pluginDirs: %s", settings.PluginDirs())
plugins, err := findPlugins(settings.PluginDirs())
debug("pluginDirs: %s", plugdirs)
plugins, err := findPlugins(plugdirs)
if err != nil { if err != nil {
return err return err
} }
......
...@@ -59,9 +59,8 @@ func (pcmd *pluginRemoveCmd) complete(args []string) error { ...@@ -59,9 +59,8 @@ func (pcmd *pluginRemoveCmd) complete(args []string) error {
} }
func (pcmd *pluginRemoveCmd) run() error { func (pcmd *pluginRemoveCmd) run() error {
plugdirs := pluginDirs(pcmd.home) debug("loading installed plugins from %s", settings.PluginDirs())
debug("loading installed plugins from %s", plugdirs) plugins, err := findPlugins(settings.PluginDirs())
plugins, err := findPlugins(plugdirs)
if err != nil { if err != nil {
return err return err
} }
......
...@@ -23,6 +23,7 @@ import ( ...@@ -23,6 +23,7 @@ import (
"strings" "strings"
"testing" "testing"
helm_env "k8s.io/helm/pkg/helm/environment"
"k8s.io/helm/pkg/helm/helmpath" "k8s.io/helm/pkg/helm/helmpath"
"k8s.io/helm/pkg/plugin" "k8s.io/helm/pkg/plugin"
...@@ -71,7 +72,6 @@ func TestLoadPlugins(t *testing.T) { ...@@ -71,7 +72,6 @@ func TestLoadPlugins(t *testing.T) {
settings.Home = old settings.Home = old
}() }()
hh := settings.Home hh := settings.Home
settings.PlugDirs = hh.Plugins()
out := bytes.NewBuffer(nil) out := bytes.NewBuffer(nil)
cmd := &cobra.Command{} cmd := &cobra.Command{}
...@@ -139,12 +139,11 @@ func TestLoadPlugins(t *testing.T) { ...@@ -139,12 +139,11 @@ func TestLoadPlugins(t *testing.T) {
func TestLoadPlugins_HelmNoPlugins(t *testing.T) { func TestLoadPlugins_HelmNoPlugins(t *testing.T) {
// Set helm home to point to testdata // Set helm home to point to testdata
old := settings.Home old := settings.Home
oldPlugDirs := settings.PlugDirs
settings.Home = "testdata/helmhome" settings.Home = "testdata/helmhome"
settings.PlugDirs = "" os.Setenv(helm_env.PluginDisableEnvVar, "1")
defer func() { defer func() {
settings.Home = old settings.Home = old
settings.PlugDirs = oldPlugDirs os.Unsetenv(helm_env.PluginDisableEnvVar)
}() }()
out := bytes.NewBuffer(nil) out := bytes.NewBuffer(nil)
...@@ -161,7 +160,6 @@ func TestSetupEnv(t *testing.T) { ...@@ -161,7 +160,6 @@ func TestSetupEnv(t *testing.T) {
name := "pequod" name := "pequod"
settings.Home = helmpath.Home("testdata/helmhome") settings.Home = helmpath.Home("testdata/helmhome")
base := filepath.Join(settings.Home.Plugins(), name) base := filepath.Join(settings.Home.Plugins(), name)
settings.PlugDirs = settings.Home.Plugins()
settings.Debug = true settings.Debug = true
defer func() { defer func() {
settings.Debug = false settings.Debug = false
......
...@@ -61,9 +61,8 @@ func (pcmd *pluginUpdateCmd) complete(args []string) error { ...@@ -61,9 +61,8 @@ func (pcmd *pluginUpdateCmd) complete(args []string) error {
func (pcmd *pluginUpdateCmd) run() error { func (pcmd *pluginUpdateCmd) run() error {
installer.Debug = settings.Debug installer.Debug = settings.Debug
plugdirs := pluginDirs(pcmd.home) debug("loading installed plugins from %s", settings.PluginDirs())
debug("loading installed plugins from %s", plugdirs) plugins, err := findPlugins(settings.PluginDirs())
plugins, err := findPlugins(plugdirs)
if err != nil { if err != nil {
return err return err
} }
......
...@@ -48,10 +48,10 @@ func newReleaseTestCmd(c helm.Interface, out io.Writer) *cobra.Command { ...@@ -48,10 +48,10 @@ func newReleaseTestCmd(c helm.Interface, out io.Writer) *cobra.Command {
} }
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "test [RELEASE]", Use: "test [RELEASE]",
Short: "test a release", Short: "test a release",
Long: releaseTestDesc, Long: releaseTestDesc,
PersistentPreRunE: setupConnection, PreRunE: setupConnection,
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
if err := checkArgsLength(len(args), "release name"); err != nil { if err := checkArgsLength(len(args), "release name"); err != nil {
return err return err
......
...@@ -57,7 +57,7 @@ func newResetCmd(client helm.Interface, out io.Writer) *cobra.Command { ...@@ -57,7 +57,7 @@ func newResetCmd(client helm.Interface, out io.Writer) *cobra.Command {
Use: "reset", Use: "reset",
Short: "uninstalls Tiller from a cluster", Short: "uninstalls Tiller from a cluster",
Long: resetDesc, Long: resetDesc,
PersistentPreRunE: func(cmd *cobra.Command, args []string) error { PreRunE: func(cmd *cobra.Command, args []string) error {
if err := setupConnection(cmd, args); !d.force && err != nil { if err := setupConnection(cmd, args); !d.force && err != nil {
return err return err
} }
......
...@@ -30,7 +30,7 @@ const rollbackDesc = ` ...@@ -30,7 +30,7 @@ const rollbackDesc = `
This command rolls back a release to a previous revision. This command rolls back a release to a previous revision.
The first argument of the rollback command is the name of a release, and the The first argument of the rollback command is the name of a release, and the
second is a revision (version) number. To see revision numbers, run second is a revision (version) number. To see revision numbers, run
'helm history RELEASE'. 'helm history RELEASE'.
` `
...@@ -54,10 +54,10 @@ func newRollbackCmd(c helm.Interface, out io.Writer) *cobra.Command { ...@@ -54,10 +54,10 @@ func newRollbackCmd(c helm.Interface, out io.Writer) *cobra.Command {
} }
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "rollback [flags] [RELEASE] [REVISION]", Use: "rollback [flags] [RELEASE] [REVISION]",
Short: "roll back a release to a previous revision", Short: "roll back a release to a previous revision",
Long: rollbackDesc, Long: rollbackDesc,
PersistentPreRunE: setupConnection, PreRunE: setupConnection,
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
if err := checkArgsLength(len(args), "release name", "revision number"); err != nil { if err := checkArgsLength(len(args), "release name", "revision number"); err != nil {
return err return err
......
...@@ -57,10 +57,10 @@ func newStatusCmd(client helm.Interface, out io.Writer) *cobra.Command { ...@@ -57,10 +57,10 @@ func newStatusCmd(client helm.Interface, out io.Writer) *cobra.Command {
} }
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "status [flags] RELEASE_NAME", Use: "status [flags] RELEASE_NAME",
Short: "displays the status of the named release", Short: "displays the status of the named release",
Long: statusHelp, Long: statusHelp,
PersistentPreRunE: setupConnection, PreRunE: setupConnection,
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
if len(args) == 0 { if len(args) == 0 {
return errReleaseRequired return errReleaseRequired
......
...@@ -91,10 +91,10 @@ func newUpgradeCmd(client helm.Interface, out io.Writer) *cobra.Command { ...@@ -91,10 +91,10 @@ func newUpgradeCmd(client helm.Interface, out io.Writer) *cobra.Command {
} }
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "upgrade [RELEASE] [CHART]", Use: "upgrade [RELEASE] [CHART]",
Short: "upgrade a release", Short: "upgrade a release",
Long: upgradeDesc, Long: upgradeDesc,
PersistentPreRunE: setupConnection, PreRunE: setupConnection,
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
if err := checkArgsLength(len(args), "release name", "chart path"); err != nil { if err := checkArgsLength(len(args), "release name", "chart path"); err != nil {
return err return err
......
...@@ -33,7 +33,7 @@ Environment: ...@@ -33,7 +33,7 @@ Environment:
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -66,4 +66,4 @@ Environment: ...@@ -66,4 +66,4 @@ Environment:
* [helm verify](helm_verify.md) - verify that a chart at the given path has been signed and is valid * [helm verify](helm_verify.md) - verify that a chart at the given path has been signed and is valid
* [helm version](helm_version.md) - print the client/server version information * [helm version](helm_version.md) - print the client/server version information
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -25,7 +25,7 @@ helm completion SHELL ...@@ -25,7 +25,7 @@ helm completion SHELL
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -34,4 +34,4 @@ helm completion SHELL ...@@ -34,4 +34,4 @@ helm completion SHELL
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -44,7 +44,7 @@ helm create NAME ...@@ -44,7 +44,7 @@ helm create NAME
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -53,4 +53,4 @@ helm create NAME ...@@ -53,4 +53,4 @@ helm create NAME
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -35,7 +35,7 @@ helm delete [flags] RELEASE_NAME [...] ...@@ -35,7 +35,7 @@ helm delete [flags] RELEASE_NAME [...]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -44,4 +44,4 @@ helm delete [flags] RELEASE_NAME [...] ...@@ -44,4 +44,4 @@ helm delete [flags] RELEASE_NAME [...]
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -58,7 +58,7 @@ for this case. ...@@ -58,7 +58,7 @@ for this case.
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -70,4 +70,4 @@ for this case. ...@@ -70,4 +70,4 @@ for this case.
* [helm dependency list](helm_dependency_list.md) - list the dependencies for the given chart * [helm dependency list](helm_dependency_list.md) - list the dependencies for the given chart
* [helm dependency update](helm_dependency_update.md) - update charts/ based on the contents of requirements.yaml * [helm dependency update](helm_dependency_update.md) - update charts/ based on the contents of requirements.yaml
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -31,7 +31,7 @@ helm dependency build [flags] CHART ...@@ -31,7 +31,7 @@ helm dependency build [flags] CHART
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -40,4 +40,4 @@ helm dependency build [flags] CHART ...@@ -40,4 +40,4 @@ helm dependency build [flags] CHART
### SEE ALSO ### SEE ALSO
* [helm dependency](helm_dependency.md) - manage a chart's dependencies * [helm dependency](helm_dependency.md) - manage a chart's dependencies
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -23,7 +23,7 @@ helm dependency list [flags] CHART ...@@ -23,7 +23,7 @@ helm dependency list [flags] CHART
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -32,4 +32,4 @@ helm dependency list [flags] CHART ...@@ -32,4 +32,4 @@ helm dependency list [flags] CHART
### SEE ALSO ### SEE ALSO
* [helm dependency](helm_dependency.md) - manage a chart's dependencies * [helm dependency](helm_dependency.md) - manage a chart's dependencies
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -36,7 +36,7 @@ helm dependency update [flags] CHART ...@@ -36,7 +36,7 @@ helm dependency update [flags] CHART
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -45,4 +45,4 @@ helm dependency update [flags] CHART ...@@ -45,4 +45,4 @@ helm dependency update [flags] CHART
### SEE ALSO ### SEE ALSO
* [helm dependency](helm_dependency.md) - manage a chart's dependencies * [helm dependency](helm_dependency.md) - manage a chart's dependencies
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -45,7 +45,7 @@ helm fetch [flags] [chart URL | repo/chartname] [...] ...@@ -45,7 +45,7 @@ helm fetch [flags] [chart URL | repo/chartname] [...]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -54,4 +54,4 @@ helm fetch [flags] [chart URL | repo/chartname] [...] ...@@ -54,4 +54,4 @@ helm fetch [flags] [chart URL | repo/chartname] [...]
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -37,7 +37,7 @@ helm get [flags] RELEASE_NAME ...@@ -37,7 +37,7 @@ helm get [flags] RELEASE_NAME
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -49,4 +49,4 @@ helm get [flags] RELEASE_NAME ...@@ -49,4 +49,4 @@ helm get [flags] RELEASE_NAME
* [helm get manifest](helm_get_manifest.md) - download the manifest for a named release * [helm get manifest](helm_get_manifest.md) - download the manifest for a named release
* [helm get values](helm_get_values.md) - download the values file for a named release * [helm get values](helm_get_values.md) - download the values file for a named release
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -25,7 +25,7 @@ helm get hooks [flags] RELEASE_NAME ...@@ -25,7 +25,7 @@ helm get hooks [flags] RELEASE_NAME
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -34,4 +34,4 @@ helm get hooks [flags] RELEASE_NAME ...@@ -34,4 +34,4 @@ helm get hooks [flags] RELEASE_NAME
### SEE ALSO ### SEE ALSO
* [helm get](helm_get.md) - download a named release * [helm get](helm_get.md) - download a named release
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -27,7 +27,7 @@ helm get manifest [flags] RELEASE_NAME ...@@ -27,7 +27,7 @@ helm get manifest [flags] RELEASE_NAME
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -36,4 +36,4 @@ helm get manifest [flags] RELEASE_NAME ...@@ -36,4 +36,4 @@ helm get manifest [flags] RELEASE_NAME
### SEE ALSO ### SEE ALSO
* [helm get](helm_get.md) - download a named release * [helm get](helm_get.md) - download a named release
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -24,7 +24,7 @@ helm get values [flags] RELEASE_NAME ...@@ -24,7 +24,7 @@ helm get values [flags] RELEASE_NAME
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -33,4 +33,4 @@ helm get values [flags] RELEASE_NAME ...@@ -33,4 +33,4 @@ helm get values [flags] RELEASE_NAME
### SEE ALSO ### SEE ALSO
* [helm get](helm_get.md) - download a named release * [helm get](helm_get.md) - download a named release
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -40,7 +40,7 @@ helm history [flags] RELEASE_NAME ...@@ -40,7 +40,7 @@ helm history [flags] RELEASE_NAME
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -49,4 +49,4 @@ helm history [flags] RELEASE_NAME ...@@ -49,4 +49,4 @@ helm history [flags] RELEASE_NAME
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -18,7 +18,7 @@ helm home ...@@ -18,7 +18,7 @@ helm home
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -27,4 +27,4 @@ helm home ...@@ -27,4 +27,4 @@ helm home
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -54,7 +54,7 @@ helm init ...@@ -54,7 +54,7 @@ helm init
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -63,4 +63,4 @@ helm init ...@@ -63,4 +63,4 @@ helm init
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -32,7 +32,7 @@ helm inspect [CHART] ...@@ -32,7 +32,7 @@ helm inspect [CHART]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -43,4 +43,4 @@ helm inspect [CHART] ...@@ -43,4 +43,4 @@ helm inspect [CHART]
* [helm inspect chart](helm_inspect_chart.md) - shows inspect chart * [helm inspect chart](helm_inspect_chart.md) - shows inspect chart
* [helm inspect values](helm_inspect_values.md) - shows inspect values * [helm inspect values](helm_inspect_values.md) - shows inspect values
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -30,7 +30,7 @@ helm inspect chart [CHART] ...@@ -30,7 +30,7 @@ helm inspect chart [CHART]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -39,4 +39,4 @@ helm inspect chart [CHART] ...@@ -39,4 +39,4 @@ helm inspect chart [CHART]
### SEE ALSO ### SEE ALSO
* [helm inspect](helm_inspect.md) - inspect a chart * [helm inspect](helm_inspect.md) - inspect a chart
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -30,7 +30,7 @@ helm inspect values [CHART] ...@@ -30,7 +30,7 @@ helm inspect values [CHART]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -39,4 +39,4 @@ helm inspect values [CHART] ...@@ -39,4 +39,4 @@ helm inspect values [CHART]
### SEE ALSO ### SEE ALSO
* [helm inspect](helm_inspect.md) - inspect a chart * [helm inspect](helm_inspect.md) - inspect a chart
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -97,7 +97,7 @@ helm install [CHART] ...@@ -97,7 +97,7 @@ helm install [CHART]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -106,4 +106,4 @@ helm install [CHART] ...@@ -106,4 +106,4 @@ helm install [CHART]
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -28,7 +28,7 @@ helm lint [flags] PATH ...@@ -28,7 +28,7 @@ helm lint [flags] PATH
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -37,4 +37,4 @@ helm lint [flags] PATH ...@@ -37,4 +37,4 @@ helm lint [flags] PATH
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -61,7 +61,7 @@ helm list [flags] [FILTER] ...@@ -61,7 +61,7 @@ helm list [flags] [FILTER]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -70,4 +70,4 @@ helm list [flags] [FILTER] ...@@ -70,4 +70,4 @@ helm list [flags] [FILTER]
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -35,7 +35,7 @@ helm package [flags] [CHART_PATH] [...] ...@@ -35,7 +35,7 @@ helm package [flags] [CHART_PATH] [...]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -44,4 +44,4 @@ helm package [flags] [CHART_PATH] [...] ...@@ -44,4 +44,4 @@ helm package [flags] [CHART_PATH] [...]
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -13,7 +13,7 @@ Manage client-side Helm plugins. ...@@ -13,7 +13,7 @@ Manage client-side Helm plugins.
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -26,4 +26,4 @@ Manage client-side Helm plugins. ...@@ -26,4 +26,4 @@ Manage client-side Helm plugins.
* [helm plugin remove](helm_plugin_remove.md) - remove one or more Helm plugins * [helm plugin remove](helm_plugin_remove.md) - remove one or more Helm plugins
* [helm plugin update](helm_plugin_update.md) - update one or more Helm plugins * [helm plugin update](helm_plugin_update.md) - update one or more Helm plugins
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -21,7 +21,7 @@ helm plugin install [options] <path|url>... ...@@ -21,7 +21,7 @@ helm plugin install [options] <path|url>...
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -30,4 +30,4 @@ helm plugin install [options] <path|url>... ...@@ -30,4 +30,4 @@ helm plugin install [options] <path|url>...
### SEE ALSO ### SEE ALSO
* [helm plugin](helm_plugin.md) - add, list, or remove Helm plugins * [helm plugin](helm_plugin.md) - add, list, or remove Helm plugins
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -15,7 +15,7 @@ helm plugin list ...@@ -15,7 +15,7 @@ helm plugin list
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -24,4 +24,4 @@ helm plugin list ...@@ -24,4 +24,4 @@ helm plugin list
### SEE ALSO ### SEE ALSO
* [helm plugin](helm_plugin.md) - add, list, or remove Helm plugins * [helm plugin](helm_plugin.md) - add, list, or remove Helm plugins
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -15,7 +15,7 @@ helm plugin remove <plugin>... ...@@ -15,7 +15,7 @@ helm plugin remove <plugin>...
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -24,4 +24,4 @@ helm plugin remove <plugin>... ...@@ -24,4 +24,4 @@ helm plugin remove <plugin>...
### SEE ALSO ### SEE ALSO
* [helm plugin](helm_plugin.md) - add, list, or remove Helm plugins * [helm plugin](helm_plugin.md) - add, list, or remove Helm plugins
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -15,7 +15,7 @@ helm plugin update <plugin>... ...@@ -15,7 +15,7 @@ helm plugin update <plugin>...
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -24,4 +24,4 @@ helm plugin update <plugin>... ...@@ -24,4 +24,4 @@ helm plugin update <plugin>...
### SEE ALSO ### SEE ALSO
* [helm plugin](helm_plugin.md) - add, list, or remove Helm plugins * [helm plugin](helm_plugin.md) - add, list, or remove Helm plugins
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -17,7 +17,7 @@ Example usage: ...@@ -17,7 +17,7 @@ Example usage:
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -31,4 +31,4 @@ Example usage: ...@@ -31,4 +31,4 @@ Example usage:
* [helm repo remove](helm_repo_remove.md) - remove a chart repository * [helm repo remove](helm_repo_remove.md) - remove a chart repository
* [helm repo update](helm_repo_update.md) - update information on available charts in the chart repositories * [helm repo update](helm_repo_update.md) - update information on available charts in the chart repositories
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -24,7 +24,7 @@ helm repo add [flags] [NAME] [URL] ...@@ -24,7 +24,7 @@ helm repo add [flags] [NAME] [URL]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -33,4 +33,4 @@ helm repo add [flags] [NAME] [URL] ...@@ -33,4 +33,4 @@ helm repo add [flags] [NAME] [URL]
### SEE ALSO ### SEE ALSO
* [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories * [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -31,7 +31,7 @@ helm repo index [flags] [DIR] ...@@ -31,7 +31,7 @@ helm repo index [flags] [DIR]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -40,4 +40,4 @@ helm repo index [flags] [DIR] ...@@ -40,4 +40,4 @@ helm repo index [flags] [DIR]
### SEE ALSO ### SEE ALSO
* [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories * [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -15,7 +15,7 @@ helm repo list [flags] ...@@ -15,7 +15,7 @@ helm repo list [flags]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -24,4 +24,4 @@ helm repo list [flags] ...@@ -24,4 +24,4 @@ helm repo list [flags]
### SEE ALSO ### SEE ALSO
* [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories * [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -15,7 +15,7 @@ helm repo remove [flags] [NAME] ...@@ -15,7 +15,7 @@ helm repo remove [flags] [NAME]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -24,4 +24,4 @@ helm repo remove [flags] [NAME] ...@@ -24,4 +24,4 @@ helm repo remove [flags] [NAME]
### SEE ALSO ### SEE ALSO
* [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories * [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -21,7 +21,7 @@ helm repo update ...@@ -21,7 +21,7 @@ helm repo update
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -30,4 +30,4 @@ helm repo update ...@@ -30,4 +30,4 @@ helm repo update
### SEE ALSO ### SEE ALSO
* [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories * [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -31,7 +31,7 @@ helm reset ...@@ -31,7 +31,7 @@ helm reset
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -40,4 +40,4 @@ helm reset ...@@ -40,4 +40,4 @@ helm reset
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -9,7 +9,7 @@ roll back a release to a previous revision ...@@ -9,7 +9,7 @@ roll back a release to a previous revision
This command rolls back a release to a previous revision. This command rolls back a release to a previous revision.
The first argument of the rollback command is the name of a release, and the The first argument of the rollback command is the name of a release, and the
second is a revision (version) number. To see revision numbers, run second is a revision (version) number. To see revision numbers, run
'helm history RELEASE'. 'helm history RELEASE'.
...@@ -37,7 +37,7 @@ helm rollback [flags] [RELEASE] [REVISION] ...@@ -37,7 +37,7 @@ helm rollback [flags] [RELEASE] [REVISION]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -46,4 +46,4 @@ helm rollback [flags] [RELEASE] [REVISION] ...@@ -46,4 +46,4 @@ helm rollback [flags] [RELEASE] [REVISION]
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -28,7 +28,7 @@ helm search [keyword] ...@@ -28,7 +28,7 @@ helm search [keyword]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -37,4 +37,4 @@ helm search [keyword] ...@@ -37,4 +37,4 @@ helm search [keyword]
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -36,7 +36,7 @@ helm serve ...@@ -36,7 +36,7 @@ helm serve
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -45,4 +45,4 @@ helm serve ...@@ -45,4 +45,4 @@ helm serve
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -35,7 +35,7 @@ helm status [flags] RELEASE_NAME ...@@ -35,7 +35,7 @@ helm status [flags] RELEASE_NAME
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -44,4 +44,4 @@ helm status [flags] RELEASE_NAME ...@@ -44,4 +44,4 @@ helm status [flags] RELEASE_NAME
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -32,7 +32,7 @@ helm test [RELEASE] ...@@ -32,7 +32,7 @@ helm test [RELEASE]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -41,4 +41,4 @@ helm test [RELEASE] ...@@ -41,4 +41,4 @@ helm test [RELEASE]
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -67,7 +67,7 @@ helm upgrade [RELEASE] [CHART] ...@@ -67,7 +67,7 @@ helm upgrade [RELEASE] [CHART]
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -76,4 +76,4 @@ helm upgrade [RELEASE] [CHART] ...@@ -76,4 +76,4 @@ helm upgrade [RELEASE] [CHART]
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -30,7 +30,7 @@ helm verify [flags] PATH ...@@ -30,7 +30,7 @@ helm verify [flags] PATH
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -39,4 +39,4 @@ helm verify [flags] PATH ...@@ -39,4 +39,4 @@ helm verify [flags] PATH
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -44,7 +44,7 @@ helm version ...@@ -44,7 +44,7 @@ helm version
``` ```
--debug enable verbose output --debug enable verbose output
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") --home string location of your Helm config. Overrides $HELM_HOME (default "$HOME/.helm")
--host string address of tiller. Overrides $HELM_HOST --host string address of tiller. Overrides $HELM_HOST
--kube-context string name of the kubeconfig context to use --kube-context string name of the kubeconfig context to use
--tiller-namespace string namespace of tiller (default "kube-system") --tiller-namespace string namespace of tiller (default "kube-system")
...@@ -53,4 +53,4 @@ helm version ...@@ -53,4 +53,4 @@ helm version
### SEE ALSO ### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes. * [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 26-May-2017 ###### Auto generated by spf13/cobra on 29-May-2017
...@@ -29,7 +29,7 @@ import ( ...@@ -29,7 +29,7 @@ import (
// collectPlugins scans for getter plugins. // collectPlugins scans for getter plugins.
// This will load plugins according to the environment. // This will load plugins according to the environment.
func collectPlugins(settings environment.EnvSettings) (Providers, error) { func collectPlugins(settings environment.EnvSettings) (Providers, error) {
plugins, err := plugin.FindPlugins(settings.PlugDirs) plugins, err := plugin.FindPlugins(settings.PluginDirs())
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
...@@ -32,9 +32,8 @@ func hh(debug bool) environment.EnvSettings { ...@@ -32,9 +32,8 @@ func hh(debug bool) environment.EnvSettings {
} }
hp := helmpath.Home(apath) hp := helmpath.Home(apath)
return environment.EnvSettings{ return environment.EnvSettings{
Home: hp, Home: hp,
PlugDirs: hp.Plugins(), Debug: debug,
Debug: debug,
} }
} }
......
...@@ -38,20 +38,12 @@ const ( ...@@ -38,20 +38,12 @@ const (
PluginDisableEnvVar = "HELM_NO_PLUGINS" PluginDisableEnvVar = "HELM_NO_PLUGINS"
// HostEnvVar is the HELM_HOST environment variable key. // HostEnvVar is the HELM_HOST environment variable key.
HostEnvVar = "HELM_HOST" HostEnvVar = "HELM_HOST"
// DebugEnvVar is the HELM_DEBUG environment variable key.
DebugEnvVar = "HELM_DEBUG"
) )
// DefaultHelmHome gets the configured HELM_HOME, or returns the default. // DefaultHelmHome is the default HELM_HOME.
func DefaultHelmHome() string { var DefaultHelmHome = filepath.Join("$HOME", ".helm")
if home := os.Getenv(HomeEnvVar); home != "" {
return home
}
return filepath.Join(os.Getenv("HOME"), ".helm")
}
// DefaultHelmHost returns the configured HELM_HOST or an empty string.
func DefaultHelmHost() string {
return os.Getenv(HostEnvVar)
}
// EnvSettings describes all of the environment settings. // EnvSettings describes all of the environment settings.
type EnvSettings struct { type EnvSettings struct {
...@@ -61,8 +53,14 @@ type EnvSettings struct { ...@@ -61,8 +53,14 @@ type EnvSettings struct {
TillerNamespace string TillerNamespace string
// Home is the local path to the Helm home directory. // Home is the local path to the Helm home directory.
Home helmpath.Home Home helmpath.Home
// PluginDirs is the path to the plugin directories.
PlugDirs string
// Debug indicates whether or not Helm is running in Debug mode. // Debug indicates whether or not Helm is running in Debug mode.
Debug bool Debug bool
} }
// PluginDirs is the path to the plugin directories.
func (s EnvSettings) PluginDirs() string {
if d := os.Getenv(PluginEnvVar); d != "" {
return d
}
return s.Home.Plugins()
}
...@@ -17,6 +17,7 @@ package helmpath ...@@ -17,6 +17,7 @@ package helmpath
import ( import (
"fmt" "fmt"
"os"
"path/filepath" "path/filepath"
) )
...@@ -29,12 +30,12 @@ type Home string ...@@ -29,12 +30,12 @@ type Home string
// //
// Implements fmt.Stringer. // Implements fmt.Stringer.
func (h Home) String() string { func (h Home) String() string {
return string(h) return os.ExpandEnv(string(h))
} }
// Path returns Home with elements appended. // Path returns Home with elements appended.
func (h Home) Path(elem ...string) string { func (h Home) Path(elem ...string) string {
p := []string{string(h)} p := []string{h.String()}
p = append(p, elem...) p = append(p, elem...)
return filepath.Join(p...) return filepath.Join(p...)
} }
......
...@@ -38,3 +38,9 @@ func TestHelmHome(t *testing.T) { ...@@ -38,3 +38,9 @@ func TestHelmHome(t *testing.T) {
isEq(t, hh.CacheIndex("t"), "/r/repository/cache/t-index.yaml") isEq(t, hh.CacheIndex("t"), "/r/repository/cache/t-index.yaml")
isEq(t, hh.Starters(), "/r/starters") isEq(t, hh.Starters(), "/r/starters")
} }
func TestHelmHome_expand(t *testing.T) {
if Home("$HOME").String() == "$HOME" {
t.Error("expected variable expansion")
}
}
...@@ -179,7 +179,7 @@ func SetupPluginEnv(settings helm_env.EnvSettings, ...@@ -179,7 +179,7 @@ func SetupPluginEnv(settings helm_env.EnvSettings,
// Set vars that may not have been set, and save client the // Set vars that may not have been set, and save client the
// trouble of re-parsing. // trouble of re-parsing.
helm_env.PluginEnvVar: settings.PlugDirs, helm_env.PluginEnvVar: settings.PluginDirs(),
helm_env.HomeEnvVar: settings.Home.String(), helm_env.HomeEnvVar: settings.Home.String(),
// Set vars that convey common information. // Set vars that convey common information.
......
...@@ -24,7 +24,6 @@ package environment ...@@ -24,7 +24,6 @@ package environment
import ( import (
"io" "io"
"os"
"time" "time"
"k8s.io/helm/pkg/chartutil" "k8s.io/helm/pkg/chartutil"
...@@ -44,14 +43,6 @@ const TillerNamespaceEnvVar = "TILLER_NAMESPACE" ...@@ -44,14 +43,6 @@ const TillerNamespaceEnvVar = "TILLER_NAMESPACE"
// DefaultTillerNamespace is the default namespace for tiller. // DefaultTillerNamespace is the default namespace for tiller.
const DefaultTillerNamespace = "kube-system" const DefaultTillerNamespace = "kube-system"
// GetTillerNamespace returns the right tiller namespace.
func GetTillerNamespace() string {
if ns := os.Getenv(TillerNamespaceEnvVar); ns != "" {
return ns
}
return DefaultTillerNamespace
}
// GoTplEngine is the name of the Go template engine, as registered in the EngineYard. // GoTplEngine is the name of the Go template engine, as registered in the EngineYard.
const GoTplEngine = "gotpl" const GoTplEngine = "gotpl"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment