Help us shape the future of Go! Take the 2026 Go Developer Survey

plugin

package
v1.13.0 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2017 License: Apache-2.0 Imports: 42 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrAmbiguous added in v1.13.0

type ErrAmbiguous string

ErrAmbiguous indicates that a plugin was not found locally.

func (ErrAmbiguous) Error added in v1.13.0

func (name ErrAmbiguous) Error() string

type ErrNotFound added in v1.13.0

type ErrNotFound string

ErrNotFound indicates that a plugin was not found locally.

func (ErrNotFound) Error added in v1.13.0

func (name ErrNotFound) Error() string

type Manager added in v1.13.0

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

Manager controls the plugin subsystem.

func NewManager added in v1.13.0

func NewManager(config ManagerConfig) (*Manager, error)

NewManager returns a new plugin manager.

func (*Manager) CreateFromContext added in v1.13.0

func (pm *Manager) CreateFromContext(ctx context.Context, tarCtx io.ReadCloser, options *types.PluginCreateOptions) (err error)

CreateFromContext creates a plugin from the given pluginDir which contains both the rootfs and the config.json and a repoName with optional tag.

func (*Manager) Disable added in v1.13.0

func (pm *Manager) Disable(refOrID string, config *types.PluginDisableConfig) error

Disable deactivates a plugin. This means resources (volumes, networks) cant use them.

func (*Manager) Enable added in v1.13.0

func (pm *Manager) Enable(refOrID string, config *types.PluginEnableConfig) error

Enable activates a plugin, which implies that they are ready to be used by containers.

func (*Manager) GC added in v1.13.0

func (pm *Manager) GC()

GC cleans up unrefrenced blobs. This is recommended to run in a goroutine

func (*Manager) Inspect added in v1.13.0

func (pm *Manager) Inspect(refOrID string) (tp *types.Plugin, err error)

Inspect examines a plugin config

func (*Manager) List added in v1.13.0

func (pm *Manager) List() ([]types.Plugin, error)

List displays the list of plugins and associated metadata.

func (*Manager) Privileges added in v1.13.0

func (pm *Manager) Privileges(ctx context.Context, ref reference.Named, metaHeader http.Header, authConfig *types.AuthConfig) (types.PluginPrivileges, error)

Privileges pulls a plugin config and computes the privileges required to install it.

func (*Manager) Pull added in v1.13.0

func (pm *Manager) Pull(ctx context.Context, ref reference.Named, name string, metaHeader http.Header, authConfig *types.AuthConfig, privileges types.PluginPrivileges, outStream io.Writer) (err error)

Pull pulls a plugin, check if the correct privileges are provided and install the plugin.

func (*Manager) Push added in v1.13.0

func (pm *Manager) Push(ctx context.Context, name string, metaHeader http.Header, authConfig *types.AuthConfig, outStream io.Writer) error

Push pushes a plugin to the store.

func (*Manager) Remove added in v1.13.0

func (pm *Manager) Remove(name string, config *types.PluginRmConfig) error

Remove deletes plugin's root directory.

func (*Manager) Set added in v1.13.0

func (pm *Manager) Set(name string, args []string) error

Set sets plugin args

func (*Manager) Shutdown added in v1.13.0

func (pm *Manager) Shutdown()

Shutdown stops all plugins and called during daemon shutdown.

func (*Manager) StateChanged added in v1.13.0

func (pm *Manager) StateChanged(id string, e libcontainerd.StateInfo) error

StateChanged updates plugin internals using libcontainerd events.

type ManagerConfig added in v1.13.0

type ManagerConfig struct {
	Store              *Store // remove
	Executor           libcontainerd.Remote
	RegistryService    registry.Service
	LiveRestoreEnabled bool // TODO: remove
	LogPluginEvent     eventLogger
	Root               string
	ExecRoot           string
}

ManagerConfig defines configuration needed to start new manager.

type Store added in v1.13.0

type Store struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

Store manages the plugin inventory in memory and on-disk

func NewStore added in v1.13.0

func NewStore(libRoot string) *Store

NewStore creates a Store.

func (*Store) Add added in v1.13.0

func (ps *Store) Add(p *v2.Plugin) error

Add adds a plugin to memory and plugindb. An error will be returned if there is a collision.

func (*Store) CallHandler added in v1.13.0

func (ps *Store) CallHandler(p *v2.Plugin)

CallHandler calls the registered callback. It is invoked during plugin enable.

func (*Store) Get added in v1.13.0

func (ps *Store) Get(name, capability string, mode int) (plugingetter.CompatPlugin, error)

Get returns an enabled plugin matching the given name and capability.

func (*Store) GetAll added in v1.13.0

func (ps *Store) GetAll() map[string]*v2.Plugin

GetAll retreives all plugins.

func (*Store) GetAllByCap added in v1.13.0

func (ps *Store) GetAllByCap(capability string) ([]plugingetter.CompatPlugin, error)

GetAllByCap returns a list of enabled plugins matching the given capability.

func (*Store) GetAllManagedPluginsByCap added in v1.13.0

func (ps *Store) GetAllManagedPluginsByCap(capability string) []plugingetter.CompatPlugin

GetAllManagedPluginsByCap returns a list of managed plugins matching the given capability.

func (*Store) GetV2Plugin added in v1.13.0

func (ps *Store) GetV2Plugin(refOrID string) (*v2.Plugin, error)

GetV2Plugin retreives a plugin by name, id or partial ID.

func (*Store) Handle added in v1.13.0

func (ps *Store) Handle(capability string, callback func(string, *plugins.Client))

Handle sets a callback for a given capability. It is only used by network and ipam drivers during plugin registration. The callback registers the driver with the subsystem (network, ipam).

func (*Store) Remove added in v1.13.0

func (ps *Store) Remove(p *v2.Plugin)

Remove removes a plugin from memory and plugindb.

func (*Store) SetAll added in v1.13.0

func (ps *Store) SetAll(plugins map[string]*v2.Plugin)

SetAll initialized plugins during daemon restore.

func (*Store) SetState added in v1.13.0

func (ps *Store) SetState(p *v2.Plugin, state bool)

SetState sets the active state of the plugin and updates plugindb.

type WriteCommitCloser added in v1.13.0

type WriteCommitCloser interface {
	io.WriteCloser
	Commit() (digest.Digest, error)
}

WriteCommitCloser defines object that can be committed to blobstore.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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