handlerservice

package
v0.0.15 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2024 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNodeAlreadyRegistered = errors.New("there is the other node registered with the inputted key")
)

Functions

This section is empty.

Types

type ControlPlane

type ControlPlane struct {
	// contains filtered or unexported fields
}

func (*ControlPlane) CheckInWorkerNode

func (s *ControlPlane) CheckInWorkerNode(ctx context.Context, ip string, port int32, rawPEMCertificateData []byte) error

func (*ControlPlane) GetAllWorkerNodeFromRegistry

func (s *ControlPlane) GetAllWorkerNodeFromRegistry(ctx context.Context) ([]models.NodeEntry, error)

func (*ControlPlane) RegisterWorker

func (s *ControlPlane) RegisterWorker(ctx context.Context, ip string, port int32, nodePublicKey cert.KeyData) (certificate cert.TLSCertificate, err error)

type IControlPlane

type IControlPlane interface {
	RegisterWorker(ctx context.Context, ip string, port int32, nodePublicKey cert.KeyData) (certificate cert.TLSCertificate, err error)
	GetAllWorkerNodeFromRegistry(ctx context.Context) ([]models.NodeEntry, error)
	CheckInWorkerNode(ctx context.Context, ip string, port int32, cert []byte) error
}

func ProvideControlPlane

func ProvideControlPlane(
	nodeRegistryRepository repository.INodeRegistry,
	caCertificate cert.CACertificate,
	config config.ControlPlaneConfigModel,
	workerNodePool pool.WorkerNode,
) IControlPlane

type IWorker

type IWorker interface {
	// ControlPlane related method
	CheckInWorkerNodeToControlPlane(ctx context.Context) error

	// Task related method
	StoreTaskInQueue(containerImage string, taskId string, input []byte) error
	GetTask(containerImage string, containerId string) (*proto.Task, error)
	SubmitSuccessTask(ctx context.Context, id string, results []byte) error
	ReportFailTask(ctx context.Context, id string, errorMessage string) error
	CalculateAverageContainerResourceUsage(usage []models.ContainerResourceUsage) error
	GetRunningTask() []string
	GetAvailableTaskSlot() int
	GetQueuedTask() []string

	// TaskDistributionDaemonLoop is a method allowing the daemon to call to accomplish its routine.
	TaskDistributionDaemonLoop(ctx context.Context)
}

func ProvideWorker

func ProvideWorker(
	controlPlaneGRPCClient proto.ControlPlaneClient,
	dockerClient *client.Client,
	workerNodeCertificate cert.TransportCertificate,
	config config.WorkerConfigModel,
	taskQueue taskqueue.Queue,
	workerNodeDistribution workerlogic.WorkerDistributor,
	containerService service.IContainer,
	meter metric.Meter,
) (IWorker, error)

type Worker

type Worker struct {
	// contains filtered or unexported fields
}

func (*Worker) CalculateAverageContainerResourceUsage added in v0.0.15

func (w *Worker) CalculateAverageContainerResourceUsage(usage []models.ContainerResourceUsage) error

func (*Worker) CheckInWorkerNodeToControlPlane

func (w *Worker) CheckInWorkerNodeToControlPlane(ctx context.Context) error

func (*Worker) GetAvailableTaskSlot

func (w *Worker) GetAvailableTaskSlot() int

func (*Worker) GetQueuedTask added in v0.0.15

func (w *Worker) GetQueuedTask() []string

func (*Worker) GetRunningTask

func (w *Worker) GetRunningTask() []string

func (*Worker) GetTask

func (w *Worker) GetTask(containerImage string, containerId string) (*proto.Task, error)

func (*Worker) ReportFailTask

func (w *Worker) ReportFailTask(ctx context.Context, id string, errorMessage string) error

func (*Worker) StoreTaskInQueue

func (w *Worker) StoreTaskInQueue(containerImage string, taskId string, input []byte) error

func (*Worker) SubmitSuccessTask

func (w *Worker) SubmitSuccessTask(ctx context.Context, id string, results []byte) error

func (*Worker) TaskDistributionDaemonLoop

func (w *Worker) TaskDistributionDaemonLoop(ctx context.Context)

Directories

Path Synopsis
Package mock_handlerservice is a generated GoMock package.
Package mock_handlerservice is a generated GoMock package.

Jump to

Keyboard shortcuts

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