func main() { app := cli.NewApp() app.Name = "spinsights" app.Usage = "Troubleshooting tool for spinnaker" app.EnableBashCompletion = true go func() { panic(debug.ListenAndServe()) }() // client := spinsights.DefalutClient var executionId string app.Commands = []cli.Command{ { Name: "exec", Usage: "Takes a execution id and displays details about a pipeline execution", Aliases: []string{"e"}, Action: func(c *cli.Context) { executionId = c.Args().First() // client.GetExecutionById(executionId) spinsights.RenderPipeline(executionId) }, }, { Name: "open", Aliases: []string{"o"}, Action: func(c *cli.Context) { url := c.Args().First() cm := exec.Command("open", url) cm.Run() }, }, } app.Run(os.Args) }
func main() { // run as client if len(os.Args) > 1 { fmt.Print(debug.ConnectAndListen()) return } // run as server go func() { panic(debug.ListenAndServe()) }() if err := termui.Init(); err != nil { panic(err) } defer termui.Close() //termui.UseTheme("helloworld") b := termui.NewBlock() b.Width = 20 b.Height = 20 b.Float = termui.AlignCenter b.BorderLabel = "[HELLO](fg-red,bg-white) [WORLD](fg-blue,bg-green)" termui.Render(b) termui.Handle("/sys", func(e termui.Event) { k, ok := e.Data.(termui.EvtKbd) debug.Logf("->%v\n", e) if ok && k.KeyStr == "q" { termui.StopLoop() } }) termui.Handle(("/usr"), func(e termui.Event) { debug.Logf("->%v\n", e) }) termui.Handle("/timer/1s", func(e termui.Event) { t := e.Data.(termui.EvtTimer) termui.SendCustomEvt("/usr/t", t.Count) if t.Count%2 == 0 { b.BorderLabel = "[HELLO](fg-red,bg-green) [WORLD](fg-blue,bg-white)" } else { b.BorderLabel = "[HELLO](fg-blue,bg-white) [WORLD](fg-red,bg-green)" } termui.Render(b) }) termui.Loop() }