Documentation
¶
Index ¶
Constants ¶
View Source
const ( StatusNone = "NONE" StatusAllocated = "ALLOCATED" )
Variables ¶
View Source
var DriversList []ResourceDriver
Functions ¶
This section is empty.
Types ¶
type Image ¶ added in v0.7.0
type Image struct { Url string `json:"url"` // Address of the remote image to download it Sum string `json:"sum"` // Optional checksum of the image in format "<algo>:<checksum>" Name string `json:"name"` // Optional name of the image, if not set will use a part of the Url file name prior to last minus ("-") or ext Version string `json:"version"` // Optional version of the image, if not set will use a part of the Url file name after the last minus ("-") to ext Tag string `json:"tag"` // Optional identifier used by drivers to make sure the images will be processed properly }
Image definition
func (*Image) DownloadUnpack ¶ added in v0.7.0
Stream function to download and unpack image archive without using a storage file to make it as quick as possible. -> out_dir - is the directory where the image will be placed. It will be unpacked to out_dir/Name-Version/ -> user, password - credentials for HTTP Basic auth
type ResourceDriver ¶
type ResourceDriver interface { // Name of the driver Name() string // If the driver uses local node resources or a cloud or remote resources // it is used to calculate the slots available for the local drivers IsRemote() bool // Give driver configs and check if it's ok // -> config - driver configuration in json format Prepare(config []byte) error // Make sure the allocate definition is appropriate for the driver // -> def - describes the driver options to allocate the required resource ValidateDefinition(def types.LabelDefinition) error // Check if the described definition can be running on the current node // -> node_usage - how much of node resources was used by all the drivers. Usually should not be used by the cloud drivers // -> req - definition describes requirements for the resource // <- capacity - the number of such definitions the driver could run, if -1 - error happened AvailableCapacity(node_usage types.Resources, req types.LabelDefinition) (capacity int64) // Allocate the resource by definition and returns hw address // -> def - describes the driver options to allocate the required resource // -> metadata - user metadata to use during resource allocation // <- res - initial resource information to store driver instance state Allocate(def types.LabelDefinition, metadata map[string]any) (res *types.Resource, err error) // Get the status of the resource with given hw address // -> res - resource information with stored driver instance state // <- status - current status of the resource Status(res *types.Resource) (status string, err error) // Get task struct with implementation to execute it later // -> task - identifier of the task operation // -> options - additional config options for the task GetTask(task, options string) ResourceDriverTask // Deallocate resource with provided hw addr // -> res - resource information with stored driver instance state Deallocate(res *types.Resource) error }
type ResourceDriverTask ¶ added in v0.6.0
type ResourceDriverTask interface { // Name of the task Name() string // Copy the existing task structure // Will return new not related to the original task structure Clone() ResourceDriverTask // Fish provides the task information about the operated items SetInfo(task *types.ApplicationTask, res *types.Resource) // Run the task operation // <- result - json data with results of operation Execute() (result []byte, err error) }
Click to show internal directories.
Click to hide internal directories.