Merge pull request #491 from adamreese/feat/helm-kubectlpath

feat(cli) add kubectl path option
pull/497/head
Adam Reese 9 years ago
commit a6af67ee22

@ -70,10 +70,15 @@ func main() {
app.Flags = []cli.Flag{
cli.StringFlag{
Name: "host,u",
Usage: "The URL of the DM server.",
Usage: "The URL of the DM server",
EnvVar: "HELM_HOST",
Value: "https://localhost:8000/",
},
cli.StringFlag{
Name: "kubectl",
Usage: "The path to the kubectl binary",
EnvVar: "KUBECTL",
},
cli.IntFlag{
Name: "timeout",
Usage: "Time in seconds to wait for response",

@ -123,11 +123,13 @@ func dmCmd() cli.Command {
}
func installServer(c *cli.Context) error {
dryRun := c.Bool("dry-run")
resImg := c.String("resourcifier-image")
ebImg := c.String("expandybird-image")
manImg := c.String("manager-image")
runner := getKubectlRunner(dryRun)
dryRun := c.Bool("dry-run")
kubectlPath := c.GlobalString("kubectl")
runner := buildKubectlRunner(kubectlPath, dryRun)
i := client.NewInstaller()
i.Manager["Image"] = manImg
@ -144,7 +146,8 @@ func installServer(c *cli.Context) error {
func uninstallServer(c *cli.Context) error {
dryRun := c.Bool("dry-run")
runner := getKubectlRunner(dryRun)
kubectlPath := c.GlobalString("kubectl")
runner := buildKubectlRunner(kubectlPath, dryRun)
out, err := client.Uninstall(runner)
if err != nil {
@ -156,12 +159,10 @@ func uninstallServer(c *cli.Context) error {
func statusServer(c *cli.Context) error {
dryRun := c.Bool("dry-run")
client := kubectl.Client
if dryRun {
client = kubectl.PrintRunner{}
}
kubectlPath := c.GlobalString("kubectl")
runner := buildKubectlRunner(kubectlPath, dryRun)
out, err := client.GetByKind("pods", "", "dm")
out, err := runner.GetByKind("pods", "", "dm")
if err != nil {
return err
}
@ -169,23 +170,26 @@ func statusServer(c *cli.Context) error {
return nil
}
func getKubectlRunner(dryRun bool) kubectl.Runner {
if dryRun {
return &kubectl.PrintRunner{}
}
return &kubectl.RealRunner{}
}
func targetServer(c *cli.Context) error {
dryRun := c.Bool("dry-run")
client := kubectl.Client
if dryRun {
client = kubectl.PrintRunner{}
}
out, err := client.ClusterInfo()
kubectlPath := c.GlobalString("kubectl")
runner := buildKubectlRunner(kubectlPath, dryRun)
out, err := runner.ClusterInfo()
if err != nil {
return fmt.Errorf("%s (%s)", out, err)
}
format.Msg(string(out))
return nil
}
func buildKubectlRunner(kubectlPath string, dryRun bool) kubectl.Runner {
if dryRun {
return &kubectl.PrintRunner{}
}
// TODO: Refactor out kubectl.Path global
if kubectlPath != "" {
kubectl.Path = kubectlPath
}
return &kubectl.RealRunner{}
}

Loading…
Cancel
Save