cluster

package
v0.0.0-...-06bcc1c Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2024 License: MIT Imports: 3 Imported by: 6

Documentation

Index

Constants

View Source
const (
	// Gitlab for gitlab
	Gitlab = "gitlab"
	// Github for github
	Github = "github"
	// CPUPeriodBase for cpu period base
	CPUPeriodBase = 100000
	// ERUMark mark workload controlled by eru
	ERUMark = "ERU"
	// LabelMeta store publish and health things
	LabelMeta = "ERU_META"
	// LabelCoreID is used to label a container with its identifier
	LabelCoreID = "eru.coreid"
	// LabelNodeName is used to label a container with the nodename
	LabelNodeName = "eru.nodename"
	// WorkloadStop for stop workload
	WorkloadStop = "stop"
	// WorkloadStart for start workload
	WorkloadStart = "start"
	// WorkloadRestart for restart workload
	WorkloadRestart = "restart"
	// WorkloadSuspend for suspending workload
	WorkloadSuspend = "suspend"
	// WorkloadResume for resuming workload
	WorkloadResume = "resume"
	// WorkloadLock for lock workload
	WorkloadLock = "clock_%s"
	// PodLock for lock pod
	PodLock = "plock_%s"
	// NodeOperationLock for lock node operation
	NodeOperationLock = "cnode_op_%s_%s"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Cluster

type Cluster interface {
	// meta service
	WatchServiceStatus(context.Context) (<-chan types.ServiceStatus, error)
	// meta networks
	ListNetworks(ctx context.Context, podname string, driver string) ([]*enginetypes.Network, error)
	ConnectNetwork(ctx context.Context, network, target, ipv4, ipv6 string) ([]string, error)
	DisconnectNetwork(ctx context.Context, network, target string, force bool) error
	// meta pod
	AddPod(ctx context.Context, podname, desc string) (*types.Pod, error)
	RemovePod(ctx context.Context, podname string) error
	GetPod(ctx context.Context, podname string) (*types.Pod, error)
	ListPods(ctx context.Context) ([]*types.Pod, error)
	// pod resource
	PodResource(ctx context.Context, podname string) (chan *types.NodeResourceInfo, error)
	// meta node
	AddNode(context.Context, *types.AddNodeOptions) (*types.Node, error)
	RemoveNode(ctx context.Context, nodename string) error
	ListPodNodes(context.Context, *types.ListNodesOptions) (<-chan *types.Node, error)
	GetNode(ctx context.Context, nodename string) (*types.Node, error)
	GetNodeEngineInfo(ctx context.Context, nodename string) (*enginetypes.Info, error)
	SetNode(ctx context.Context, opts *types.SetNodeOptions) (*types.Node, error)
	SetNodeStatus(ctx context.Context, nodename string, ttl int64) error
	GetNodeStatus(ctx context.Context, nodename string) (*types.NodeStatus, error)
	NodeStatusStream(ctx context.Context) chan *types.NodeStatus
	// node resource
	NodeResource(ctx context.Context, nodename string, fix bool) (*types.NodeResourceInfo, error)
	// calculate capacity
	CalculateCapacity(context.Context, *types.DeployOptions) (*types.CapacityMessage, error)
	// meta workloads
	GetWorkload(ctx context.Context, id string) (*types.Workload, error)
	GetWorkloads(ctx context.Context, IDs []string) ([]*types.Workload, error)
	ListWorkloads(ctx context.Context, opts *types.ListWorkloadsOptions) ([]*types.Workload, error)
	ListNodeWorkloads(ctx context.Context, nodename string, labels map[string]string) ([]*types.Workload, error)
	GetWorkloadsStatus(ctx context.Context, IDs []string) ([]*types.StatusMeta, error)
	SetWorkloadsStatus(ctx context.Context, status []*types.StatusMeta, ttls map[string]int64) ([]*types.StatusMeta, error)
	WorkloadStatusStream(ctx context.Context, appname, entrypoint, nodename string, labels map[string]string) chan *types.WorkloadStatus
	// file methods
	Copy(ctx context.Context, opts *types.CopyOptions) (chan *types.CopyMessage, error)
	Send(ctx context.Context, opts *types.SendOptions) (chan *types.SendMessage, error)
	SendLargeFile(ctx context.Context, opts chan *types.SendLargeFileOptions) chan *types.SendMessage
	// image methods
	BuildImage(ctx context.Context, opts *types.BuildOptions) (chan *types.BuildImageMessage, error)
	CacheImage(ctx context.Context, opts *types.ImageOptions) (chan *types.CacheImageMessage, error)
	RemoveImage(ctx context.Context, opts *types.ImageOptions) (chan *types.RemoveImageMessage, error)
	ListImage(ctx context.Context, opts *types.ImageOptions) (chan *types.ListImageMessage, error)
	// workload methods
	CreateWorkload(ctx context.Context, opts *types.DeployOptions) (chan *types.CreateWorkloadMessage, error)
	ReplaceWorkload(ctx context.Context, opts *types.ReplaceOptions) (chan *types.ReplaceWorkloadMessage, error)
	RemoveWorkload(ctx context.Context, IDs []string, force bool) (chan *types.RemoveWorkloadMessage, error)
	RemoveWorkloadSync(ctx context.Context, IDs []string) error
	DissociateWorkload(ctx context.Context, IDs []string) (chan *types.DissociateWorkloadMessage, error)
	ControlWorkload(ctx context.Context, IDs []string, t string, force bool) (chan *types.ControlWorkloadMessage, error)
	ExecuteWorkload(ctx context.Context, opts *types.ExecuteWorkloadOptions, inCh <-chan []byte) chan *types.AttachWorkloadMessage
	ReallocResource(ctx context.Context, opts *types.ReallocOptions) error
	LogStream(ctx context.Context, opts *types.LogStreamOptions) (chan *types.LogStreamMessage, error)
	RunAndWait(ctx context.Context, opts *types.DeployOptions, inCh <-chan []byte) ([]string, <-chan *types.AttachWorkloadMessage, error)
	RawEngine(ctx context.Context, opts *types.RawEngineOptions) (*types.RawEngineMessage, error)
	// finalizer
	Finalizer()

	// GetIdentifier returns the identifier for this cluster
	// identifier will be used to label a container, to announce the container belongs to this cluster
	GetIdentifier() string
}

Cluster define all interface

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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