66 lines
1.5 KiB
Bash
Executable File
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
|