Documentation ¶
Index ¶
- Constants
- func Asset(name string) ([]byte, error)
- func AssetDir(name string) ([]string, error)
- func AssetInfo(name string) (os.FileInfo, error)
- func AssetNames() []string
- func MustAsset(name string) []byte
- func RestoreAsset(dir, name string) error
- func RestoreAssets(dir, name string) error
- type API
- type Addresses
- type BodyWatch
- type Config
- type Deploy
- type Digest
- type Http
- type LogHandler
- type LogWriter
- type Mutation
- type MutationService
- type MutationServiceInput
- type NestNodeResover
- func (r *NestNodeResover) Config() string
- func (r *NestNodeResover) DataCenter() string
- func (r *NestNodeResover) Ip() string
- func (r *NestNodeResover) IsSelf() bool
- func (r *NestNodeResover) Name() string
- func (r *NestNodeResover) Port() int32
- func (r *NestNodeResover) Progress() *NestProgressResover
- func (r *NestNodeResover) RpcPort() int32
- func (r *NestNodeResover) SnapShot() string
- func (r *NestNodeResover) StartTime() int32
- func (r *NestNodeResover) State() string
- func (r *NestNodeResover) StatusContent() string
- func (r *NestNodeResover) Version() int32
- type NestProgressResover
- type NestServiceResover
- func (r *NestServiceResover) Config() string
- func (r *NestServiceResover) Ip() string
- func (r *NestServiceResover) Name() string
- func (r *NestServiceResover) Port() int32
- func (r *NestServiceResover) Progress() *NestProgressResover
- func (r *NestServiceResover) StartTime() int32
- func (r *NestServiceResover) State() string
- func (r *NestServiceResover) StatusContent() string
- type Node
- type NodeResolver
- func (r *NodeResolver) DataCenter() string
- func (r *NodeResolver) HttpPort() int32
- func (r *NodeResolver) Ip() string
- func (r *NodeResolver) IsSelf() bool
- func (r *NodeResolver) Name() string
- func (r *NodeResolver) RpcPort() int32
- func (r *NodeResolver) Services() *[]*NestServiceResover
- func (r *NodeResolver) SnapShot() string
- func (r *NodeResolver) State() string
- func (r *NodeResolver) Version() int32
- type Nodes
- type Ports
- type Progress
- type Query
- func (q *Query) Node(p api.ParamNode, node *api.Node) error
- func (q *Query) Nodes(_ struct{}, nodes *api.Nodes) error
- func (q *Query) Service(p api.ParamService, service *api.Service) error
- func (q *Query) Services(_ struct{}, services *api.Services) error
- func (q *Query) SnapShot(_ struct{}, snap *string) error
- type RequestOptions
- type Resolver
- func (_ *Resolver) MutationService(args struct{ ... }) *[]*MutationService
- func (_ *Resolver) Node(args struct{ ... }) *NodeResolver
- func (_ *Resolver) Nodes() *[]*NodeResolver
- func (_ *Resolver) RegisteService(args struct{ ... }) (*bool, error)
- func (_ *Resolver) Riff() *RiffResolver
- func (_ *Resolver) Server() *NodeResolver
- func (_ *Resolver) Service(args struct{ ... }) *ServiceResolver
- func (_ *Resolver) Services() *[]*ServiceResolver
- func (_ *Resolver) UnregisteService(args struct{ ... }) *bool
- type Riff
- type RiffResolver
- type Server
- func (s *Server) AddNode(n *Node)
- func (s *Server) AddService(service *Service)
- func (s *Server) DeleteNode(key string)
- func (s *Server) ExchangeNode(n, d *Node)
- func (s *Server) GetNode(key string) *Node
- func (s *Server) GetService(findName string) interface{}
- func (s *Server) Keys() []string
- func (s *Server) MakeDiffNodes(digests []*Digest) (diff []*Node)
- func (s *Server) MakeDigest() (digests []*Digest)
- func (s *Server) MergeDiff(diffs []*Node) (reDiffs []*Node)
- func (s *Server) Range(f func(string, *Node) bool)
- func (s *Server) RemoveNodeDelay(n *Node)
- func (s *Server) ServicesSlice() []string
- func (s *Server) SetState(n *Node, state api.StateType) uint64
- func (s *Server) SetStateOnly(n *Node, state api.StateType) uint64
- func (s *Server) SetStateWithShutter(n *Node, state api.StateType) uint64
- func (s *Server) Shutdown() error
- func (s *Server) Shutter()
- func (s *Server) Slice() []*Node
- func (s *Server) String() string
- type Service
- func (s *Service) Address() string
- func (s *Service) GetPid() int
- func (s *Service) GetVersion() string
- func (s *Service) IsExist() bool
- func (s *Service) RemovePid() error
- func (s *Service) Restart() error
- func (s *Service) SetPid(pid int)
- func (s *Service) SetVersion(version string)
- func (s *Service) Start() error
- func (s *Service) Stop() error
- type ServiceConfig
- type ServiceResolver
- type Services
- type Watch
- type WatchHandler
- type WatchParam
- type WatchType
- type WsRequest
- type WsResponse
Constants ¶
const ( ContentTypeJSON = "application/json" ContentTypeGraphQL = "application/graphql" ContentTypeFormURLEncoded = "application/x-www-form-urlencoded" )
Variables ¶
This section is empty.
Functions ¶
func Asset ¶
Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.
func AssetDir ¶
AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:
data/ foo.txt img/ a.png b.png
then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.
func AssetInfo ¶
AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.
func MustAsset ¶
MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.
func RestoreAsset ¶
RestoreAsset restores an asset under the given directory
func RestoreAssets ¶
RestoreAssets restores an asset under the given directory recursively
Types ¶
type Config ¶
type Config struct { IP string `yaml:"ip"` //server ip Name string `yaml:"name"` //server random name DataCenter string `yaml:"data_center"` //server data center Join string `yaml:"join"` //join address AutoPilot bool `yaml:"auto_pilot"` //auto join node Addresses *Addresses `yaml:"addresses"` Ports *Ports `yaml:"ports"` Fanout int `yaml:"fan_out"` }
func DefaultConfig ¶
func DefaultConfig() *Config
func LoadConfig ¶
func LoadConfig() *Config
type LogHandler ¶
type LogHandler interface {
HandleLog(string)
}
LogHandler interface is used for clients that want to subscribe to logs, for example to stream them over an IPC mechanism
type LogWriter ¶
LogWriter implements io.Writer so it can be used as a log sink. It maintains a circular buffer of logs, and a set of handlers to which it can stream the logs to.
func NewLogWriter ¶
NewLogWriter creates a LogWriter with the given buffer capacity
func (*LogWriter) DeregisterHandler ¶
func (l *LogWriter) DeregisterHandler(lh LogHandler)
DeregisterHandler removes a LogHandler and prevents more invocations
func (*LogWriter) RegisterHandler ¶
func (l *LogWriter) RegisterHandler(lh LogHandler)
RegisterHandler adds a log handler to receive logs, and sends the last buffered logs to the handler
type Mutation ¶
type Mutation struct{}
func (*Mutation) RegisteService ¶ added in v0.0.8
type MutationService ¶ added in v0.0.5
type MutationService struct {
// contains filtered or unexported fields
}
func (*MutationService) Cmd ¶ added in v0.0.5
func (r *MutationService) Cmd() string
func (*MutationService) Error ¶ added in v0.0.5
func (r *MutationService) Error() string
func (*MutationService) Ip ¶ added in v0.0.5
func (r *MutationService) Ip() string
func (*MutationService) Name ¶ added in v0.0.5
func (r *MutationService) Name() string
func (*MutationService) Port ¶ added in v0.0.5
func (r *MutationService) Port() int32
func (*MutationService) Success ¶ added in v0.0.5
func (r *MutationService) Success() bool
type MutationServiceInput ¶ added in v0.0.5
type NestNodeResover ¶ added in v0.0.5
type NestNodeResover struct {
// contains filtered or unexported fields
}
func (*NestNodeResover) Config ¶ added in v0.0.5
func (r *NestNodeResover) Config() string
func (*NestNodeResover) DataCenter ¶ added in v0.0.5
func (r *NestNodeResover) DataCenter() string
func (*NestNodeResover) Ip ¶ added in v0.0.5
func (r *NestNodeResover) Ip() string
func (*NestNodeResover) IsSelf ¶ added in v0.0.5
func (r *NestNodeResover) IsSelf() bool
func (*NestNodeResover) Name ¶ added in v0.0.5
func (r *NestNodeResover) Name() string
func (*NestNodeResover) Port ¶ added in v0.0.5
func (r *NestNodeResover) Port() int32
func (*NestNodeResover) Progress ¶ added in v0.0.9
func (r *NestNodeResover) Progress() *NestProgressResover
func (*NestNodeResover) RpcPort ¶ added in v0.0.5
func (r *NestNodeResover) RpcPort() int32
func (*NestNodeResover) SnapShot ¶ added in v0.0.5
func (r *NestNodeResover) SnapShot() string
func (*NestNodeResover) StartTime ¶ added in v0.0.10
func (r *NestNodeResover) StartTime() int32
func (*NestNodeResover) State ¶ added in v0.0.5
func (r *NestNodeResover) State() string
func (*NestNodeResover) StatusContent ¶ added in v0.0.6
func (r *NestNodeResover) StatusContent() string
func (*NestNodeResover) Version ¶ added in v0.0.5
func (r *NestNodeResover) Version() int32
type NestProgressResover ¶ added in v0.0.9
type NestProgressResover struct {
// contains filtered or unexported fields
}
func (*NestProgressResover) Current ¶ added in v0.0.9
func (r *NestProgressResover) Current() int32
func (*NestProgressResover) InProgress ¶ added in v0.0.9
func (r *NestProgressResover) InProgress() bool
func (*NestProgressResover) Total ¶ added in v0.0.9
func (r *NestProgressResover) Total() int32
type NestServiceResover ¶ added in v0.0.5
type NestServiceResover struct {
// contains filtered or unexported fields
}
func (*NestServiceResover) Config ¶ added in v0.0.5
func (r *NestServiceResover) Config() string
func (*NestServiceResover) Ip ¶ added in v0.0.6
func (r *NestServiceResover) Ip() string
func (*NestServiceResover) Name ¶ added in v0.0.5
func (r *NestServiceResover) Name() string
func (*NestServiceResover) Port ¶ added in v0.0.5
func (r *NestServiceResover) Port() int32
func (*NestServiceResover) Progress ¶ added in v0.0.9
func (r *NestServiceResover) Progress() *NestProgressResover
func (*NestServiceResover) StartTime ¶ added in v0.0.10
func (r *NestServiceResover) StartTime() int32
func (*NestServiceResover) State ¶ added in v0.0.5
func (r *NestServiceResover) State() string
func (*NestServiceResover) StatusContent ¶ added in v0.0.6
func (r *NestServiceResover) StatusContent() string
type Node ¶
type Node struct { Name string DataCenter string IP string RpcPort int HttpPort int Version uint64 State api.StateType // Current state StateChange time.Time // Time last state change happened SnapShot string Services IsSelf bool // contains filtered or unexported fields }
func (*Node) LoadService ¶
func (*Node) LoadServices ¶
func (n *Node) LoadServices()
func (*Node) VersionGet ¶
func (*Node) VersionInc ¶
func (*Node) VersionSet ¶
Witness is called to update our local clock if necessary after witnessing a clock value received from another process
type NodeResolver ¶ added in v0.0.5
type NodeResolver struct {
// contains filtered or unexported fields
}
func (*NodeResolver) DataCenter ¶ added in v0.0.5
func (r *NodeResolver) DataCenter() string
func (*NodeResolver) HttpPort ¶ added in v0.0.6
func (r *NodeResolver) HttpPort() int32
func (*NodeResolver) Ip ¶ added in v0.0.5
func (r *NodeResolver) Ip() string
func (*NodeResolver) IsSelf ¶ added in v0.0.5
func (r *NodeResolver) IsSelf() bool
func (*NodeResolver) Name ¶ added in v0.0.5
func (r *NodeResolver) Name() string
func (*NodeResolver) RpcPort ¶ added in v0.0.6
func (r *NodeResolver) RpcPort() int32
func (*NodeResolver) Services ¶ added in v0.0.5
func (r *NodeResolver) Services() *[]*NestServiceResover
func (*NodeResolver) SnapShot ¶ added in v0.0.5
func (r *NodeResolver) SnapShot() string
func (*NodeResolver) State ¶ added in v0.0.5
func (r *NodeResolver) State() string
func (*NodeResolver) Version ¶ added in v0.0.5
func (r *NodeResolver) Version() int32
type RequestOptions ¶
type Resolver ¶ added in v0.0.5
type Resolver struct { }
func (*Resolver) MutationService ¶ added in v0.0.5
func (_ *Resolver) MutationService(args struct { Services *[]*MutationServiceInput }) *[]*MutationService
func (*Resolver) Node ¶ added in v0.0.5
func (_ *Resolver) Node(args struct{ Name string }) *NodeResolver
func (*Resolver) Nodes ¶ added in v0.0.5
func (_ *Resolver) Nodes() *[]*NodeResolver
func (*Resolver) RegisteService ¶ added in v0.0.6
func (*Resolver) Server ¶ added in v0.0.5
func (_ *Resolver) Server() *NodeResolver
func (*Resolver) Service ¶ added in v0.0.5
func (_ *Resolver) Service(args struct { Name string State *string }) *ServiceResolver
func (*Resolver) Services ¶ added in v0.0.5
func (_ *Resolver) Services() *[]*ServiceResolver
type RiffResolver ¶ added in v0.0.5
type RiffResolver struct { }
func (*RiffResolver) GitBranch ¶ added in v0.0.5
func (r *RiffResolver) GitBranch() string
func (*RiffResolver) GitSha ¶ added in v0.0.5
func (r *RiffResolver) GitSha() string
func (*RiffResolver) Version ¶ added in v0.0.5
func (r *RiffResolver) Version() string
type Server ¶
type Server struct { Listener net.Listener Logger *log.Logger Self *Node ShutdownCh chan struct{} SnapShot string Nodes // contains filtered or unexported fields }
func (*Server) AddService ¶ added in v0.0.6
func (*Server) DeleteNode ¶
func (*Server) ExchangeNode ¶
func (*Server) GetService ¶
func (*Server) MakeDiffNodes ¶
func (*Server) MakeDigest ¶
func (*Server) RemoveNodeDelay ¶
func (*Server) ServicesSlice ¶
func (*Server) SetStateOnly ¶
set node state version inc and shutter node return version
func (*Server) SetStateWithShutter ¶
SetState and make a snapsort return version ++
type Service ¶
type Service struct { Version uint64 State api.StateType //Current state StateChange time.Time //Time last state change happened Progress *Progress //update percent Config string //config file StartTime time.Time //start time StatusContent string //status content *ServiceConfig }
func (*Service) GetVersion ¶
func (*Service) SetVersion ¶
type ServiceConfig ¶
type ServiceConfig struct { Name string `yaml:"name,omitempty"` Ip string `yaml:"ip,omitempty"` Port int `yaml:"port,omitempty"` Env []string `yaml:"env,omitempty"` Command []string `yaml:"command,omitempty"` StatusPage string `yaml:"status_page,omitempty"` PidFile string `yaml:"pid_file,omitempty"` StdOutFile string `yaml:"std_out_file,omitempty"` StdErrFile string `yaml:"std_err_file,omitempty"` Grace bool `yaml:"grace,omitempty"` RunAtLoad bool `yaml:"run_at_load,omitempty"` KeepAlive bool `yaml:"keep_alive,omitempty"` *Deploy `yaml:"deploy,omitempty"` }
type ServiceResolver ¶ added in v0.0.5
type ServiceResolver struct {
// contains filtered or unexported fields
}
func (*ServiceResolver) Name ¶ added in v0.0.5
func (r *ServiceResolver) Name() string
func (*ServiceResolver) Nodes ¶ added in v0.0.5
func (r *ServiceResolver) Nodes() *[]*NestNodeResover
type Watch ¶
func (*Watch) DeregisterHandler ¶
func (w *Watch) DeregisterHandler(wh WatchHandler)
func (*Watch) Dispatch ¶
func (w *Watch) Dispatch(param WatchParam)
func (*Watch) RegisterHandler ¶
func (w *Watch) RegisterHandler(wh WatchHandler)
type WatchHandler ¶
type WatchHandler interface { GetParam() *WatchParam HandleWatch() }
type WatchParam ¶
type WsResponse ¶ added in v0.0.2
type WsResponse struct { Event string `json:"event"` Body interface{} `json:"body"` }