#!/usr/bin/env bash
# 文件名: istioctl_install.sh
# 作者: 树辉<shuhui@vqiu.cn>
# vim:sw=4:ts=4:et

set -e

# 终端颜色定义
txtbld=$(tput bold)             # Bold
bldred=${txtbld}$(tput setaf 1) # red
bldgre=${txtbld}$(tput setaf 2) # green
bldylw=${txtbld}$(tput setaf 3) # yellow
txtrst=$(tput sgr0)             # Reset
err=${bldred}ERROR${txtrst}
info=${bldgre}INFO${txtrst}
warn=${bldylw}WARNING${txtrst}

TEMP_PATH=$(mktemp -d)
BIN_FILE=/usr/bin/istioctl
VERSION=1.19.10

# 判断环境平台
if [ -z "${ARCH}" ]; then
  case $(uname -m) in
    x86_64) ARCH=amd64 ;;
    aarch64) ARCH=arm64 ;;
    *) printf "$err: 不支持该平台 $(uname -m)\n"; exit 1 ;;
  esac
fi

if [[ ! -e ${BIN_FILE} ]]
then

    printf "$info: [ istioctl ] 安装中...\n"

    sed -n -e '1,/^exit 0$/!p' $0 > ${TEMP_PATH}/istioctl-${VERSION}.tar.xz 2>/dev/null
    tar axvf ${TEMP_PATH}/istioctl-${VERSION}.tar.xz  -C ${TEMP_PATH} >/dev/null

    cp -rf ${TEMP_PATH}/istioctl-${ARCH} ${BIN_FILE} >/dev/null 2>/dev/null
    chmod +x ${BIN_FILE} >/dev/null 2>/dev/null
else
    printf "$err: istioctl 已安装~\n"
    exit 0
fi

rm -rf ${TEMP_PATH}
exit 0
