Short: "Opens/displays the kubernetes dashboard URL for your local cluster", Long: `Opens/displays the kubernetes dashboard URL for your local cluster`, Run: func(cmd *cobra.Command, args []string) { api := libmachine.NewClient(constants.Minipath, constants.MakeMiniPath("certs")) defer api.Close() cluster.EnsureMinikubeRunningOrExit(api) namespace := "kube-system" service := "kubernetes-dashboard" if err := commonutil.RetryAfter(20, func() error { return CheckService(namespace, service) }, 6*time.Second); err != nil { fmt.Fprintf(os.Stderr, "Could not find finalized endpoint being pointed to by %s: %s\n", service, err) os.Exit(1) } url, err := cluster.GetServiceURL(api, namespace, service) if err != nil { fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, "Check that minikube is running.") os.Exit(1) } if dashboardURLMode { fmt.Fprintln(os.Stdout, url) } else { fmt.Fprintln(os.Stdout, "Opening kubernetes dashboard in default browser...") browser.OpenURL(url) } }, }
"k8s.io/minikube/pkg/minikube/constants" ) var ( dashboardURLMode bool ) // dashboardCmd represents the dashboard command var dashboardCmd = &cobra.Command{ Use: "dashboard", Short: "Opens/displays the kubernetes dashboard URL for your local cluster", Long: `Opens/displays the kubernetes dashboard URL for your local cluster`, Run: func(cmd *cobra.Command, args []string) { api := libmachine.NewClient(constants.Minipath, constants.MakeMiniPath("certs")) defer api.Close() url, err := cluster.GetServiceURL(api, "kube-system", "kubernetes-dashboard") if err != nil { glog.Errorln("Error accessing the kubernetes dashboard (is minikube running?): Error: ", err) os.Exit(1) } if dashboardURLMode { fmt.Fprintln(os.Stdout, url) } else { fmt.Fprintln(os.Stdout, "Opening kubernetes dashboard in default browser...") browser.OpenURL(url) } }, } func init() { dashboardCmd.Flags().BoolVar(&dashboardURLMode, "url", false, "Display the kubernetes dashboard in the CLI instead of opening it in the default browser")