github.com/henvic/wedeploycli@v1.7.6-0.20200319005353-3630f582f284/command/console/console.go (about) 1 package console 2 3 import ( 4 "context" 5 "fmt" 6 "os" 7 8 "github.com/henvic/browser" 9 "github.com/henvic/wedeploycli/cmdflagsfromhost" 10 "github.com/henvic/wedeploycli/command/internal/we" 11 "github.com/spf13/cobra" 12 ) 13 14 var setupHost = cmdflagsfromhost.SetupHost{ 15 Pattern: cmdflagsfromhost.RemotePattern, 16 } 17 18 // ConsoleCmd opens the browser console 19 var ConsoleCmd = &cobra.Command{ 20 Use: "console", 21 Short: "Open the console on your browser", 22 Args: cobra.NoArgs, 23 PreRunE: consolePreRun, 24 RunE: consoleRun, 25 } 26 27 func init() { 28 setupHost.Init(ConsoleCmd) 29 } 30 31 func consolePreRun(cmd *cobra.Command, args []string) error { 32 return setupHost.Process(context.Background(), we.Context()) 33 } 34 35 func consoleRun(cmd *cobra.Command, args []string) error { 36 var link = fmt.Sprintf("https://console.%v", setupHost.InfrastructureDomain()) 37 err := browser.OpenURL(link) 38 39 if err != nil { 40 _, _ = fmt.Fprintf(os.Stderr, "Failed to open %v", link) 41 return err 42 } 43 44 fmt.Println("Console opened on your browser.") 45 return nil 46 }