MCPcopy Index your code
hub / github.com/koding/kite / Run

Method Run

kitectl/command/register.go:48–97  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

46}
47
48func (c *Register) Run(args []string) int {
49 var kontrolURL, username string
50 var err error
51
52 flags := flag.NewFlagSet("register", flag.ExitOnError)
53 flags.StringVar(&kontrolURL, "to", defaultKontrolURL, "Kontrol URL")
54 flags.StringVar(&username, "username", "", "Username")
55 flags.Parse(args)
56
57 // Open up a prompt
58 if username == "" {
59 username, err = c.Ui.Ask("Username:")
60 if err != nil {
61 c.Ui.Error(err.Error())
62 return 1
63 }
64 // User can just press enter to use the default on the prompt
65 if username == "" {
66 c.Ui.Error("Username can not be empty.")
67 return 1
68 }
69 }
70
71 c.KiteClient.Config.Username = username
72
73 if _, err := kitekey.Read(); err == nil {
74 c.Ui.Info("Already registered. Registering again...")
75 }
76
77 kontrol := c.KiteClient.NewClient(kontrolURL)
78 if err := kontrol.Dial(); err != nil {
79 c.Ui.Error(err.Error())
80 return 1
81 }
82
83 result, err := kontrol.TellWithTimeout("registerMachine", 5*time.Minute, username)
84 if err != nil {
85 c.Ui.Error(err.Error())
86 return 1
87 }
88
89 if err := kitekey.Write(result.MustString()); err != nil {
90 c.Ui.Error(err.Error())
91 return 1
92 }
93
94 c.Ui.Info("Registered successfully")
95
96 return 0
97}

Callers

nothing calls this directly

Calls 8

DialMethod · 0.95
TellWithTimeoutMethod · 0.95
InfoMethod · 0.80
NewClientMethod · 0.80
WriteMethod · 0.80
MustStringMethod · 0.80
ErrorMethod · 0.65
ReadMethod · 0.45

Tested by

no test coverage detected