2 releases

0.1.1 Jul 16, 2020
0.1.0 Dec 5, 2019

#2647 in Command line utilities

Apache-2.0 OR MIT

40KB
622 lines

CI Status Audit Status

felloe – Interactive Helm Version Management

Interactive Helm version management - For cluster hopping and trying new versions of helm and tiller before upgrading your production cluster.

terminal

Installation

Binary Release

  1. Download a version from one of the releases
  2. Unpack the archive
  3. Move the felloe binary and/or add it your PATH
  4. chmod a+x path/to/felloe

Homebrew

brew tap ddlees/felloe
brew install felloe

Chocolatey for Windows

choco install felloe

Crates.io

Install the package from crates.io:

cargo install felloe

# Reinstall or upgrade:
cargo install felloe --force

Build from source

Run the following to build from source:

git clone https://github.com/ddlees/felloe.git
cd felloe
cargo install --path .

# Reinstall or upgrade:
cargo install --path . --force

Completions

bash

$ felloe completions bash >> ~/.bash_profile # macos
$ felloe completions bash >> ~/.bashrc # linux

zsh

$ felloe completions zsh > /usr/local/share/zsh/site-functions/_felloe

fish

$ mkdir -p ~/.config/fish/completions # (optional)
$ felloe completions fish > ~/.config/fish/completions/felloe.fish

powershell

The powershell completion scripts require PowerShell v5.0+ (which comes with Windows 10, but can be downloaded separately for windows 7 or 8.1).

# Check for profile
C:\> Test-Path $profile

# Create profile if none exists
C:\> New-Item -path $profile -type file -force

# Append completions to profile
C:\> felloe completions powershell >>
${env:USERPROFILE}\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

elvish

# Create completions plugin
~> mkdir -p ~/.elvish/lib/completions
~> felloe completions elvish > ~/.elvish/lib/completions/felloe.elv

# Update rc.elv
~> echo "use completions/felloe" >> ~/.elvish/rc.elv

Usage

felloe --help

felloe 0.1.0
⎈ The helm version manager

USAGE:
    felloe [FLAGS] [OPTIONS] [version] [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -l, --latest     Show latest official helm version
    -V, --version    Prints version information

OPTIONS:
        --log-level <log-level>    

ARGS:
    <version>    

SUBCOMMANDS:
    completions    Generate completions for desired shell
    exec           Execute command with modified PATH, so downloaded helm <version> first
    help           Prints this message or the help of the given subcommand(s)
    latest         Install the latest official helm release
    list           Output downloaded versions
    prune          Remove all downloaded versions except the currently installed version
    remove         Remove the given installed version(s)
    run            Execute downloaded helm <version> with [args ...]
    uninstall      Remove the installed helm
    versions       Output matching versions available for download
    which          Output path for downloaded helm <version>

License

This work is dual-licensed under Apache 2.0 and MIT to help avoid problems using this software or its libraries with GPL2.

SPDX-License-Identifier: Apache-2.0 OR MIT

Attributions

This project was inspired by frequent cluster hopping, having to switch between versions of helm and the following projects:

  • pyenv - Python version manager
  • n - Node version manager
  • nvm - Node version manager

Dependencies

~24–36MB
~644K SLoC