Merge pull request #6953 from bacongobbler/fix-get-script-take-2

fix(get): hard code DESIRED_VERSION when unset
pull/6959/head
Matthew Fisher 5 years ago committed by GitHub
commit 84de17e7e5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -78,13 +78,16 @@ verifySupported() {
# checkDesiredVersion checks if the desired version is available. # checkDesiredVersion checks if the desired version is available.
checkDesiredVersion() { checkDesiredVersion() {
if [ "x$DESIRED_VERSION" == "x" ]; then if [ "x$DESIRED_VERSION" == "x" ]; then
# FIXME(bacongobbler): hard code the desired version for the time being.
# A better fix would be to filter for Helm 2 release pages.
TAG="v2.16.1"
# Get tag from release URL # Get tag from release URL
local latest_release_url="https://github.com/helm/helm/releases/latest" # local latest_release_url="https://github.com/helm/helm/releases/latest"
if type "curl" > /dev/null; then # if type "curl" > /dev/null; then
TAG=$(curl -Ls -o /dev/null -w %{url_effective} $latest_release_url | grep -oE "[^/]+$" ) # TAG=$(curl -Ls -o /dev/null -w %{url_effective} $latest_release_url | grep -oE "[^/]+$" )
elif type "wget" > /dev/null; then # elif type "wget" > /dev/null; then
TAG=$(wget $latest_release_url --server-response -O /dev/null 2>&1 | awk '/^ Location: /{DEST=$2} END{ print DEST}' | grep -oE "[^/]+$") # TAG=$(wget $latest_release_url --server-response -O /dev/null 2>&1 | awk '/^ Location: /{DEST=$2} END{ print DEST}' | grep -oE "[^/]+$")
fi # fi
else else
TAG=$DESIRED_VERSION TAG=$DESIRED_VERSION
fi fi
@ -213,9 +216,7 @@ while [[ $# -gt 0 ]]; do
'--version'|-v) '--version'|-v)
shift shift
if [[ $# -ne 0 ]]; then if [[ $# -ne 0 ]]; then
# FIXME(bacongobbler): hard code the desired version for the time being. export DESIRED_VERSION="${1}"
# A better fix would be to filter for Helm 2 release pages.
export DESIRED_VERSION="${1:="v2.16.1"}"
else else
echo -e "Please provide the desired version. e.g. --version v2.4.0 or -v latest" echo -e "Please provide the desired version. e.g. --version v2.4.0 or -v latest"
exit 0 exit 0

@ -18,7 +18,6 @@
# the package manager for Go: https://github.com/Masterminds/glide.sh/blob/master/get # the package manager for Go: https://github.com/Masterminds/glide.sh/blob/master/get
PROJECT_NAME="helm" PROJECT_NAME="helm"
TILLER_NAME="tiller"
: ${USE_SUDO:="true"} : ${USE_SUDO:="true"}
: ${HELM_INSTALL_DIR:="/usr/local/bin"} : ${HELM_INSTALL_DIR:="/usr/local/bin"}
@ -94,7 +93,7 @@ checkDesiredVersion() {
# if it needs to be changed. # if it needs to be changed.
checkHelmInstalledVersion() { checkHelmInstalledVersion() {
if [[ -f "${HELM_INSTALL_DIR}/${PROJECT_NAME}" ]]; then if [[ -f "${HELM_INSTALL_DIR}/${PROJECT_NAME}" ]]; then
local version=$("${HELM_INSTALL_DIR}/${PROJECT_NAME}" version -c | grep '^Client' | cut -d'"' -f2) local version=$("${HELM_INSTALL_DIR}/${PROJECT_NAME}" version --template="{{ .Version }}")
if [[ "$version" == "$TAG" ]]; then if [[ "$version" == "$TAG" ]]; then
echo "Helm ${version} is already ${DESIRED_VERSION:-latest}" echo "Helm ${version} is already ${DESIRED_VERSION:-latest}"
return 0 return 0
@ -143,16 +142,9 @@ installFile() {
mkdir -p "$HELM_TMP" mkdir -p "$HELM_TMP"
tar xf "$HELM_TMP_FILE" -C "$HELM_TMP" tar xf "$HELM_TMP_FILE" -C "$HELM_TMP"
HELM_TMP_BIN="$HELM_TMP/$OS-$ARCH/$PROJECT_NAME" HELM_TMP_BIN="$HELM_TMP/$OS-$ARCH/$PROJECT_NAME"
TILLER_TMP_BIN="$HELM_TMP/$OS-$ARCH/$TILLER_NAME" echo "Preparing to install $PROJECT_NAME into ${HELM_INSTALL_DIR}"
echo "Preparing to install $PROJECT_NAME and $TILLER_NAME into ${HELM_INSTALL_DIR}"
runAsRoot cp "$HELM_TMP_BIN" "$HELM_INSTALL_DIR" runAsRoot cp "$HELM_TMP_BIN" "$HELM_INSTALL_DIR"
echo "$PROJECT_NAME installed into $HELM_INSTALL_DIR/$PROJECT_NAME" echo "$PROJECT_NAME installed into $HELM_INSTALL_DIR/$PROJECT_NAME"
if [ -x "$TILLER_TMP_BIN" ]; then
runAsRoot cp "$TILLER_TMP_BIN" "$HELM_INSTALL_DIR"
echo "$TILLER_NAME installed into $HELM_INSTALL_DIR/$TILLER_NAME"
else
echo "info: $TILLER_NAME binary was not found in this release; skipping $TILLER_NAME installation"
fi
} }
# fail_trap is executed if an error occurs. # fail_trap is executed if an error occurs.
@ -180,15 +172,14 @@ testVersion() {
exit 1 exit 1
fi fi
set -e set -e
echo "Run '$PROJECT_NAME init' to configure $PROJECT_NAME."
} }
# help provides possible cli installation arguments # help provides possible cli installation arguments
help () { help () {
echo "Accepted cli arguments are:" echo "Accepted cli arguments are:"
echo -e "\t[--help|-h ] ->> prints this help" echo -e "\t[--help|-h ] ->> prints this help"
echo -e "\t[--version|-v <desired_version>] . When not defined it defaults to latest" echo -e "\t[--version|-v <desired_version>] . When not defined it fetches the latest release from GitHub"
echo -e "\te.g. --version v2.4.0 or -v latest" echo -e "\te.g. --version v3.0.0 or -v canary"
echo -e "\t[--no-sudo] ->> install without sudo" echo -e "\t[--no-sudo] ->> install without sudo"
} }
@ -215,7 +206,7 @@ while [[ $# -gt 0 ]]; do
if [[ $# -ne 0 ]]; then if [[ $# -ne 0 ]]; then
export DESIRED_VERSION="${1}" export DESIRED_VERSION="${1}"
else else
echo -e "Please provide the desired version. e.g. --version v2.4.0 or -v latest" echo -e "Please provide the desired version. e.g. --version v3.0.0 or -v canary"
exit 0 exit 0
fi fi
;; ;;

Loading…
Cancel
Save