small pixel drawing of a pufferfish cascade

main.go

package main

import (
	"fmt"
	"os"

	"git.j3s.sh/cascade/agent"
	"git.j3s.sh/cascade/list"
)

// TODO: rename agent to something cooler
const help = `cascade agent     start a cascade agent
cascade list|ls   list nodes or services
cascade members   show serf cluster members
cascade rtt       estimate latency between nodes
`

func main() {
	if len(os.Args) == 1 {
		fmt.Fprintf(os.Stderr, "%s", help)
		os.Exit(1)
	}

	cmd := os.Args[1]
	args := os.Args[2:]
	switch cmd {
	case "agent":
		agent.Run()
	case "list", "ls":
		list.Run(args)
	default:
		fmt.Fprintf(os.Stderr, "'%s' is not a valid command\n\n%s", cmd, help)
		os.Exit(1)
	}
}