dotfiles/.functions/tools.sh

61 lines
2.4 KiB
Bash
Raw Permalink Normal View History

2022-07-07 17:09:57 +00:00
function upgrade_tools(){
2022-09-30 08:51:55 +00:00
echo "Install/Upgrade client tools"
2022-07-07 17:09:57 +00:00
echo "- kubectl"
echo "- helm"
echo "- stern"
if asktobreak; then
return
fi
echo "---- kubectl ----"
2022-09-30 08:51:55 +00:00
local CURRENT_PWD="$(pwd)"
2022-07-07 17:09:57 +00:00
cd $HOME/bin
if [[ -f kubectl ]]; then
KUBECTL_CURRENT=$(./kubectl version --client 2> /dev/null| sed -n 's/.* GitVersion:"\(v[0-9]*\.[0-9]*\.[0-9]*\)".*/\1/p')
else
KUBECTL_CURRENT="N/A"
fi
KUBECTL_STABLE="$(curl -L -s https://dl.k8s.io/release/stable.txt)"
echo "Installed version: $KUBECTL_CURRENT"
echo "Latest stable version: $KUBECTL_STABLE"
if [[ "$KUBECTL_CURRENT" != "$KUBECTL_STABLE" ]]; then
echo "updating to $KUBECTL_STABLE"
curl -LO https://dl.k8s.io/release/$KUBECTL_STABLE/bin/linux/amd64/kubectl
chmod +x kubectl
fi
echo ""
echo "---- helm ----"
if [[ -f helm ]]; then
HELM_CURRENT=$(./helm version | sed -n 's/.*Version:"\(v[0-9]*\.[0-9]*\.[0-9]*\)".*/\1/p')
else
HELM_CURRENT="N/A"
fi
HELM_STABLE="$(curl -Ls https://github.com/helm/helm/releases | egrep 'href="/helm/helm/releases/tag/v[0-9]+.[0-9]+.[0-9]+\"' | head -n 1 | sed -n 's/.*tag\/\(v.*\)" data.*/\1/p')"
echo "Installed version: $HELM_CURRENT"
echo "Latest stable version: $HELM_STABLE"
if [[ "$HELM_CURRENT" != "$HELM_STABLE" ]]; then
echo "updating to $HELM_STABLE"
curl -LO https://get.helm.sh/helm-$HELM_STABLE-linux-amd64.tar.gz
tar xvzf helm-$HELM_STABLE-linux-amd64.tar.gz --strip-components=1 linux-amd64/helm
rm helm-$HELM_STABLE-linux-amd64.tar.gz
fi
echo ""
echo "---- stern ----"
if [[ -f stern ]]; then
STERN_CURRENT="v$(./stern -v | head -n1 | cut -d " " -f2)"
else
STERN_CURRENT="N/A"
fi
STERN_STABLE="$(curl -Ls https://github.com/stern/stern/releases | egrep 'href="/stern/stern/releases/tag/v[0-9]+.[0-9]+.[0-9]+*\"' | head -n 1 | sed -n 's/.*tag\/\(v.*\)" data.*/\1/p')"
echo "Installed version: $STERN_CURRENT"
echo "Latest stable version: $STERN_STABLE"
if [[ "$STERN_CURRENT" != "$STERN_STABLE" ]]; then
echo "updating to $STERN_STABLE"
2022-09-30 08:51:55 +00:00
curl -LO https://github.com/stern/stern/releases/download/$STERN_STABLE/stern_${STERN_STABLE:1}_linux_amd64.tar.gz
tar xvzf stern_${STERN_STABLE:1}_linux_amd64.tar.gz stern
2022-07-07 17:09:57 +00:00
rm stern_${STERN_STABLE:1}_linux_amd64.tar.gz
fi
echo ""
2022-09-30 08:51:55 +00:00
cd "$CURRENT_PWD"
2022-07-07 17:09:57 +00:00
}