leaderless gossip-based service discovery w/ consul compatibility
5

Configure Feed

Select the types of activity you want to include in your feed.

members - remove details

Jes Olson (May 22, 2026, 10:10 PM -0500) 978cce69 3b249ac4

+15 -24
+14 -23
internal/cli/members.go
··· 25 25 flags: 26 26 -api 27 27 address of the cascade http api to target (default = 127.0.0.1:8500) 28 - 29 - -details | -l 30 - show more details (default = nil) 31 28 `) 32 29 } 33 30 ··· 59 56 os.Exit(1) 60 57 } 61 58 62 - if c.flagDetails { 63 - var b bytes.Buffer 64 - tw := tabwriter.NewWriter(&b, 0, 2, 2, ' ', 0) 65 - fmt.Fprintf(tw, "node\taddr\tstatus\ttags\n") 66 - for _, m := range members { 67 - fmt.Fprintf(tw, "%s\t", m.Name) 68 - fmt.Fprintf(tw, "%s:%d\t", m.Addr, m.Port) 69 - fmt.Fprintf(tw, "%s\t", m.StatusPretty()) 70 - fmt.Fprintf(tw, "%s\t", c.printTags(m.Tags)) 71 - fmt.Fprintln(tw) 72 - } 73 - if err := tw.Flush(); err != nil { 74 - fmt.Printf("error flushing tabwriter: %s", err) 75 - os.Exit(1) 76 - } 77 - fmt.Print(b.String()) 78 - } else { 79 - for _, m := range members { 80 - fmt.Println(m.Name) 81 - } 59 + var b bytes.Buffer 60 + tw := tabwriter.NewWriter(&b, 0, 2, 2, ' ', 0) 61 + fmt.Fprintf(tw, "node\taddr\tstatus\ttags\n") 62 + for _, m := range members { 63 + fmt.Fprintf(tw, "%s\t", m.Name) 64 + fmt.Fprintf(tw, "%s:%d\t", m.Addr, m.Port) 65 + fmt.Fprintf(tw, "%s\t", m.StatusPretty()) 66 + fmt.Fprintf(tw, "%s\t", c.printTags(m.Tags)) 67 + fmt.Fprintln(tw) 82 68 } 69 + if err := tw.Flush(); err != nil { 70 + fmt.Printf("error flushing tabwriter: %s", err) 71 + os.Exit(1) 72 + } 73 + fmt.Print(b.String()) 83 74 } 84 75 85 76 func (c membersCommand) printTags(tags map[string]string) string {
+1 -1
main.go
··· 11 11 12 12 commands: 13 13 cascade agent start a cascade agent 14 - cascade serf list cascade cluster members 14 + cascade members list cascade cluster members 15 15 cascade status overview of the cascade cluster 16 16 cascade rtt estimate latency between nodes 17 17 `