Signed-off-by: Anusha Ragunathan <anusha@docker.com>
| ... | ... |
@@ -13,21 +13,31 @@ import ( |
| 13 | 13 |
"golang.org/x/net/context" |
| 14 | 14 |
) |
| 15 | 15 |
|
| 16 |
+type pluginOptions struct {
|
|
| 17 |
+ name string |
|
| 18 |
+ grantPerms bool |
|
| 19 |
+} |
|
| 20 |
+ |
|
| 16 | 21 |
func newInstallCommand(dockerCli *client.DockerCli) *cobra.Command {
|
| 22 |
+ var options pluginOptions |
|
| 17 | 23 |
cmd := &cobra.Command{
|
| 18 | 24 |
Use: "install", |
| 19 | 25 |
Short: "Install a plugin", |
| 20 | 26 |
Args: cli.RequiresMinArgs(1), // TODO: allow for set args |
| 21 | 27 |
RunE: func(cmd *cobra.Command, args []string) error {
|
| 22 |
- return runInstall(dockerCli, args[0], args[1:]) |
|
| 28 |
+ options.name = args[0] |
|
| 29 |
+ return runInstall(dockerCli, options) |
|
| 23 | 30 |
}, |
| 24 | 31 |
} |
| 25 | 32 |
|
| 33 |
+ flags := cmd.Flags() |
|
| 34 |
+ flags.BoolVar(&options.grantPerms, "grant-permissions", true, "grant all permissions necessary to run the plugin") |
|
| 35 |
+ |
|
| 26 | 36 |
return cmd |
| 27 | 37 |
} |
| 28 | 38 |
|
| 29 |
-func runInstall(dockerCli *client.DockerCli, name string, args []string) error {
|
|
| 30 |
- named, err := reference.ParseNamed(name) // FIXME: validate |
|
| 39 |
+func runInstall(dockerCli *client.DockerCli, options pluginOptions) error {
|
|
| 40 |
+ named, err := reference.ParseNamed(options.name) // FIXME: validate |
|
| 31 | 41 |
if err != nil {
|
| 32 | 42 |
return err |
| 33 | 43 |
} |
| ... | ... |
@@ -46,6 +56,6 @@ func runInstall(dockerCli *client.DockerCli, name string, args []string) error {
|
| 46 | 46 |
if err != nil {
|
| 47 | 47 |
return err |
| 48 | 48 |
} |
| 49 |
- // TODO: pass acceptAllPermissions and noEnable flag |
|
| 50 |
- return dockerCli.Client().PluginInstall(ctx, ref.String(), encodedAuth, false, false, dockerCli.In(), dockerCli.Out()) |
|
| 49 |
+ // TODO: pass noEnable flag |
|
| 50 |
+ return dockerCli.Client().PluginInstall(ctx, ref.String(), encodedAuth, options.grantPerms, false, dockerCli.In(), dockerCli.Out()) |
|
| 51 | 51 |
} |