Add a way to install Helm

Signed-off-by: Rémy Coutable <remy@rymai.me>
This commit is contained in:
Rémy Coutable 2022-06-30 15:22:16 +02:00
parent 345189653e
commit ec7e89bd00
No known key found for this signature in database
GPG key ID: 4C514D15D07186F1
5 changed files with 45 additions and 42 deletions

19
scripts/install-helm Executable file
View file

@ -0,0 +1,19 @@
#!/bin/bash
set -xeou pipefail
HELM_VERSION=${1}
HELM_DOWNLOAD_SHA256=${2}
HELM_DOWNLOAD_URL="https://get.helm.sh/helm-v${HELM_VERSION}-linux-$(dpkg --print-architecture).tar.gz"
curl -fsSL "${HELM_DOWNLOAD_URL}" -o helm.tar.gz
echo "${HELM_DOWNLOAD_SHA256} helm.tar.gz" | sha256sum -c -
tar -xzf helm.tar.gz --strip-components=1
rm helm.tar.gz
chmod +x helm
mv helm /usr/bin/
helm version --client

View file

@ -284,6 +284,22 @@ function print_kubectl_args() {
printf -- "--build-arg KUBECTL_DOWNLOAD_SHA256=%s " "${KUBECTL_DOWNLOAD_SHA256[$CUSTOM_DOCKER_ARCH]}"
}
function print_helm_args() {
declare -A HELM_DOWNLOAD_SHA256
case "$1" in
3.5)
HELM_VERSION=3.5.3
HELM_DOWNLOAD_SHA256[amd64]=2170a1a644a9e0b863f00c17b761ce33d4323da64fc74562a3a6df2abbf6cd70
HELM_DOWNLOAD_SHA256[arm64]=e1348d94ce4caace43689ee2dfa5f8bcd8687c12053d9c13d79875b65d6b72aa
;;
*) echo "Unknown helm version $1"; exit 1;
esac
printf -- "--build-arg HELM_VERSION=%s " "$HELM_VERSION"
printf -- "--build-arg HELM_DOWNLOAD_SHA256=%s " "${HELM_DOWNLOAD_SHA256[$CUSTOM_DOCKER_ARCH]}"
}
function parse_arguments() {
printf -- "-f Dockerfile.custom "
@ -331,6 +347,7 @@ function parse_arguments() {
BAZELISK) print_bazelisk_args $version ;;
GCLOUD) print_gcloud_args $version ;;
KUBECTL) print_kubectl_args $version ;;
HELM) print_helm_args $version ;;
*) echo "unknown tool $tool"; exit 1;;
esac
fi
@ -340,7 +357,6 @@ function parse_arguments() {
printf -- "--build-arg CUSTOM_IMAGE_NAME=%s " "$CUSTOM_IMAGE_NAME"
printf -- "--build-arg CUSTOM_IMAGE_VERSION=%s " "$CUSTOM_IMAGE_VERSION"
printf -- "--build-arg DEBIAN_VERSION=%s " "$CUSTOM_IMAGE_VERSION"
}
function generate_command() {

View file

@ -1,5 +1,5 @@
PATH_TOOLS=(DEBIAN RUBY GOLANG NODE POSTGRESQL)
TAG_TOOLS=(BUNDLER RUBYGEMS GIT LFS CHROME YARN GRAPHICSMAGICK PGBOUNCER BAZELISK DOCKER BUILDX GCLOUD KUBECTL)
TAG_TOOLS=(BUNDLER RUBYGEMS GIT LFS CHROME YARN GRAPHICSMAGICK PGBOUNCER BAZELISK DOCKER BUILDX GCLOUD KUBECTL HELM)
function get_image_path() {
local path