11#! /usr/bin/env bash
2+ echo " Installing dependencies..."
23source $( git rev-parse --show-toplevel) /ci3/source
4+ echo " Source loaded"
35
46os=$( uname | awk ' {print tolower($0)}' )
57
68# if kubectl is not installed, install it
79if ! command -v kubectl & > /dev/null; then
10+ echo " Installing kubectl..."
811 curl -LO " https://dl.k8s.io/release/$( curl -L -s https://dl.k8s.io/release/stable.txt) /bin/${os} /$( arch) /kubectl"
912 chmod +x kubectl
1013 sudo mv kubectl /usr/local/bin/kubectl
1114fi
1215
1316# Install kind if it is not installed
1417if ! command -v kind & > /dev/null; then
18+ echo " Installing kind..."
1519 curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/v0.23.0/kind-${os} -$( arch)
1620 chmod +x ./kind
1721 sudo mv ./kind /usr/local/bin/kind
1822fi
1923
2024# Install helm if it is not installed
2125if ! command -v helm & > /dev/null; then
26+ echo " Installing helm..."
2227 curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
2328 chmod +x get_helm.sh
2429 sudo ./get_helm.sh
2530 rm get_helm.sh
2631fi
2732
2833if ! command -v stern & > /dev/null; then
34+ echo " Installing stern..."
2935 # Download Stern
3036 curl -Lo stern.tar.gz https://github.com/stern/stern/releases/download/v1.31.0/stern_1.31.0_${os} _$( arch) .tar.gz
3137
@@ -44,6 +50,7 @@ if ! command -v stern &> /dev/null; then
4450fi
4551
4652if ! command -v gcloud & > /dev/null; then
53+ echo " Installing gcloud..."
4754 curl -Lo google-cloud-cli.tar.gz https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-$os -$( arch) .tar.gz
4855 tar -xzf google-cloud-cli.tar.gz
4956 rm google-cloud-cli.tar.gz
5764
5865# Install GKE auth plugin for kubectl
5966if command -v gcloud & > /dev/null; then
60- if dpkg -l google-cloud-cli 2> /dev/null | grep -q " ^ii" ; then
61- sudo apt-get update
62- sudo apt-get install -y google-cloud-cli-gke-gcloud-auth-plugin
67+ # Check if GKE auth plugin is already installed
68+ if command -v gke-gcloud-auth-plugin & > /dev/null ||
69+ gcloud components list --filter=" id:gke-gcloud-auth-plugin" --format=" value(state.name)" 2> /dev/null | grep -q " Installed" ; then
70+ : # do nothing
71+ elif dpkg -l google-cloud-cli 2> /dev/null | grep -q " ^ii" ; then
72+ # Check if apt package is already installed
73+ if dpkg -l google-cloud-cli-gke-gcloud-auth-plugin 2> /dev/null | grep -q " ^ii" ; then
74+ : # do nothing
75+ else
76+ echo " Installing GKE auth plugin for kubectl via apt..."
77+ sudo apt-get update
78+ sudo apt-get install -y google-cloud-cli-gke-gcloud-auth-plugin
79+ fi
6380 else
81+ echo " Installing GKE auth plugin for kubectl via gcloud components..."
6482 gcloud components install gke-gcloud-auth-plugin
6583 fi
6684fi
0 commit comments