devops/shuttles/terraform/terraform-provider-helm/helm/test-infra/install-helm-via-docker.sh

66 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
set -e
which docker > /dev/null
if [ "$?" != "0" ]; then
echo "Error: Docker not found"
exit 1
fi
if [ "$KUBE_DIR" == "" ]; then
echo "Error: Please specify KUBE_DIR"
exit 1
fi
if [ "$HELM_VERSION" == "" ]; then
echo "Error: Please specify HELM_VERSION"
exit 1
fi
if [ "$HELM_HOME" == "" ]; then
HELM_HOME=~/.helm
fi
if [ "$HYPERKUBE_VERSION" == "" ]; then
URL="https://console.cloud.google.com/gcr/images/google-containers/GLOBAL/hyperkube"
echo "Error: Please specify HYPERKUBE_VERSION"
echo " - Available versions: $URL"
exit 1
fi
echo "HELM_HOME=${HELM_HOME}"
docker version
DOCKER_KUBECTL="docker run -i --rm \
-v ${KUBE_DIR}:/root/.kube \
gcr.io/google-containers/hyperkube:${HYPERKUBE_VERSION} \
kubectl"
$DOCKER_KUBECTL version
echo "Creating Tiller service account ..."
$DOCKER_KUBECTL --namespace kube-system create sa tiller
echo "Creating ClusterRoleBinding for Tiller ..."
$DOCKER_KUBECTL create clusterrolebinding tiller \
--clusterrole cluster-admin \
--serviceaccount=kube-system:tiller
mkdir -p $HELM_HOME
ls -la $HELM_HOME
DOCKER_HELM="docker run -i --rm \
-v $(pwd):/apps \
-v ${HELM_HOME}:/.helm \
-v ${KUBE_DIR}:/.kube \
--user $(id -u):$(id -g) \
alpine/helm:${HELM_VERSION}"
echo "Helm client version:"
$DOCKER_HELM version -c
echo "Initializing Helm ..."
$DOCKER_HELM init --service-account tiller
echo "Verifying Helm ..."
$DOCKER_KUBECTL get deploy,svc tiller-deploy -n kube-system