Help us shape the future of Go! Take the 2026 Go Developer Survey

plugins

package
v0.1.6 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2026 License: MIT Imports: 4 Imported by: 4

Documentation

Index

Constants

View Source
const (
	Incr = true
	Decr = false
)

Variables

View Source
var ErrVerbNotSupported = errors.New("verb not supported by the plugin")

ErrVerbNotSupported marks a verb the plugin did not advertise.

Functions

This section is empty.

Types

type Plugin

type Plugin interface {
	// CalculateDeploy plans per-workload engine and resource params without writing anything.
	CalculateDeploy(ctx context.Context, nodename string, deployCount int, resourceRequest plugintypes.WorkloadResourceRequest) (*plugintypes.CalculateDeployResponse, error)

	// CalculateRealloc plans a workload's new engine params, delta and final resource without writing anything.
	CalculateRealloc(ctx context.Context, nodename string, resource plugintypes.WorkloadResource, resourceRequest plugintypes.WorkloadResourceRequest) (*plugintypes.CalculateReallocResponse, error)

	// CalculateRemap plans engine params per workload ID from the node's usage without writing anything.
	CalculateRemap(ctx context.Context, nodename string, workloadsResource map[string]plugintypes.WorkloadResource) (*plugintypes.CalculateRemapResponse, error)

	// AddNode records a node's capacity and an empty usage, and fails on a node it already has.
	AddNode(ctx context.Context, nodename string, resource plugintypes.NodeResourceRequest, info *enginetypes.Info) (*plugintypes.AddNodeResponse, error)

	RemoveNode(ctx context.Context, nodename string) (*plugintypes.RemoveNodeResponse, error)

	GetNodesDeployCapacity(ctx context.Context, nodenames []string, resource plugintypes.WorkloadResourceRequest) (*plugintypes.GetNodesDeployCapacityResponse, error)

	SetNodeResourceCapacity(ctx context.Context, nodename string, resource plugintypes.NodeResource, resourceRequest plugintypes.NodeResourceRequest, delta, incr bool) (*plugintypes.SetNodeResourceCapacityResponse, error)

	// GetNodeResourceInfo returns the node's total and available resources.
	GetNodeResourceInfo(ctx context.Context, nodename string, workloadsResource []plugintypes.WorkloadResource) (*plugintypes.GetNodeResourceInfoResponse, error)

	// GetNodesResourceInfo returns the capacity and usage of many nodes in one call; a node the plugin never saw is left out or empty.
	GetNodesResourceInfo(ctx context.Context, nodenames []string) (*plugintypes.GetNodesResourceInfoResponse, error)

	// SetNodeResourceInfo stores a node's capacity and usage as absolute values.
	SetNodeResourceInfo(ctx context.Context, nodename string, capacity, usage plugintypes.NodeResource) (*plugintypes.SetNodeResourceInfoResponse, error)

	SetNodeResourceUsage(ctx context.Context, nodename string, resource plugintypes.NodeResource, resourceRequest plugintypes.NodeResourceRequest, workloadsResource []plugintypes.WorkloadResource, delta, incr bool) (*plugintypes.SetNodeResourceUsageResponse, error)

	GetMostIdleNode(ctx context.Context, nodenames []string) (*plugintypes.GetMostIdleNodeResponse, error)

	FixNodeResource(ctx context.Context, nodename string, workloadsResource []plugintypes.WorkloadResource) (*plugintypes.GetNodeResourceInfoResponse, error)

	GetMetricsDescription(ctx context.Context) (*plugintypes.GetMetricsDescriptionResponse, error)

	GetMetrics(ctx context.Context, nodes []plugintypes.NodeRef) (*plugintypes.GetMetricsResponse, error)

	Name() string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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