Documentation ¶
Index ¶
- Variables
- func DefaultRegistry(ctx context.Context) (*status.Registry, error)
- func RunBabysitter(ctx context.Context) error
- func RunManager(ctx context.Context, config *SshConfig, locations map[string]string) (func() error, error)
- type BabysitterInfo
- func (*BabysitterInfo) Descriptor() ([]byte, []int)deprecated
- func (x *BabysitterInfo) GetApp() *protos.AppConfig
- func (x *BabysitterInfo) GetDepId() string
- func (x *BabysitterInfo) GetGroup() string
- func (x *BabysitterInfo) GetLogDir() string
- func (x *BabysitterInfo) GetManagerAddr() string
- func (x *BabysitterInfo) GetReplicaId() int32
- func (x *BabysitterInfo) GetRunMain() bool
- func (*BabysitterInfo) ProtoMessage()
- func (x *BabysitterInfo) ProtoReflect() protoreflect.Message
- func (x *BabysitterInfo) Reset()
- func (x *BabysitterInfo) String() string
- type BabysitterMetrics
- func (*BabysitterMetrics) Descriptor() ([]byte, []int)deprecated
- func (x *BabysitterMetrics) GetGroupName() string
- func (x *BabysitterMetrics) GetMetrics() []*protos.MetricSnapshot
- func (x *BabysitterMetrics) GetReplicaId() int32
- func (*BabysitterMetrics) ProtoMessage()
- func (x *BabysitterMetrics) ProtoReflect() protoreflect.Message
- func (x *BabysitterMetrics) Reset()
- func (x *BabysitterMetrics) String() string
- type GetComponentsReply
- func (*GetComponentsReply) Descriptor() ([]byte, []int)deprecated
- func (x *GetComponentsReply) GetComponents() []string
- func (x *GetComponentsReply) GetVersion() string
- func (*GetComponentsReply) ProtoMessage()
- func (x *GetComponentsReply) ProtoReflect() protoreflect.Message
- func (x *GetComponentsReply) Reset()
- func (x *GetComponentsReply) String() string
- type GetComponentsRequest
- func (*GetComponentsRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GetComponentsRequest) GetGroup() string
- func (x *GetComponentsRequest) GetVersion() string
- func (*GetComponentsRequest) ProtoMessage()
- func (x *GetComponentsRequest) ProtoReflect() protoreflect.Message
- func (x *GetComponentsRequest) Reset()
- func (x *GetComponentsRequest) String() string
- type GetRoutingInfoReply
- func (*GetRoutingInfoReply) Descriptor() ([]byte, []int)deprecated
- func (x *GetRoutingInfoReply) GetRoutingInfo() *protos.RoutingInfo
- func (x *GetRoutingInfoReply) GetVersion() string
- func (*GetRoutingInfoReply) ProtoMessage()
- func (x *GetRoutingInfoReply) ProtoReflect() protoreflect.Message
- func (x *GetRoutingInfoReply) Reset()
- func (x *GetRoutingInfoReply) String() string
- type GetRoutingInfoRequest
- func (*GetRoutingInfoRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GetRoutingInfoRequest) GetComponent() string
- func (x *GetRoutingInfoRequest) GetRequestingGroup() string
- func (x *GetRoutingInfoRequest) GetRouted() bool
- func (x *GetRoutingInfoRequest) GetVersion() string
- func (*GetRoutingInfoRequest) ProtoMessage()
- func (x *GetRoutingInfoRequest) ProtoReflect() protoreflect.Message
- func (x *GetRoutingInfoRequest) Reset()
- func (x *GetRoutingInfoRequest) String() string
- type ReplicaToRegister
- func (*ReplicaToRegister) Descriptor() ([]byte, []int)deprecated
- func (x *ReplicaToRegister) GetAddress() string
- func (x *ReplicaToRegister) GetGroup() string
- func (x *ReplicaToRegister) GetPid() int64
- func (x *ReplicaToRegister) GetWeaveletId() string
- func (*ReplicaToRegister) ProtoMessage()
- func (x *ReplicaToRegister) ProtoReflect() protoreflect.Message
- func (x *ReplicaToRegister) Reset()
- func (x *ReplicaToRegister) String() string
- type SshConfig
- func (*SshConfig) Descriptor() ([]byte, []int)deprecated
- func (x *SshConfig) GetAntipodeAgents() map[string]*SshConfig_AntipodeAgentOptions
- func (x *SshConfig) GetApp() *protos.AppConfig
- func (x *SshConfig) GetDepId() string
- func (x *SshConfig) GetListeners() map[string]*SshConfig_ListenerOptions
- func (x *SshConfig) GetLocations() string
- func (*SshConfig) ProtoMessage()
- func (x *SshConfig) ProtoReflect() protoreflect.Message
- func (x *SshConfig) Reset()
- func (x *SshConfig) String() string
- type SshConfig_AntipodeAgentOptions
- func (*SshConfig_AntipodeAgentOptions) Descriptor() ([]byte, []int)deprecated
- func (x *SshConfig_AntipodeAgentOptions) GetDatastore() string
- func (x *SshConfig_AntipodeAgentOptions) GetDatastoreType() string
- func (x *SshConfig_AntipodeAgentOptions) GetHost() string
- func (x *SshConfig_AntipodeAgentOptions) GetPassword() string
- func (x *SshConfig_AntipodeAgentOptions) GetPort() string
- func (x *SshConfig_AntipodeAgentOptions) GetUser() string
- func (*SshConfig_AntipodeAgentOptions) ProtoMessage()
- func (x *SshConfig_AntipodeAgentOptions) ProtoReflect() protoreflect.Message
- func (x *SshConfig_AntipodeAgentOptions) Reset()
- func (x *SshConfig_AntipodeAgentOptions) String() string
- type SshConfig_ListenerOptions
- func (*SshConfig_ListenerOptions) Descriptor() ([]byte, []int)deprecated
- func (x *SshConfig_ListenerOptions) GetAddress() string
- func (*SshConfig_ListenerOptions) ProtoMessage()
- func (x *SshConfig_ListenerOptions) ProtoReflect() protoreflect.Message
- func (x *SshConfig_ListenerOptions) Reset()
- func (x *SshConfig_ListenerOptions) String() string
Constants ¶
This section is empty.
Variables ¶
var ( // The directories and files where "xcweaver ssh" stores data. // // TODO(mwhittaker): Take these as arguments and move them to ssh.go. LogDir = filepath.Join(runtime.LogsDir(), "ssh") PerfettoFile = filepath.Join(dataDir, "traces.DB") )
var File_internal_tool_ssh_impl_ssh_proto protoreflect.FileDescriptor
Functions ¶
func DefaultRegistry ¶
DefaultRegistry returns the default registry in $XDG_DATA_HOME/serviceweaver/ssh/registry, or ~/.local/share/serviceweaver/ssh/registry if XDG_DATA_HOME is not set.
func RunBabysitter ¶
RunBabysitter creates and runs an envelope.Envelope and a metrics collector for a weavelet deployed with SSH.
Types ¶
type BabysitterInfo ¶
type BabysitterInfo struct { App *protos.AppConfig `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"` DepId string `protobuf:"bytes,2,opt,name=dep_id,json=depId,proto3" json:"dep_id,omitempty"` Group string `protobuf:"bytes,3,opt,name=group,proto3" json:"group,omitempty"` ReplicaId int32 `protobuf:"varint,4,opt,name=replica_id,json=replicaId,proto3" json:"replica_id,omitempty"` ManagerAddr string `protobuf:"bytes,5,opt,name=manager_addr,json=managerAddr,proto3" json:"manager_addr,omitempty"` LogDir string `protobuf:"bytes,6,opt,name=logDir,proto3" json:"logDir,omitempty"` RunMain bool `protobuf:"varint,7,opt,name=run_main,json=runMain,proto3" json:"run_main,omitempty"` // contains filtered or unexported fields }
BabysitterInfo contains app deployment information that is needed by a babysitter started using SSH to manage a colocation group.
func (*BabysitterInfo) Descriptor
deprecated
func (*BabysitterInfo) Descriptor() ([]byte, []int)
Deprecated: Use BabysitterInfo.ProtoReflect.Descriptor instead.
func (*BabysitterInfo) GetApp ¶
func (x *BabysitterInfo) GetApp() *protos.AppConfig
func (*BabysitterInfo) GetDepId ¶
func (x *BabysitterInfo) GetDepId() string
func (*BabysitterInfo) GetGroup ¶
func (x *BabysitterInfo) GetGroup() string
func (*BabysitterInfo) GetLogDir ¶
func (x *BabysitterInfo) GetLogDir() string
func (*BabysitterInfo) GetManagerAddr ¶
func (x *BabysitterInfo) GetManagerAddr() string
func (*BabysitterInfo) GetReplicaId ¶
func (x *BabysitterInfo) GetReplicaId() int32
func (*BabysitterInfo) GetRunMain ¶
func (x *BabysitterInfo) GetRunMain() bool
func (*BabysitterInfo) ProtoMessage ¶
func (*BabysitterInfo) ProtoMessage()
func (*BabysitterInfo) ProtoReflect ¶
func (x *BabysitterInfo) ProtoReflect() protoreflect.Message
func (*BabysitterInfo) Reset ¶
func (x *BabysitterInfo) Reset()
func (*BabysitterInfo) String ¶
func (x *BabysitterInfo) String() string
type BabysitterMetrics ¶
type BabysitterMetrics struct { GroupName string `protobuf:"bytes,1,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"` ReplicaId int32 `protobuf:"varint,2,opt,name=replica_id,json=replicaId,proto3" json:"replica_id,omitempty"` Metrics []*protos.MetricSnapshot `protobuf:"bytes,3,rep,name=metrics,proto3" json:"metrics,omitempty"` // contains filtered or unexported fields }
BabysitterMetrics is a snapshot of a deployment's metrics as collected by a babysitter for a given colocation group.
func (*BabysitterMetrics) Descriptor
deprecated
func (*BabysitterMetrics) Descriptor() ([]byte, []int)
Deprecated: Use BabysitterMetrics.ProtoReflect.Descriptor instead.
func (*BabysitterMetrics) GetGroupName ¶
func (x *BabysitterMetrics) GetGroupName() string
func (*BabysitterMetrics) GetMetrics ¶
func (x *BabysitterMetrics) GetMetrics() []*protos.MetricSnapshot
func (*BabysitterMetrics) GetReplicaId ¶
func (x *BabysitterMetrics) GetReplicaId() int32
func (*BabysitterMetrics) ProtoMessage ¶
func (*BabysitterMetrics) ProtoMessage()
func (*BabysitterMetrics) ProtoReflect ¶
func (x *BabysitterMetrics) ProtoReflect() protoreflect.Message
func (*BabysitterMetrics) Reset ¶
func (x *BabysitterMetrics) Reset()
func (*BabysitterMetrics) String ¶
func (x *BabysitterMetrics) String() string
type GetComponentsReply ¶
type GetComponentsReply struct { Components []string `protobuf:"bytes,1,rep,name=components,proto3" json:"components,omitempty"` Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // contains filtered or unexported fields }
func (*GetComponentsReply) Descriptor
deprecated
func (*GetComponentsReply) Descriptor() ([]byte, []int)
Deprecated: Use GetComponentsReply.ProtoReflect.Descriptor instead.
func (*GetComponentsReply) GetComponents ¶
func (x *GetComponentsReply) GetComponents() []string
func (*GetComponentsReply) GetVersion ¶
func (x *GetComponentsReply) GetVersion() string
func (*GetComponentsReply) ProtoMessage ¶
func (*GetComponentsReply) ProtoMessage()
func (*GetComponentsReply) ProtoReflect ¶
func (x *GetComponentsReply) ProtoReflect() protoreflect.Message
func (*GetComponentsReply) Reset ¶
func (x *GetComponentsReply) Reset()
func (*GetComponentsReply) String ¶
func (x *GetComponentsReply) String() string
type GetComponentsRequest ¶
type GetComponentsRequest struct { Group string `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"` Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // contains filtered or unexported fields }
A request from the babysitter to the manager to get the latest set of components to run.
func (*GetComponentsRequest) Descriptor
deprecated
func (*GetComponentsRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetComponentsRequest.ProtoReflect.Descriptor instead.
func (*GetComponentsRequest) GetGroup ¶
func (x *GetComponentsRequest) GetGroup() string
func (*GetComponentsRequest) GetVersion ¶
func (x *GetComponentsRequest) GetVersion() string
func (*GetComponentsRequest) ProtoMessage ¶
func (*GetComponentsRequest) ProtoMessage()
func (*GetComponentsRequest) ProtoReflect ¶
func (x *GetComponentsRequest) ProtoReflect() protoreflect.Message
func (*GetComponentsRequest) Reset ¶
func (x *GetComponentsRequest) Reset()
func (*GetComponentsRequest) String ¶
func (x *GetComponentsRequest) String() string
type GetRoutingInfoReply ¶
type GetRoutingInfoReply struct { RoutingInfo *protos.RoutingInfo `protobuf:"bytes,1,opt,name=routing_info,json=routingInfo,proto3" json:"routing_info,omitempty"` Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // contains filtered or unexported fields }
func (*GetRoutingInfoReply) Descriptor
deprecated
func (*GetRoutingInfoReply) Descriptor() ([]byte, []int)
Deprecated: Use GetRoutingInfoReply.ProtoReflect.Descriptor instead.
func (*GetRoutingInfoReply) GetRoutingInfo ¶
func (x *GetRoutingInfoReply) GetRoutingInfo() *protos.RoutingInfo
func (*GetRoutingInfoReply) GetVersion ¶
func (x *GetRoutingInfoReply) GetVersion() string
func (*GetRoutingInfoReply) ProtoMessage ¶
func (*GetRoutingInfoReply) ProtoMessage()
func (*GetRoutingInfoReply) ProtoReflect ¶
func (x *GetRoutingInfoReply) ProtoReflect() protoreflect.Message
func (*GetRoutingInfoReply) Reset ¶
func (x *GetRoutingInfoReply) Reset()
func (*GetRoutingInfoReply) String ¶
func (x *GetRoutingInfoReply) String() string
type GetRoutingInfoRequest ¶
type GetRoutingInfoRequest struct { // Note that requesting group is the group requesting the routing info, not // the group of the component. RequestingGroup string `protobuf:"bytes,1,opt,name=requesting_group,json=requestingGroup,proto3" json:"requesting_group,omitempty"` Component string `protobuf:"bytes,2,opt,name=component,proto3" json:"component,omitempty"` Routed bool `protobuf:"varint,3,opt,name=routed,proto3" json:"routed,omitempty"` // is the component routed? Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` // contains filtered or unexported fields }
A request from the babysitter to the manager to get the latest routing info for a component.
func (*GetRoutingInfoRequest) Descriptor
deprecated
func (*GetRoutingInfoRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetRoutingInfoRequest.ProtoReflect.Descriptor instead.
func (*GetRoutingInfoRequest) GetComponent ¶
func (x *GetRoutingInfoRequest) GetComponent() string
func (*GetRoutingInfoRequest) GetRequestingGroup ¶
func (x *GetRoutingInfoRequest) GetRequestingGroup() string
func (*GetRoutingInfoRequest) GetRouted ¶
func (x *GetRoutingInfoRequest) GetRouted() bool
func (*GetRoutingInfoRequest) GetVersion ¶
func (x *GetRoutingInfoRequest) GetVersion() string
func (*GetRoutingInfoRequest) ProtoMessage ¶
func (*GetRoutingInfoRequest) ProtoMessage()
func (*GetRoutingInfoRequest) ProtoReflect ¶
func (x *GetRoutingInfoRequest) ProtoReflect() protoreflect.Message
func (*GetRoutingInfoRequest) Reset ¶
func (x *GetRoutingInfoRequest) Reset()
func (*GetRoutingInfoRequest) String ¶
func (x *GetRoutingInfoRequest) String() string
type ReplicaToRegister ¶
type ReplicaToRegister struct { Group string `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"` Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // Replica internal address. Pid int64 `protobuf:"varint,3,opt,name=pid,proto3" json:"pid,omitempty"` // Replica pid. WeaveletId string `protobuf:"bytes,4,opt,name=weaveletId,proto3" json:"weaveletId,omitempty"` // Replica weavelet id // contains filtered or unexported fields }
ReplicaToRegister is a request to the manager to register a replica of a given colocation group (i.e., a weavelet).
func (*ReplicaToRegister) Descriptor
deprecated
func (*ReplicaToRegister) Descriptor() ([]byte, []int)
Deprecated: Use ReplicaToRegister.ProtoReflect.Descriptor instead.
func (*ReplicaToRegister) GetAddress ¶
func (x *ReplicaToRegister) GetAddress() string
func (*ReplicaToRegister) GetGroup ¶
func (x *ReplicaToRegister) GetGroup() string
func (*ReplicaToRegister) GetPid ¶
func (x *ReplicaToRegister) GetPid() int64
func (*ReplicaToRegister) GetWeaveletId ¶
func (x *ReplicaToRegister) GetWeaveletId() string
func (*ReplicaToRegister) ProtoMessage ¶
func (*ReplicaToRegister) ProtoMessage()
func (*ReplicaToRegister) ProtoReflect ¶
func (x *ReplicaToRegister) ProtoReflect() protoreflect.Message
func (*ReplicaToRegister) Reset ¶
func (x *ReplicaToRegister) Reset()
func (*ReplicaToRegister) String ¶
func (x *ReplicaToRegister) String() string
type SshConfig ¶
type SshConfig struct { // Information about the application deployment. App *protos.AppConfig `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"` DepId string `protobuf:"bytes,2,opt,name=dep_id,json=depId,proto3" json:"dep_id,omitempty"` Listeners map[string]*SshConfig_ListenerOptions `` /* 159-byte string literal not displayed */ // File that contains the IP addresses of all locations where the application // can run. Locations string `protobuf:"bytes,4,opt,name=locations,proto3" json:"locations,omitempty"` AntipodeAgents map[string]*SshConfig_AntipodeAgentOptions `` /* 169-byte string literal not displayed */ // contains filtered or unexported fields }
SshConfig stores the configuration information for one execution of a Service Weaver application using the SSH deployer.
func (*SshConfig) Descriptor
deprecated
func (*SshConfig) GetAntipodeAgents ¶ added in v0.0.6
func (x *SshConfig) GetAntipodeAgents() map[string]*SshConfig_AntipodeAgentOptions
func (*SshConfig) GetListeners ¶
func (x *SshConfig) GetListeners() map[string]*SshConfig_ListenerOptions
func (*SshConfig) GetLocations ¶
func (*SshConfig) ProtoMessage ¶
func (*SshConfig) ProtoMessage()
func (*SshConfig) ProtoReflect ¶
func (x *SshConfig) ProtoReflect() protoreflect.Message
type SshConfig_AntipodeAgentOptions ¶ added in v0.0.6
type SshConfig_AntipodeAgentOptions struct { // the type of the datastore e.g. "redis" DatastoreType string `protobuf:"bytes,1,opt,name=datastoreType,proto3" json:"datastoreType,omitempty"` // the datastore host Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` // the datastore port Port string `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"` // the datastore user User string `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"` // the datastore password Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"` // the datastore name Datastore string `protobuf:"bytes,6,opt,name=datastore,proto3" json:"datastore,omitempty"` // contains filtered or unexported fields }
Options for the application antipode agents, keyed by antipode agent name. If an antipode agent isn't specified in the map, default options will be used.
func (*SshConfig_AntipodeAgentOptions) Descriptor
deprecated
added in
v0.0.6
func (*SshConfig_AntipodeAgentOptions) Descriptor() ([]byte, []int)
Deprecated: Use SshConfig_AntipodeAgentOptions.ProtoReflect.Descriptor instead.
func (*SshConfig_AntipodeAgentOptions) GetDatastore ¶ added in v0.0.6
func (x *SshConfig_AntipodeAgentOptions) GetDatastore() string
func (*SshConfig_AntipodeAgentOptions) GetDatastoreType ¶ added in v0.0.6
func (x *SshConfig_AntipodeAgentOptions) GetDatastoreType() string
func (*SshConfig_AntipodeAgentOptions) GetHost ¶ added in v0.0.6
func (x *SshConfig_AntipodeAgentOptions) GetHost() string
func (*SshConfig_AntipodeAgentOptions) GetPassword ¶ added in v0.0.6
func (x *SshConfig_AntipodeAgentOptions) GetPassword() string
func (*SshConfig_AntipodeAgentOptions) GetPort ¶ added in v0.0.6
func (x *SshConfig_AntipodeAgentOptions) GetPort() string
func (*SshConfig_AntipodeAgentOptions) GetUser ¶ added in v0.0.6
func (x *SshConfig_AntipodeAgentOptions) GetUser() string
func (*SshConfig_AntipodeAgentOptions) ProtoMessage ¶ added in v0.0.6
func (*SshConfig_AntipodeAgentOptions) ProtoMessage()
func (*SshConfig_AntipodeAgentOptions) ProtoReflect ¶ added in v0.0.6
func (x *SshConfig_AntipodeAgentOptions) ProtoReflect() protoreflect.Message
func (*SshConfig_AntipodeAgentOptions) Reset ¶ added in v0.0.6
func (x *SshConfig_AntipodeAgentOptions) Reset()
func (*SshConfig_AntipodeAgentOptions) String ¶ added in v0.0.6
func (x *SshConfig_AntipodeAgentOptions) String() string
type SshConfig_ListenerOptions ¶
type SshConfig_ListenerOptions struct { // Address of the listener. The value must have the form :port or // host:port, or it may be the empty string, which is treated as ":0". Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // contains filtered or unexported fields }
Options for the application listeners, keyed by listener name. If a listener isn't specified in the map, default options will be used.
func (*SshConfig_ListenerOptions) Descriptor
deprecated
func (*SshConfig_ListenerOptions) Descriptor() ([]byte, []int)
Deprecated: Use SshConfig_ListenerOptions.ProtoReflect.Descriptor instead.
func (*SshConfig_ListenerOptions) GetAddress ¶
func (x *SshConfig_ListenerOptions) GetAddress() string
func (*SshConfig_ListenerOptions) ProtoMessage ¶
func (*SshConfig_ListenerOptions) ProtoMessage()
func (*SshConfig_ListenerOptions) ProtoReflect ¶
func (x *SshConfig_ListenerOptions) ProtoReflect() protoreflect.Message
func (*SshConfig_ListenerOptions) Reset ¶
func (x *SshConfig_ListenerOptions) Reset()
func (*SshConfig_ListenerOptions) String ¶
func (x *SshConfig_ListenerOptions) String() string