Documentation ¶
Index ¶
- func SignMessage(key *ecdsa.PrivateKey, msg SignedMessage) error
- type HealthChecker
- type NodeState
- type Option
- func WithAuthorizedKeys(keys [][]byte) Option
- func WithContainerSource(cnrSrc container.Source) Option
- func WithHealthChecker(hc HealthChecker) Option
- func WithKey(key *ecdsa.PrivateKey) Option
- func WithLocalStorage(engine *engine.StorageEngine) Option
- func WithNetMapSource(netMapSrc netmap.Source) Option
- func WithNodeState(state NodeState) Option
- func WithReplicator(r *replicator.Replicator) Option
- func WithTreeService(s TreeService) Option
- type Server
- func (s *Server) DropObjects(_ context.Context, req *control.DropObjectsRequest) (*control.DropObjectsResponse, error)
- func (s *Server) DumpShard(_ context.Context, req *control.DumpShardRequest) (*control.DumpShardResponse, error)
- func (s *Server) EvacuateShard(_ context.Context, req *control.EvacuateShardRequest) (*control.EvacuateShardResponse, error)
- func (s *Server) FlushCache(_ context.Context, req *control.FlushCacheRequest) (*control.FlushCacheResponse, error)
- func (s *Server) HealthCheck(_ context.Context, req *control.HealthCheckRequest) (*control.HealthCheckResponse, error)
- func (s *Server) ListShards(_ context.Context, req *control.ListShardsRequest) (*control.ListShardsResponse, error)
- func (s *Server) RestoreShard(_ context.Context, req *control.RestoreShardRequest) (*control.RestoreShardResponse, error)
- func (s *Server) SetNetmapStatus(ctx context.Context, req *control.SetNetmapStatusRequest) (*control.SetNetmapStatusResponse, error)
- func (s *Server) SetShardMode(_ context.Context, req *control.SetShardModeRequest) (*control.SetShardModeResponse, error)
- func (s *Server) SynchronizeTree(ctx context.Context, req *control.SynchronizeTreeRequest) (*control.SynchronizeTreeResponse, error)
- type SignedMessage
- type TreeService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SignMessage ¶
func SignMessage(key *ecdsa.PrivateKey, msg SignedMessage) error
SignMessage signs Control service message with private key.
Types ¶
type HealthChecker ¶
type HealthChecker interface { // Must calculate and return current status of the node in FrostFS network map. // // If status can not be calculated for any reason, // control.netmapStatus_STATUS_UNDEFINED should be returned. NetmapStatus() control.NetmapStatus // Must calculate and return current health status of the node application. // // If status can not be calculated for any reason, // control.HealthStatus_HEALTH_STATUS_UNDEFINED should be returned. HealthStatus() control.HealthStatus }
HealthChecker is component interface for calculating the current health status of a node.
type NodeState ¶
type NodeState interface { // SetNetmapStatus switches the storage node to the given network status. // // If status is control.NetmapStatus_MAINTENANCE and maintenance is allowed // in the network settings, the node additionally starts local maintenance. SetNetmapStatus(st control.NetmapStatus) error // ForceMaintenance works like SetNetmapStatus(control.NetmapStatus_MAINTENANCE) // but starts local maintenance regardless of the network settings. ForceMaintenance() error }
NodeState is an interface of storage node network state.
type Option ¶
type Option func(*cfg)
Option of the Server's constructor.
func WithAuthorizedKeys ¶
WithAuthorizedKeys returns option to add list of public keys that have rights to use Control service.
func WithContainerSource ¶
WithContainerSource returns option to set container storage.
func WithHealthChecker ¶
func WithHealthChecker(hc HealthChecker) Option
WithHealthChecker returns option to set component to calculate node health status.
func WithKey ¶
func WithKey(key *ecdsa.PrivateKey) Option
WithKey returns option to set private key used for signing responses.
func WithLocalStorage ¶
func WithLocalStorage(engine *engine.StorageEngine) Option
WithLocalStorage returns option to set local storage engine that contains information about shards.
func WithNetMapSource ¶
WithNetMapSource returns option to set network map storage.
func WithNodeState ¶
WithNodeState returns option to set node network state component.
func WithReplicator ¶
func WithReplicator(r *replicator.Replicator) Option
WithReplicator returns option to set network map storage.
func WithTreeService ¶
func WithTreeService(s TreeService) Option
WithTreeService returns an option to set tree service.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is an entity that serves Control service on storage node.
func (*Server) DropObjects ¶
func (s *Server) DropObjects(_ context.Context, req *control.DropObjectsRequest) (*control.DropObjectsResponse, error)
DropObjects marks objects to be removed from the local node.
Objects are marked via garbage collector's callback.
If some address is not a valid object address in a binary format, an error returns. If request is unsigned or signed by disallowed key, permission error returns.
func (*Server) DumpShard ¶
func (s *Server) DumpShard(_ context.Context, req *control.DumpShardRequest) (*control.DumpShardResponse, error)
func (*Server) EvacuateShard ¶
func (s *Server) EvacuateShard(_ context.Context, req *control.EvacuateShardRequest) (*control.EvacuateShardResponse, error)
func (*Server) FlushCache ¶
func (s *Server) FlushCache(_ context.Context, req *control.FlushCacheRequest) (*control.FlushCacheResponse, error)
func (*Server) HealthCheck ¶
func (s *Server) HealthCheck(_ context.Context, req *control.HealthCheckRequest) (*control.HealthCheckResponse, error)
HealthCheck returns health status of the local node.
If request is unsigned or signed by disallowed key, permission error returns.
func (*Server) ListShards ¶
func (s *Server) ListShards(_ context.Context, req *control.ListShardsRequest) (*control.ListShardsResponse, error)
func (*Server) RestoreShard ¶
func (s *Server) RestoreShard(_ context.Context, req *control.RestoreShardRequest) (*control.RestoreShardResponse, error)
func (*Server) SetNetmapStatus ¶
func (s *Server) SetNetmapStatus(ctx context.Context, req *control.SetNetmapStatusRequest) (*control.SetNetmapStatusResponse, error)
SetNetmapStatus sets node status in FrostFS network.
If request is unsigned or signed by disallowed key, permission error returns.
func (*Server) SetShardMode ¶
func (s *Server) SetShardMode(_ context.Context, req *control.SetShardModeRequest) (*control.SetShardModeResponse, error)
func (*Server) SynchronizeTree ¶
func (s *Server) SynchronizeTree(ctx context.Context, req *control.SynchronizeTreeRequest) (*control.SynchronizeTreeResponse, error)