registry

package
v1.7.0-beta.2 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2020 License: Apache-2.0 Imports: 7 Imported by: 32

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(driver DriverDef) error

Register registers driver with the global registry

Types

type Configurator added in v1.5.0

type Configurator func(config.MachineConfig) interface{}

Configurator emits a struct to be marshalled into JSON for Machine Driver

type DriverDef

type DriverDef struct {
	// Name of the machine driver. It has to be unique.
	Name string

	// Config is a function that emits a configured driver struct
	Config Configurator

	// Init is a function that initializes a machine driver, if built-in to the minikube binary
	Init Loader

	// Status returns the installation status of the driver
	Status StatusChecker

	// Priority returns the prioritization for selecting a driver by default.
	Priority Priority
}

DriverDef defines how to initialize and load a machine driver

func Driver

func Driver(name string) DriverDef

Driver gets a named driver from the global registry

func List added in v1.5.0

func List() []DriverDef

List lists drivers in global registry

func (DriverDef) Empty added in v1.5.0

func (d DriverDef) Empty() bool

Empty returns true if the driver is nil

func (DriverDef) String

func (d DriverDef) String() string

type DriverState added in v1.5.0

type DriverState struct {
	Name     string
	Priority Priority
	State    State
}

DriverState is metadata relating to a driver and status

func Available added in v1.6.0

func Available() []DriverState

Available returns a list of available drivers in the global registry

func (DriverState) String added in v1.5.0

func (d DriverState) String() string

type Loader added in v1.5.0

type Loader func() drivers.Driver

Loader is a function that loads a byte stream and creates a driver.

type Priority added in v1.5.0

type Priority int

Priority is how we determine what driver to default to

const (
	// Unknown is when there is no status check available
	Unknown Priority = iota
	// Unhealthy is when a driver does not pass health checks
	Unhealthy
	// Experimental is when a driver is not officially supported because it's still experimental
	Experimental
	// Discouraged is when a driver has caveats that preclude it's recommendation
	Discouraged
	// Deprecated is when a driver has been formally deprecated
	Deprecated
	// Fallback is when a driver works well, but may not be high performance
	Fallback
	// Default is what most 3rd party drivers are
	Default
	// Preferred is for drivers that use a native hypervisor interface
	Preferred
)

type Registry

type Registry interface {
	// Register a driver in registry
	Register(driver DriverDef) error

	// Driver returns the registered driver from a given name
	Driver(name string) (DriverDef, error)

	// List
	List() []DriverDef
}

Registry contains all the supported driver definitions on the host

type State added in v1.5.0

type State struct {
	Installed bool
	Healthy   bool
	Error     error
	Fix       string
	Doc       string
}

State is the current state of the driver and its dependencies

func Status added in v1.5.0

func Status(name string) State

Status returns the state of a driver within the global registry

type StatusChecker added in v1.5.0

type StatusChecker func() State

StatusChecker checks if a driver is available, offering a

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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