@ -21,6 +21,10 @@ Helm plugins have the following features:
- They can be written in any programming language.
- They can be written in any programming language.
- They integrate with Helm, and will show up in `helm help` and other places.
- They integrate with Helm, and will show up in `helm help` and other places.
## Plugins Backends
### Native
Helm plugins live in `$(helm home)/plugins`.
Helm plugins live in `$(helm home)/plugins`.
The Helm plugin model is partially modeled on Git's plugin model. To that end,
The Helm plugin model is partially modeled on Git's plugin model. To that end,
@ -29,9 +33,27 @@ plugins being the _plumbing_. This is a shorthand way of suggesting that
Helm provides the user experience and top level processing logic, while the
Helm provides the user experience and top level processing logic, while the
plugins do the "detail work" of performing a desired action.
plugins do the "detail work" of performing a desired action.
## Installing a Plugin
### External
Helm external plugins can live anywhere in your `PATH`.
These plugins become necessary because of systems that are closed to manual
configuration and the only way to get software installed is by an administrator
managing the plugins at system level via a linux distribution package manager.
These plugins are going to be available globally. All users may use the plugin,
not limited to a user like Native Plugins.
The only condition for these plugins is that they provide the yaml description
in the folder `/usr/share`; and the full path should look like this
`/usr/share/<helm-external-plugin>/plugin.yaml`.
Plugins are installed using the `$ helm plugin install <path|url>` command. You can pass in a path to a plugin on your local file system or a url of a remote VCS repo. The `helm plugin install` command clones or copies the plugin at the path/url given into `$ (helm home)/plugins`
## Installing a Native Plugin
Native Plugins are installed using the `$ helm plugin install <path|url>` command.
You can pass in a path to a plugin on your local file system or a url of a remote
VCS repo. The `helm plugin install` command clones or copies the plugin at the