@@ -20,13 +20,15 @@ declare -r OC_VERSION=${OC_VERSION:-4.18.1}
2020declare -r KUBECTL_VERSION=${KUBECTL_VERSION:- v1.28.4}
2121declare -r SHFMT_VERSION=${SHFMT_VERSION:- v3.7.0}
2222declare -r JQ_VERSION=${JQ_VERSION:- 1.7}
23+ declare -r HELM_VERSION=${HELM_VERSION:- v3.18.1}
2324
2425# install
2526declare -r KUSTOMIZE_INSTALL_SCRIPT=" https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"
2627declare -r OPERATOR_SDK_INSTALL=" https://github.com/operator-framework/operator-sdk/releases/download/$OPERATOR_SDK_VERSION /operator-sdk_${GOOS} _${GOARCH} "
2728declare -r YQ_INSTALL=" https://github.com/mikefarah/yq/releases/download/$YQ_VERSION /yq_${GOOS} _${GOARCH} "
2829declare -r OC_URL=" https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OC_VERSION "
2930declare -r JQ_INSTALL_URL=" https://github.com/jqlang/jq/releases/download/jq-$JQ_VERSION "
31+ declare -r HELM_INSTALL_URL=" https://get.helm.sh"
3032
3133source " $PROJECT_ROOT /hack/utils.bash"
3234
@@ -225,6 +227,33 @@ install_jq() {
225227 ok " jq was installed successfully"
226228}
227229
230+ version_helm () {
231+ helm version
232+ }
233+
234+ install_helm () {
235+ local version_regex=" Version:\" $HELM_VERSION \" "
236+ validate_version helm version " $version_regex " && return 0
237+
238+ info " installing helm version: $HELM_VERSION "
239+ local helm_tar=" helm-${HELM_VERSION} -${GOOS} -${GOARCH} .tar.gz"
240+ local install_url=" $HELM_INSTALL_URL /$helm_tar "
241+
242+ local helm_tmp=" $LOCAL_BIN /tmp-helm"
243+ mkdir -p " $helm_tmp "
244+
245+ curl -sSL " $install_url " | tar -xzf - -C " $helm_tmp " || {
246+ fail " failed to install helm"
247+ return 1
248+ }
249+
250+ mv " $helm_tmp /$GOOS -$GOARCH /helm" " $LOCAL_BIN /"
251+ chmod +x " $LOCAL_BIN /helm"
252+ rm -rf " $helm_tmp "
253+
254+ ok " helm was installed successfully"
255+ }
256+
228257install_all () {
229258 info " installing all tools ..."
230259 local ret=0
0 commit comments