* Adds update option to plugin command
Fixes issues/2385 - helm install silently updates the plugin, if it pre-existed
* Added tests for new methods for plugin update
* Updated docs
* Updated review comments :)
* Return error exit code when there is error
It is now possible to create plugins with chart download capabilities for custom, non-http protocols.
Furthermore it is possible to reuse helm packages to implement alternative clients with these custom downloader functions.
Add plugin management subcommands for installing and removing plugins
to `$HELM_HOST/plugins`.
Install accepts a vcs url or a local directory.
```
$ helm plugin install http://github.com/adamreese/helm-env
Installed plugin: env
$ helm plugin list
NAME VERSION DESCRIPTION
env 0.1.0 Print out the helm environment.
$ helm plugin remove env
Removed plugin: env
```
closes#1977
In the TestLoadDir test case, currently reflect.DeepEqual is expected to fail by error. Expected metadata is different than in the fixture yaml. Also, the type of the struct is mismatching in DeepEqual call (struct vs pointer to struct).