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  }