v2

package
v20.10.16+incompatible Latest Latest
Warning

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

Go to latest
Published: May 12, 2022 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrInadequateCapability

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

ErrInadequateCapability indicates that the plugin did not have the requested capability.

func (ErrInadequateCapability) Error

func (e ErrInadequateCapability) Error() string

type Plugin

type Plugin struct {
	PluginObj types.Plugin `json:"plugin"` // todo: embed struct

	Rootfs string // TODO: make private

	Config   digest.Digest
	Blobsums []digest.Digest
	Manifest digest.Digest

	SwarmServiceID string
	// contains filtered or unexported fields
}

Plugin represents an individual plugin.

func (*Plugin) Acquire

func (p *Plugin) Acquire()

Acquire increments the plugin's reference count This should be followed up by `Release()` when the plugin is no longer in use.

func (*Plugin) AddRefCount

func (p *Plugin) AddRefCount(count int)

AddRefCount adds to reference count.

func (*Plugin) Addr

func (p *Plugin) Addr() net.Addr

Addr returns the net.Addr to use to connect to the plugin socket

func (*Plugin) Client

func (p *Plugin) Client() *plugins.Client

Client returns the plugin client. Deprecated: use p.Addr() and manually create the client

func (*Plugin) FilterByCap

func (p *Plugin) FilterByCap(capability string) (*Plugin, error)

FilterByCap query the plugin for a given capability.

func (*Plugin) GetID

func (p *Plugin) GetID() string

GetID returns the plugin's ID.

func (*Plugin) GetRefCount

func (p *Plugin) GetRefCount() int

GetRefCount returns the reference count.

func (*Plugin) GetSocket

func (p *Plugin) GetSocket() string

GetSocket returns the plugin socket.

func (*Plugin) GetTypes

func (p *Plugin) GetTypes() []types.PluginInterfaceType

GetTypes returns the interface types of a plugin.

func (*Plugin) InitEmptySettings

func (p *Plugin) InitEmptySettings()

InitEmptySettings initializes empty settings for a plugin.

func (*Plugin) InitSpec

func (p *Plugin) InitSpec(execRoot string) (*specs.Spec, error)

InitSpec creates an OCI spec from the plugin's config.

func (*Plugin) IsEnabled

func (p *Plugin) IsEnabled() bool

IsEnabled returns the active state of the plugin.

func (*Plugin) IsV1

func (p *Plugin) IsV1() bool

IsV1 returns true for V1 plugins and false otherwise.

func (*Plugin) Name

func (p *Plugin) Name() string

Name returns the plugin name.

func (*Plugin) Protocol

func (p *Plugin) Protocol() string

Protocol is the protocol that should be used for interacting with the plugin.

func (*Plugin) Release

func (p *Plugin) Release()

Release decrements the plugin's reference count This should only be called when the plugin is no longer in use, e.g. with via `Acquire()` or getter.Get("name", "type", plugingetter.Acquire)

func (*Plugin) ScopedPath

func (p *Plugin) ScopedPath(s string) string

ScopedPath returns the path scoped to the plugin rootfs

func (*Plugin) Set

func (p *Plugin) Set(args []string) error

Set is used to pass arguments to the plugin.

func (*Plugin) SetAddr

func (p *Plugin) SetAddr(addr net.Addr)

SetAddr sets the plugin address which can be used for dialing the plugin.

func (*Plugin) SetPClient

func (p *Plugin) SetPClient(client *plugins.Client)

SetPClient set the plugin client. Deprecated: Hardcoded plugin client is deprecated

func (*Plugin) SetSpecOptModifier

func (p *Plugin) SetSpecOptModifier(f func(*specs.Spec))

SetSpecOptModifier sets the function to use to modify the generated runtime spec.

func (*Plugin) SetTimeout

func (p *Plugin) SetTimeout(t time.Duration)

SetTimeout sets the timeout to use for dialing.

func (*Plugin) Timeout

func (p *Plugin) Timeout() time.Duration

Timeout gets the currently configured connection timeout. This should be used when dialing the plugin.

Jump to

Keyboard shortcuts

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