示例#1
0
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)
}
示例#2
0
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()
}