driver

package
v0.11.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2023 License: Apache-2.0 Imports: 15 Imported by: 8

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotConnecting = errors.Errorf("driver not connecting")
View Source
var ErrNotRunning = errors.Errorf("driver not running")

Functions

func Boot

func Boot(ctx, clientContext context.Context, d Driver, pw progress.Writer) (*client.Client, error)

func HistoryAPISupported

func HistoryAPISupported(ctx context.Context, c *client.Client) bool

func Register

func Register(f Factory)

Types

type Auth added in v0.5.0

type Auth interface {
	GetAuthConfig(registryHostname string) (clitypes.AuthConfig, error)
}

type BuildkitConfig

type BuildkitConfig struct {
}

type Driver

type Driver interface {
	Factory() Factory
	Bootstrap(context.Context, progress.Logger) error
	Info(context.Context) (*Info, error)
	Version(context.Context) (string, error)
	Stop(ctx context.Context, force bool) error
	Rm(ctx context.Context, force, rmVolume, rmDaemon bool) error
	Client(ctx context.Context) (*client.Client, error)
	Features(ctx context.Context) map[Feature]bool
	IsMobyDriver() bool
	Config() InitConfig
}

func GetDriver

func GetDriver(ctx context.Context, name string, f Factory, endpointAddr string, api dockerclient.APIClient, auth Auth, kcc KubeClientConfig, flags []string, files map[string][]byte, do map[string]string, platforms []specs.Platform, contextPathHash string) (Driver, error)

type Factory

type Factory interface {
	Name() string
	Usage() string
	Priority(ctx context.Context, endpoint string, api dockerclient.APIClient) int
	New(ctx context.Context, cfg InitConfig) (Driver, error)
	AllowsInstances() bool
}

func GetDefaultFactory

func GetDefaultFactory(ctx context.Context, ep string, c dockerclient.APIClient, instanceRequired bool) (Factory, error)

func GetFactories added in v0.3.0

func GetFactories(instanceRequired bool) []Factory

func GetFactory

func GetFactory(name string, instanceRequired bool) (Factory, error)

type Feature

type Feature string
const CacheExport Feature = "Cache export"
const DockerExporter Feature = "Docker exporter"
const HistoryAPI Feature = "History API"
const MultiPlatform Feature = "Multiple platforms"
const OCIExporter Feature = "OCI exporter"

type Info

type Info struct {
	Status Status
	// DynamicNodes must be empty if the actual nodes are statically listed in the store
	DynamicNodes []store.Node
}

type InitConfig

type InitConfig struct {
	// This object needs updates to be generic for different drivers
	Name             string
	EndpointAddr     string
	DockerAPI        dockerclient.APIClient
	KubeClientConfig KubeClientConfig
	BuildkitFlags    []string
	Files            map[string][]byte
	DriverOpts       map[string]string
	Auth             Auth
	Platforms        []specs.Platform
	// ContextPathHash can be used for determining pods in the driver instance
	ContextPathHash string
}

type KubeClientConfig added in v0.5.0

type KubeClientConfig interface {
	ClientConfig() (*rest.Config, error)
	Namespace() (string, bool, error)
}

type KubeClientConfigInCluster added in v0.5.0

type KubeClientConfigInCluster struct{}

func (KubeClientConfigInCluster) ClientConfig added in v0.5.0

func (k KubeClientConfigInCluster) ClientConfig() (*rest.Config, error)

func (KubeClientConfigInCluster) Namespace added in v0.5.0

func (k KubeClientConfigInCluster) Namespace() (string, bool, error)

type Status

type Status int
const (
	Inactive Status = iota
	Starting
	Running
	Stopping
	Stopped
)

func (Status) String

func (s Status) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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