mirror of https://github.com/docker/cli.git
cli-plugins/manager: add GoDoc for getPluginDirs, defaultSystemPluginDirs
Add some documentation about their purpose, and document order of preference when resolving plugins. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
64206aef76
commit
55a1f6eb73
|
@ -49,6 +49,16 @@ func IsNotFound(err error) bool {
|
||||||
return ok
|
return ok
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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 as configured through [ConfigFile.CLIPluginsExtraDirs].
|
||||||
|
// 3. Platform-specific defaultSystemPluginDirs.
|
||||||
|
//
|
||||||
|
// [ConfigFile.CLIPluginsExtraDirs]: https://pkg.go.dev/github.com/docker/cli@v26.1.4+incompatible/cli/config/configfile#ConfigFile.CLIPluginsExtraDirs
|
||||||
func getPluginDirs(cfg *configfile.ConfigFile) ([]string, error) {
|
func getPluginDirs(cfg *configfile.ConfigFile) ([]string, error) {
|
||||||
var pluginDirs []string
|
var pluginDirs []string
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,19 @@
|
||||||
|
|
||||||
package manager
|
package manager
|
||||||
|
|
||||||
|
// defaultSystemPluginDirs are 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-directory (usually "~/.docker/cli-plugins").
|
||||||
|
// 2. Additional plugin directories as configured through [ConfigFile.CLIPluginsExtraDirs].
|
||||||
|
// 3. Platform-specific defaultSystemPluginDirs (as defined below).
|
||||||
|
//
|
||||||
|
// [ConfigFile.CLIPluginsExtraDirs]: https://pkg.go.dev/github.com/docker/cli@v26.1.4+incompatible/cli/config/configfile#ConfigFile.CLIPluginsExtraDirs
|
||||||
var defaultSystemPluginDirs = []string{
|
var defaultSystemPluginDirs = []string{
|
||||||
"/usr/local/lib/docker/cli-plugins", "/usr/local/libexec/docker/cli-plugins",
|
"/usr/local/lib/docker/cli-plugins",
|
||||||
"/usr/lib/docker/cli-plugins", "/usr/libexec/docker/cli-plugins",
|
"/usr/local/libexec/docker/cli-plugins",
|
||||||
|
"/usr/lib/docker/cli-plugins",
|
||||||
|
"/usr/libexec/docker/cli-plugins",
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,16 @@ import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// defaultSystemPluginDirs are 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-directory (usually "~/.docker/cli-plugins").
|
||||||
|
// 2. Additional plugin directories as configured through [ConfigFile.CLIPluginsExtraDirs].
|
||||||
|
// 3. Platform-specific defaultSystemPluginDirs (as defined below).
|
||||||
|
//
|
||||||
|
// [ConfigFile.CLIPluginsExtraDirs]: https://pkg.go.dev/github.com/docker/cli@v26.1.4+incompatible/cli/config/configfile#ConfigFile.CLIPluginsExtraDirs
|
||||||
var defaultSystemPluginDirs = []string{
|
var defaultSystemPluginDirs = []string{
|
||||||
filepath.Join(os.Getenv("ProgramData"), "Docker", "cli-plugins"),
|
filepath.Join(os.Getenv("ProgramData"), "Docker", "cli-plugins"),
|
||||||
filepath.Join(os.Getenv("ProgramFiles"), "Docker", "cli-plugins"),
|
filepath.Join(os.Getenv("ProgramFiles"), "Docker", "cli-plugins"),
|
||||||
|
|
Loading…
Reference in New Issue