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) 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(name string, config *types.PluginDisableConfig) error

Disable deactivates a plugin, which implies that they cannot be used by containers.

func (*Manager) Enable added in v1.13.0

func (pm *Manager) Enable(name 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, out io.Writer) 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, out 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) 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