Helm version manager inspired by
tfenv. It also manages the plugins, charts
and others. It basically assigns the variable HELM_HOME
, which by default
points to $HOME/.helm/
, to the path $HOME/.helm/$version
.
Currently helmenv supports the following OSes
- Mac OS X (64bit) - not really tested
- Linux
- 32bit
- 64bit
- Arm
- Arm64
- Check out helmenv into any path (
${HOME}/.helmenv
in the example)
git clone https://github.com/alexppg/helmenv.git ~/.helmenv
- Add
~/.bin
to your$PATH
echo 'export PATH="$HOME/.bin:$PATH"' >> ~/.bashrc
# Or
echo 'export PATH="$HOME/.bin:$PATH"' >> ~/.zshrc
- Source the script
echo 'source $HOME/.helmenv/helmenv.sh' >> ~/.bashrc
# Or
echo 'source $HOME/.helmenv/helmenv.sh' >> ~/.zshrc
$ helmenv help
Usage: helmenv <command> [<options>]
Commands:
list-remote List all installable versions
list List all installed versions
install Install a specific version
use Switch to specific version
uninstall Uninstall a specific version
List installable versions:
$ helmenv list-remote
Fetching versions...
v1.2.1
v2.0.0
v2.0.1
v2.0.2
...
List installed versions:
$ helmenv list
v2.10.0
v2.11.0
v2.12.3
Install a specific version:
$ helmenv install v2.10.0
Creating $HOME/.helm/v2.10.0
Creating $HOME/.helm/v2.10.0/repository
Creating $HOME/.helm/v2.10.0/repository/cache
Creating $HOME/.helm/v2.10.0/repository/local
Creating $HOME/.helm/v2.10.0/plugins
Creating $HOME/.helm/v2.10.0/starters
Creating $HOME/.helm/v2.10.0/cache/archive
Creating $HOME/.helm/v2.10.0/repository/repositories.yaml
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com
Adding local repo with URL: http://127.0.0.1:8879/charts
$HELM_HOME has been configured at $HOME/.helm/v2.10.0.
Not installing Tiller due to 'client-only' flag having been set
Happy Helming!
Switch to specific version:
$ helmenv use
Done! Now helm points to the v2.11.0 version
Uninstall a specific version:
$ helmenv uninstall 0.7.0
The version v2.12.3 is uninstalled!
There's a similar project for managing kubectl versions.
GPL3