mirror of
https://github.com/cloudnativelabs/kube-router.git
synced 2025-10-03 05:51:08 +02:00
73 lines
2.4 KiB
Bash
Executable File
73 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
# vim: noai:ts=2:sw=2:set expandtab
|
|
set -e
|
|
|
|
if [ -z "${HACK_DIR}" ]; then
|
|
echo "ERROR: HACK_DIR must be specified."
|
|
echo
|
|
echo "## Example"
|
|
echo "HACK_DIR=\"\$\(CDPATH=i\'\' cd -- \"\$\(dirname -- \"\$0\"\)\" \&\& pwd -P\)\""
|
|
echo "export HACK_DIR"
|
|
echo ". ${0}"
|
|
echo
|
|
exit 1
|
|
fi
|
|
|
|
REPO_DIR="$(dirname "${HACK_DIR}")"
|
|
HACK_TMP_DIR="${HACK_DIR}/_cache"
|
|
HACK_MANIFEST_DIRS="${REPO_DIR}/contrib/bootkube"
|
|
export HACK_MANIFEST_DIRS
|
|
|
|
[ -z "${DEV_IMG}" ] && DEV_IMG="cloudnativelabs/kube-router-git:latest"
|
|
[ -z "${BK_VERSION}" ] && BK_VERSION="v0.6.0_kube-router"
|
|
[ -z "${BK_CLONE_URL}" ] && BK_CLONE_URL="https://github.com/bzub/bootkube.git"
|
|
[ -z "${BK_CLONE_DIR}" ] && BK_CLONE_DIR="${HACK_TMP_DIR}/bootkube"
|
|
|
|
if [ -z "${HACK_MULTI_NODE}" ]; then
|
|
BK_HACK_DIR="${BK_CLONE_DIR}/hack/single-node"
|
|
else
|
|
BK_HACK_DIR="${BK_CLONE_DIR}/hack/multi-node"
|
|
fi
|
|
export BK_HACK_DIR
|
|
|
|
BK_SHORTCUT_DIR="/tmp/kr-vagrant-shortcut"
|
|
export BK_SHORTCUT_DIR
|
|
|
|
[ -z "${KR_IMAGE_TAG}" ] && KR_IMAGE_TAG="test.kube-router.io"
|
|
[ -z "${KR_MANIFEST}" ] && KR_MANIFEST="kube-router.yaml"
|
|
[ -z "${docker}" ] && docker="sudo docker"
|
|
KR_MANIFEST_PATH="${BK_CLONE_DIR}/hack/custom-manifests/${KR_MANIFEST}"
|
|
export KR_MANIFEST_PATH
|
|
|
|
# TODO: Dynamically determine this from Bootkube version/source
|
|
[ -z "${HYPERKUBE_IMG}" ] && HYPERKUBE_IMG="quay.io/coreos/hyperkube"
|
|
[ -z "${HYPERKUBE_IMG_TAG}" ] && HYPERKUBE_IMG_TAG="v1.7.1_coreos.0"
|
|
HYPERKUBE_IMG_URL="${HYPERKUBE_IMG}:${HYPERKUBE_IMG_TAG}"
|
|
export HYPERKUBE_IMG_URL
|
|
HACK_IMG_CACHE_DIR="${BK_CLONE_DIR}/hack/local-images"
|
|
export HACK_IMG_CACHE_DIR
|
|
HACK_ACI_CACHE_FILE="${HACK_IMG_CACHE_DIR}/hyperkube-${HYPERKUBE_IMG_TAG}.aci"
|
|
export HACK_ACI_CACHE_FILE
|
|
HACK_DOCKER_CACHE_FILE="${HACK_IMG_CACHE_DIR}/hyperkube-${HYPERKUBE_IMG_TAG}.docker"
|
|
export HACK_DOCKER_CACHE_FILE
|
|
|
|
# Export the kube-router container image
|
|
export_latest_image() {
|
|
mkdir -p "${HACK_IMG_CACHE_DIR}"
|
|
eval "${docker}" tag ${DEV_IMG} "${KR_IMAGE_TAG}"
|
|
eval "${docker}" save "${KR_IMAGE_TAG}" -o "${HACK_IMG_CACHE_DIR}/kube-router.docker"
|
|
}
|
|
|
|
# Re-pull the kube-router container image file within the VM
|
|
# Usage: update_image_in_vm() VM_NAME
|
|
update_image_in_vm() {
|
|
if [ -z "${1}" ]; then
|
|
echo "ERROR: VM name required."
|
|
echo "Usage: update_image_in_vm() VM_NAME"
|
|
return 1
|
|
fi
|
|
|
|
vagrant rsync "${i}"
|
|
vagrant ssh "${i}" -c "docker load -i /var/tmp/images/kube-router.docker"
|
|
}
|