···77 Port uint16
88 Tags map[string]string
99 // Status of the Member which corresponds to github.com/hashicorp/serf/serf.MemberStatus
1010- // Value is one of:
1110 //
1212- // AgentMemberNone = 0
1313- // AgentMemberAlive = 1
1414- // AgentMemberLeaving = 2
1515- // AgentMemberLeft = 3
1616- // AgentMemberFailed = 4
1111+ // AgentMemberNone = 0
1212+ // AgentMemberAlive = 1
1313+ // AgentMemberLeaving = 2
1414+ // AgentMemberLeft = 3
1515+ // AgentMemberFailed = 4
1716 Status int
1817 ProtocolMin uint8
1918 ProtocolMax uint8
···2423}
25242625func (am *AgentMember) StatusPretty() string {
2727- result := "unknown"
2626+ var result string
2827 switch am.Status {
2928 case 0:
3029 result = "none"
···3635 result = "left"
3736 case 4:
3837 result = "failed"
3838+ default:
3939+ result = "unknown"
3940 }
4041 return result
4142}
42434344// XXX: this may be needed for consul compatability, but I'm leaving it
4445// out for now in case it isn't.
4545-const AllSegments = "_all"
4646+// const AllSegments = "_all"
46474748// Agent can be used to query the Agent endpoints
4849type Agent struct {
+1-34
api/api.go
···6969 return config
7070}
71717272-// Client provides a client to the Consul API
7272+// Client provides a client to the cascade API
7373type Client struct {
7474 modifyLock sync.RWMutex
7575 headers http.Header
···9595 }
96969797 return ret
9898-}
9999-100100-// AddHeader allows a single header key/value pair to be added
101101-// in a race-safe fashion.
102102-func (c *Client) AddHeader(key, value string) {
103103- c.modifyLock.Lock()
104104- defer c.modifyLock.Unlock()
105105- c.headers.Add(key, value)
106106-}
107107-108108-// SetHeaders clears all previous headers and uses only the given
109109-// ones going forward.
110110-func (c *Client) SetHeaders(headers http.Header) {
111111- c.modifyLock.Lock()
112112- defer c.modifyLock.Unlock()
113113- c.headers = headers
11498}
11599116100// NewClient returns a new client
···434418 closeResponseBody(resp)
435419 return fmt.Errorf("Unexpected response code: %d (%s)", resp.StatusCode, buf.Bytes())
436420}
437437-438438-func requireNotFoundOrOK(d time.Duration, resp *http.Response, e error) (bool, time.Duration, *http.Response, error) {
439439- if e != nil {
440440- if resp != nil {
441441- closeResponseBody(resp)
442442- }
443443- return false, d, nil, e
444444- }
445445- switch resp.StatusCode {
446446- case 200:
447447- return true, d, resp, nil
448448- case 404:
449449- return false, d, resp, nil
450450- default:
451451- return false, d, nil, generateUnexpectedResponseCodeError(resp)
452452- }
453453-}
+4-4
command/list/list.go
command/ls/ls.go
···11-package list
11+package ls
2233import (
44 "fmt"
55 "os"
6677- "git.j3s.sh/cascade/command/list/members"
77+ "git.j3s.sh/cascade/command/ls/members"
88)
991010-const usage = `cascade ls nodes
1111-cascade ls members
1010+const usage = `cascade ls members
1111+cascade ls nodes
1212cascade ls services
1313`
1414