Documentation ¶
Index ¶
- func HandlePluginCommand(pluginHandler PluginHandler, cmdArgs []string) error
- func NewDefaultKubeKeyCommand() *cobra.Command
- func NewDefaultKubeKeyCommandWithArgs(o KubeKeyOptions) *cobra.Command
- func NewKubeKeyCommand(o KubeKeyOptions) *cobra.Command
- type DefaultPluginHandler
- type KubeKeyOptions
- type PluginHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HandlePluginCommand ¶
func HandlePluginCommand(pluginHandler PluginHandler, cmdArgs []string) error
HandlePluginCommand receives a pluginHandler and command-line arguments and attempts to find a plugin executable on the PATH that satisfies the given arguments.
func NewDefaultKubeKeyCommandWithArgs ¶
func NewDefaultKubeKeyCommandWithArgs(o KubeKeyOptions) *cobra.Command
func NewKubeKeyCommand ¶
func NewKubeKeyCommand(o KubeKeyOptions) *cobra.Command
NewKubeKeyCommand creates a new kubekey root command
Types ¶
type DefaultPluginHandler ¶
type DefaultPluginHandler struct {
ValidPrefixes []string
}
DefaultPluginHandler implements PluginHandler
func NewDefaultPluginHandler ¶
func NewDefaultPluginHandler(validPrefixes []string) *DefaultPluginHandler
NewDefaultPluginHandler instantiates the DefaultPluginHandler with a list of given filename prefixes used to identify valid plugin filenames.
type KubeKeyOptions ¶
type KubeKeyOptions struct { PluginHandler PluginHandler Arguments []string options.IOStreams }
type PluginHandler ¶
type PluginHandler interface { // exists at the given filename, or a boolean false. // Lookup will iterate over a list of given prefixes // in order to recognize valid plugin filenames. // The first filepath to match a prefix is returned. Lookup(filename string) (string, bool) // Execute receives an executable's filepath, a slice // of arguments, and a slice of environment variables // to relay to the executable. Execute(executablePath string, cmdArgs, environment []string) error }
PluginHandler is capable of parsing command line arguments and performing executable filename lookups to search for valid plugin files, and execute found plugins.
Click to show internal directories.
Click to hide internal directories.