func/hack/binaries.sh

85 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Installs binaries on linux systems.
#
# Note that there are multiple 'yq's out there. The one we want is kislyuk/yq,
# which is a thin wrapper around jq.
set -o errexit
set -o nounset
set -o pipefail
export TERM="${TERM:-dumb}"
main() {
local kubectl_version=v1.24.6
local kind_version=v0.16.0
local dapr_version=v1.9.1
local helm_version=v3.11.0
local stern_version=1.25.0
local em=$(tput bold)$(tput setaf 2)
local me=$(tput sgr0)
echo "${em}Fetching Binaries...${me}"
install_kubectl
install_kind
install_yq
install_dapr
install_helm
install_stern
echo "${em}DONE${me}"
}
install_kubectl() {
echo 'Installing kubectl...'
curl -sSLO "https://storage.googleapis.com/kubernetes-release/release/$kubectl_version/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
kubectl version --client=true
}
install_kind() {
echo 'Installing kind...'
curl -sSLo kind "https://github.com/kubernetes-sigs/kind/releases/download/$kind_version/kind-linux-amd64"
chmod +x kind
sudo mv kind /usr/local/bin/
kind version
}
install_yq() {
echo 'Installing yq...'
sudo pip3 install yq
yq --version
}
install_dapr() {
echo 'Installing dapr...'
curl -sSLo dapr.tgz "https://github.com/dapr/cli/releases/download/$dapr_version/dapr_linux_amd64.tar.gz"
tar -xvf dapr.tgz
chmod +x dapr
sudo mv dapr /usr/local/bin/
dapr version
}
install_helm() {
echo 'Installing helm (v3)...'
curl -sSLo helm.tgz "https://get.helm.sh/helm-$helm_version-linux-amd64.tar.gz"
tar -xvf helm.tgz
chmod +x linux-amd64/helm
sudo mv linux-amd64/helm /usr/local/bin/
helm version
}
install_stern() {
echo 'Installing stern...'
curl -sSL "https://github.com/stern/stern/releases/download/v${stern_version}/stern_${stern_version}_linux_amd64.tar.gz" | \
tar fxz - -C /usr/local/bin/ stern
stern -v
}
main "$@"