small pixel drawing of a pufferfish cascade

main.go

package main

import (
	"fmt"
	"os"

	"git.j3s.sh/cascade/command/agent"
	"git.j3s.sh/cascade/command/ls"
)

const usage = `cascade agent     start a cascade agent
cascade ls        list nodes, services, or members
cascade rtt       estimate latency between nodes
`

// TODO: rename agent to something cooler
func main() {
	if len(os.Args) == 1 {
		fmt.Fprintf(os.Stderr, "%s", usage)
		os.Exit(1)
	}

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