#!/usr/bin/env bash set -e MINIKUBE_VERSION=${MINIKUBE_VERSION:-v1.9.2} PREFIX_DIR=/usr/local BIN_DIR=${PREFIX_DIR}/bin MINIKUBE_PREFIX_DIR=${PREFIX_DIR}/apps/minikube MINIKUBE_DEST_DIR=${MINIKUBE_PREFIX_DIR}/${MINIKUBE_VERSION} MINIKUBE_CURRENT=${MINIKUBE_PREFIX_DIR}/current if [[ $(uname) =~ Linux ]]; then OS=linux elif [[ $(uname) =~ Darwin ]]; then OS=darwin else echo "unsupported os: $(uname)" exit 1 fi ARCH= if [[ $(uname -m) == x86_64 ]]; then ARCH=amd64 else echo arch not yet supported: "$(uname -m)" exit 1 fi TMP_DIR= if [[ ! -d ${MINIKUBE_DEST_DIR} ]]; then sudo mkdir -p "${MINIKUBE_DEST_DIR}" TMP_DIR=$(mktemp --directory) DEST_FILE="${TMP_DIR}"/minikube URL="https://github.com/kubernetes/minikube/releases/download/${MINIKUBE_VERSION}/minikube-${OS}-${ARCH}" echo downloading minikube "${MINIKUBE_VERSION}" to temp directory "${TMP_DIR}" curl --silent --location --output "${DEST_FILE}" "${URL}" sudo chmod 755 "${DEST_FILE}" sudo mv "${DEST_FILE}" "${MINIKUBE_DEST_DIR}" sudo chown --recursive root:root "${MINIKUBE_DEST_DIR}" else echo minikube "${MINIKUBE_VERSION}" already installed fi cd "${MINIKUBE_PREFIX_DIR}" [[ -s current ]] && sudo unlink current sudo ln --symbolic "${MINIKUBE_VERSION}"/ current echo current version set to "${MINIKUBE_VERSION}" cd ${BIN_DIR} [[ -L ${BIN_DIR}/minikube ]] || sudo ln --symbolic ${MINIKUBE_CURRENT}/minikube if [[ $TMP_DIR != "" ]]; then rm -rf "${TMP_DIR}" echo removed up temp directory "${TMP_DIR}" fi