From dddbd16305284ae4bd14c0aade892412310d7edc Mon Sep 17 00:00:00 2001 From: Erik Wilson Date: Wed, 25 Mar 2020 11:34:34 -0700 Subject: [PATCH] Use channel server for install script --- install.sh | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/install.sh b/install.sh index 57a8ad36fd..167b6cd1e8 100755 --- a/install.sh +++ b/install.sh @@ -33,8 +33,8 @@ set -e # If set to true will not start k3s service. # # - INSTALL_K3S_VERSION -# Version of k3s to download from github. Will attempt to download the -# latest version if not specified. +# Version of k3s to download from github. Will attempt to download from the +# stable channel if not specified. # # - INSTALL_K3S_COMMIT # Commit of k3s to download from temporary cloud storage. @@ -75,6 +75,14 @@ set -e # # - INSTALL_K3S_SELINUX_WARN # If set to true will continue if k3s-selinux policy is not found. +# +# - INSTALL_K3S_CHANNEL_URL +# Channel URL for fetching k3s download URL. +# Defaults to 'https://update.k3s.io/v1-release/channels'. +# +# - INSTALL_K3S_CHANNEL +# Channel to use for fetching k3s download URL. +# Defaults to 'stable'. GITHUB_URL=https://github.com/rancher/k3s/releases STORAGE_URL=https://storage.googleapis.com/k3s-ci-builds @@ -229,6 +237,10 @@ setup_env() { if [ "${INSTALL_K3S_BIN_DIR_READ_ONLY}" = true ]; then INSTALL_K3S_SKIP_DOWNLOAD=true fi + + # --- setup channel values + INSTALL_K3S_CHANNEL_URL=${INSTALL_K3S_CHANNEL_URL:-'https://update.k3s.io/v1-release/channels'} + INSTALL_K3S_CHANNEL=${INSTALL_K3S_CHANNEL:-'stable'} } # --- check if skip download environment variable set --- @@ -301,20 +313,21 @@ setup_tmp() { trap cleanup INT EXIT } -# --- use desired k3s version if defined or find latest --- +# --- use desired k3s version if defined or find version from channel --- get_release_version() { if [ -n "${INSTALL_K3S_COMMIT}" ]; then VERSION_K3S="commit ${INSTALL_K3S_COMMIT}" elif [ -n "${INSTALL_K3S_VERSION}" ]; then VERSION_K3S=${INSTALL_K3S_VERSION} else - info "Finding latest release" + info "Finding release for channel ${INSTALL_K3S_CHANNEL}" + version_url="${INSTALL_K3S_CHANNEL_URL}/${INSTALL_K3S_CHANNEL}" case $DOWNLOADER in curl) - VERSION_K3S=$(curl -w '%{url_effective}' -I -L -s -S ${GITHUB_URL}/latest -o /dev/null | sed -e 's|.*/||') + VERSION_K3S=$(curl -w '%{url_effective}' -L -s -S ${version_url} -o /dev/null | sed -e 's|.*/||') ;; wget) - VERSION_K3S=$(wget -SqO /dev/null ${GITHUB_URL}/latest 2>&1 | grep -i Location | sed -e 's|.*/||') + VERSION_K3S=$(wget -SqO /dev/null ${version_url} 2>&1 | grep -i Location | sed -e 's|.*/||') ;; *) fatal "Incorrect downloader executable '$DOWNLOADER'"