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
		
	
			
		
		
	
	
			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 "${@}"
 |