open-vault/command/plugin.go
Seth Vargo 1259ee6743 Add plugin CLI for interacting with the plugin catalog (#4911)
* Add 'plugin list' command

* Add 'plugin register' command

* Add 'plugin deregister' command

* Use a shared plugin helper

* Add 'plugin read' command

* Rename to plugin info

* Add base plugin for help text

* Fix arg ordering

* Add docs

* Rearrange to alphabetize

* Fix arg ordering in example

* Don't use "sudo" in command description
2018-07-13 10:35:08 -07:00

47 lines
976 B
Go

package command
import (
"strings"
"github.com/mitchellh/cli"
)
var _ cli.Command = (*PluginCommand)(nil)
type PluginCommand struct {
*BaseCommand
}
func (c *PluginCommand) Synopsis() string {
return "Interact with Vault plugins and catalog"
}
func (c *PluginCommand) Help() string {
helpText := `
Usage: vault plugin <subcommand> [options] [args]
This command groups subcommands for interacting with Vault's plugins and the
plugin catalog. Here are a few examples of the plugin commands:
List all available plugins in the catalog:
$ vault plugin list
Register a new plugin to the catalog:
$ vault plugin register -sha256=d3f0a8b... my-custom-plugin
Get information about a plugin in the catalog:
$ vault plugin info my-custom-plugin
Please see the individual subcommand help for detailed usage information.
`
return strings.TrimSpace(helpText)
}
func (c *PluginCommand) Run(args []string) int {
return cli.RunResultHelp
}