diff --git a/install-scripts/.local/bin/install-kubectl b/install-scripts/.local/bin/install-kubectl new file mode 100755 index 0000000..89f7e96 --- /dev/null +++ b/install-scripts/.local/bin/install-kubectl @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +# shellcheck disable=SC1090 +source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh" + +set -e + +get_arch () { + case $(uname -m) in + x86_64*) echo amd64;; + arm64*) echo arm64;; + *) >&2 echo "unsupported architecture: $(uname -m)"; exit 1;; + esac +} + +APP=kubectl +# https://dl.k8s.io/release/stable.txt +VERSION=${VERSION:-1.23.5} +DEST=${XDG_DATA_HOME}/apps/releases/${APP} +URL=https://dl.k8s.io/release/v${VERSION}/bin/$(get_os)/$(get_arch)/kubectl + +APP_PATH=${DEST}/${VERSION}/kubectl +if [[ ! -f "${APP_PATH}" ]]; then + mkdir -p "${DEST}/${VERSION}" + curl --silent --location --output "${APP_PATH}" "${URL}" + chmod +x "${APP_PATH}" +fi + +set_current_link "${DEST}" "${VERSION}" +set_link "${XDG_BIN_HOME}/${APP}" "${DEST}" "${APP}"