MCPcopy Index your code
hub / github.com/docker/cli / getPluginDirs

Function getPluginDirs

cli-plugins/manager/manager.go:42–52  ·  view source on GitHub ↗

getPluginDirs returns the platform-specific locations to search for plugins in order of preference. Plugin-discovery is performed in the following order of preference: 1. The "cli-plugins" directory inside the CLIs [config.Path] (usually "~/.docker/cli-plugins"). 2. Additional plugin directories a

(cfg *configfile.ConfigFile)

Source from the content-addressed store, hash-verified

40//
41// [ConfigFile.CLIPluginsExtraDirs]: https://pkg.go.dev/github.com/docker/cli@v26.1.4+incompatible/cli/config/configfile#ConfigFile.CLIPluginsExtraDirs
42func getPluginDirs(cfg *configfile.ConfigFile) []string {
43 var pluginDirs []string
44
45 if cfg != nil {
46 pluginDirs = append(pluginDirs, cfg.CLIPluginsExtraDirs...)
47 }
48 pluginDir := filepath.Join(config.Dir(), "cli-plugins")
49 pluginDirs = append(pluginDirs, pluginDir)
50 pluginDirs = append(pluginDirs, defaultSystemPluginDirs...)
51 return pluginDirs
52}
53
54func addPluginCandidatesFromDir(res map[string][]string, d string) {
55 dentries, err := os.ReadDir(d)

Callers 5

TestGetPluginDirsFunction · 0.85
invokeAndCollectHooksFunction · 0.85
GetPluginFunction · 0.85
ListPluginsFunction · 0.85
PluginRunCommandFunction · 0.85

Calls

no outgoing calls

Tested by 1

TestGetPluginDirsFunction · 0.68

Used in the wild real call sites across dependent graphs

searching dependent graphs…