package main import ( "fmt" "os" "j3s.sh/cascade/internal/cli" ) const usage = ` usage: cascade [command] [flags] [-h] commands: cascade agent start a cascade agent cascade status overview of the cascade cluster cascade nodes list nodes cascade services [name] list services cascade register register a service to an agent cascade deregister remove a service from an agent 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": cli.RunAgent(args) case "nodes": cli.RunNodes(args) case "status": cli.RunStatus(args) case "services": cli.RunServices(args) case "register": cli.RunRegister(args) case "deregister": cli.RunDeregister(args) default: fmt.Fprintf(os.Stderr, "'%s' is not a valid command\n\n%s", command, usage) os.Exit(1) } }