You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
789 B
Bash

#!/usr/bin/env bash
set -euo pipefail
# shellcheck disable=SC1091
source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh"
APP=kubectl
# https://dl.k8s.io/release/stable.txt
VERSION=${VERSION:-1.30.1}
DEST=${XDG_DATA_HOME}/apps/releases/${APP}
APP_PATH=${DEST}/${VERSION}/kubectl
main() (
URL=https://dl.k8s.io/release/v${VERSION}/bin/$(get_os)/$(get_arch)/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}"
)
get_arch() (
case $(uname -m) in
x86_64*) echo amd64 ;;
arm64*) echo arm64 ;;
*)
echo >&2 "unsupported architecture: $(uname -m)"
exit 1
;;
esac
)
main "${@}"