registry

package
v1.13.21 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2025 License: BSD-3-Clause Imports: 12 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func List

func List() []string

List returns all registered VM names from the global registry

func Register

func Register(name string, factory VMFactory) error

Register registers a VM factory in the global registry

Types

type Registry

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

Registry manages VM factories

func New

func New() *Registry

New creates a new registry

func (*Registry) Get

func (r *Registry) Get(name string) (VMFactory, error)

Get retrieves a VM factory

func (*Registry) List

func (r *Registry) List() []string

List returns all registered VM names

func (*Registry) Register

func (r *Registry) Register(name string, factory VMFactory) error

Register registers a VM factory

type VMFactory

type VMFactory interface {
	New() (interface{}, error)
}

VMFactory creates VM instances

func Get

func Get(name string) (VMFactory, error)

Get retrieves a VM factory from the global registry

type VMGetter

type VMGetter interface {
	// Get fetches the VMs that are registered and the VMs that are not
	// registered but available to be installed on the node.
	Get() (
		registeredVMs map[ids.ID]vms.Factory,
		unregisteredVMs map[ids.ID]vms.Factory,
		err error,
	)
}

VMGetter defines functionality to get the plugins on the node.

func NewVMGetter

func NewVMGetter(config VMGetterConfig) VMGetter

NewVMGetter returns a new instance of a VMGetter

type VMGetterConfig

type VMGetterConfig struct {
	FileReader      filesystem.Reader
	Manager         vms.Manager
	PluginDirectory string
	CPUTracker      resource.ProcessTracker
	RuntimeTracker  runtime.Tracker
	MetricsGatherer metrics.MultiGatherer
}

VMGetterConfig defines settings for VMGetter

type VMRegistry

type VMRegistry interface {
	// Reload installs all non-installed vms on the node.
	Reload(ctx context.Context) ([]ids.ID, map[ids.ID]error, error)
}

VMRegistry defines functionality to get any new virtual machines on the node, and install them if they're not already installed.

func NewVMRegistry

func NewVMRegistry(config VMRegistryConfig) VMRegistry

NewVMRegistry returns a VMRegistry

type VMRegistryConfig

type VMRegistryConfig struct {
	VMGetter  VMGetter
	VMManager vms.Manager
}

VMRegistryConfig defines configurations for VMRegistry

Directories

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

Jump to

Keyboard shortcuts

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