control

package
v0.38.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2024 License: GPL-3.0 Imports: 35 Imported by: 0

Documentation

Index

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 LocalOverrideStorageDecorator added in v0.38.0

type LocalOverrideStorageDecorator interface {
	// LocalStorage method can be decorated by using sync primitives in the case if the local
	// override storage state should be consistent for chain router.
	LocalStorage() policyengine.LocalOverrideStorage
}

LocalOverrideStorageDecorator interface provides methods to decorate LocalOverrideEngine interface methods.

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

func WithAuthorizedKeys(keys [][]byte) Option

WithAuthorizedKeys returns option to add list of public keys that have rights to use Control service.

func WithContainerSource

func WithContainerSource(cnrSrc container.Source) Option

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 WithLocalOverrideStorage added in v0.38.0

func WithLocalOverrideStorage(localOverrideStorage LocalOverrideStorageDecorator) Option

WithLocalOverrideStorage returns the option to set access policy engine chain override storage.

func WithLocalStorage

func WithLocalStorage(engine *engine.StorageEngine) Option

WithLocalStorage returns option to set local storage engine that contains information about shards.

func WithNetMapSource

func WithNetMapSource(netMapSrc netmap.Source) Option

WithNetMapSource returns option to set network map storage.

func WithNodeState

func WithNodeState(state NodeState) Option

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 New

func New(opts ...Option) *Server

New creates, initializes and returns new Server instance.

func (*Server) AddChainLocalOverride added in v0.38.0

func (*Server) DetachShards added in v0.38.0

func (*Server) Doctor

func (*Server) DropObjects

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) EvacuateShard

func (*Server) FlushCache

func (*Server) GetChainLocalOverride added in v0.38.0

func (*Server) GetShardEvacuationStatus added in v0.37.0

func (*Server) HealthCheck

HealthCheck returns health status of the local node.

If request is unsigned or signed by disallowed key, permission error returns.

func (*Server) ListChainLocalOverrides added in v0.38.0

func (*Server) ListShards

func (*Server) ListTargetsLocalOverrides added in v0.38.0

func (*Server) RemoveChainLocalOverride added in v0.38.0

func (*Server) ResetShardEvacuationStatus added in v0.38.0

func (*Server) SealWriteCache added in v0.38.0

func (*Server) SetNetmapStatus

SetNetmapStatus sets node status in FrostFS network.

If request is unsigned or signed by disallowed key, permission error returns.

func (*Server) SetShardMode

func (*Server) StartShardEvacuation added in v0.37.0

func (*Server) StopShardEvacuation added in v0.37.0

type SignedMessage

type SignedMessage interface {
	ReadSignedData([]byte) ([]byte, error)
	GetSignature() *control.Signature
	SetSignature(*control.Signature)
}

SignedMessage is an interface of Control service message.

type TreeService

type TreeService interface {
	SynchronizeTree(ctx context.Context, cnr cid.ID, treeID string) error
	ReplicateTreeOp(ctx context.Context, n netmapSDK.NodeInfo, req *tree.ApplyRequest) error
}

TreeService represents a tree service instance.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL