package manager
import "github.com/docker/cli/cli-plugins/manager"
Index ¶
- func AddPluginCommandStubs(dockerCLI config.Provider, rootCmd *cobra.Command) (err error)
- func IsPluginCommand(cmd *cobra.Command) bool
- func PluginRunCommand(dockerCli config.Provider, name string, rootcmd *cobra.Command) (*exec.Cmd, error)
- type Plugin
- func GetPlugin(name string, dockerCLI config.Provider, rootcmd *cobra.Command) (*Plugin, error)
- func ListPlugins(dockerCli config.Provider, rootcmd *cobra.Command) ([]Plugin, error)
- func (p *Plugin) MarshalJSON() ([]byte, error)
- func (p *Plugin) RunHook(ctx context.Context, hookData hooks.Request) ([]byte, error)
Functions ¶
func AddPluginCommandStubs ¶
AddPluginCommandStubs adds a stub cobra.Commands for each valid and invalid plugin. The command stubs will have several annotations added, see `CommandAnnotationPlugin*`.
func IsPluginCommand ¶
IsPluginCommand checks if the given cmd is a plugin-stub.
func PluginRunCommand ¶
func PluginRunCommand(dockerCli config.Provider, name string, rootcmd *cobra.Command) (*exec.Cmd, error)
PluginRunCommand returns an os/exec.Cmd which when os/exec.Cmd.Run will execute the named plugin. The rootcmd argument is referenced to determine the set of builtin commands in order to detect conflicts. The error returned satisfies the errdefs.IsNotFound predicate if no plugin was found or if the first candidate plugin was invalid somehow.
Types ¶
type Plugin ¶
type Plugin struct {
metadata.Metadata
Name string `json:",omitempty"`
Path string `json:",omitempty"`
// Err is non-nil if the plugin failed one of the candidate tests.
Err error `json:",omitempty"`
// ShadowedPaths contains the paths of any other plugins which this plugin takes precedence over.
ShadowedPaths []string `json:",omitempty"`
}
Plugin represents a potential plugin with all it's metadata.
func GetPlugin ¶
GetPlugin returns a plugin on the system by its name
func ListPlugins ¶
ListPlugins produces a list of the plugins available on the system
func (*Plugin) MarshalJSON ¶
MarshalJSON implements json.Marshaler to handle marshaling the [Plugin.Err] field (Go doesn't marshal errors by default).
func (*Plugin) RunHook ¶
RunHook executes the plugin's hooks command and returns its unprocessed output.
Source Files ¶
candidate.go cobra.go manager.go manager_unix.go plugin.go suffix_unix.go telemetry.go
- Version
- v29.4.2+incompatible (latest)
- Published
- Apr 20, 2026
- Platform
- linux/amd64
- Imports
- 24 packages
- Last checked
- 52 minutes ago –
Tools for package owners.