updated for sc

This commit is contained in:
Marius Pana 2018-02-12 17:44:56 +02:00
parent dab09df51d
commit 2741fe5d94

View File

@ -6,7 +6,7 @@ triton_compose_version=1.9.0
# Check if triton is installed and executable
function checkTritonInstalled () {
command -v triton >/dev/null 2>&1 || { echo >&2 "Triton CLI tools do not appear to be installed. Please install before continuing."; exit 1; }
command -v spearhead >/dev/null 2>&1 || { echo >&2 "Spearhead CLI tools do not appear to be installed. Please install before continuing."; exit 1; }
}
# Check if curl is installed and executable
@ -14,19 +14,19 @@ function checkCurlInstalled () {
command -v curl >/dev/null 2>&1 || { echo >&2 "curl is required to complete this installation. Please install before continuing."; exit 1; }
}
# Check if the Docker binary (named triton-docker-helper)
# and Docker Compose (named triton-compose-helper) are installed and executable
# Check if the Docker binary (named spearhead-docker-helper)
# and Docker Compose (named spearhead-compose-helper) are installed and executable
function checkDockerInstalled () {
if
[ ! -f /usr/local/bin/triton-docker-helper ] ||
[ ! -x /usr/local/bin/triton-docker-helper ] ||
[ "${triton_docker_version}," != "$(/usr/local/bin/triton-docker-helper -v | awk '{print $3}')" ] ||
[ ! -f /usr/local/bin/triton-compose-helper ] ||
[ ! -x /usr/local/bin/triton-compose-helper ] ||
[ "${triton_compose_version}," != "$(/usr/local/bin/triton-compose-helper -v | awk '{print $3}')" ]
if
[ ! -f /usr/local/bin/spearhead-docker-helper ] ||
[ ! -x /usr/local/bin/spearhead-docker-helper ] ||
[ "${triton_docker_version}," != "$(/usr/local/bin/spearhead-docker-helper -v | awk '{print $3}')" ] ||
[ ! -f /usr/local/bin/spearhead-compose-helper ] ||
[ ! -x /usr/local/bin/spearhead-compose-helper ] ||
[ "${triton_compose_version}," != "$(/usr/local/bin/spearhead-compose-helper -v | awk '{print $3}')" ]
then
echo 'Additional or updated components are required.'
echo 'Please run `sudo triton-docker-install` to continue.'
echo 'Please run `sudo spearhead-docker-install` to continue.'
echo
exit 1
fi
@ -34,44 +34,44 @@ function checkDockerInstalled () {
# Install architecture-specific Docker and Docker Compose binaries
function install () {
echo "Triton needs to install additional components for Docker and Docker Compose interactions."
echo "Spearhead Cloud needs to install additional components for Docker and Docker Compose interactions."
echo "This installation will only happen once."
# Check if curl is installed and executable
checkCurlInstalled
# Install the specific version of Docker for Triton
rm -Rf /tmp/triton-docker /usr/local/bin/triton-docker-helper
mkdir -p /tmp/triton-docker
curl https://get.docker.com/builds/"$(uname -a | awk '{ print $1 }')"/x86_64/docker-${triton_docker_version}.tgz | tar zxvf - -C /tmp/triton-docker
mv /tmp/triton-docker/docker/docker /usr/local/bin/triton-docker-helper
rm -Rf /tmp/triton-docker
chmod +x /usr/local/bin/triton-docker-helper
rm -Rf /tmp/spearhead-docker /usr/local/bin/spearhead-docker-helper
mkdir -p /tmp/spearhead-docker
curl https://get.docker.com/builds/"$(uname -a | awk '{ print $1 }')"/x86_64/docker-${triton_docker_version}.tgz | tar zxvf - -C /tmp/spearhead-docker
mv /tmp/spearhead-docker/docker/docker /usr/local/bin/spearhead-docker-helper
rm -Rf /tmp/spearhead-docker
chmod +x /usr/local/bin/spearhead-docker-helper
echo "The triton-docker-helper is now installed."
echo "The spearhead-docker-helper is now installed."
echo
# Install the specific version of Docker Compose for Triton
curl -Lo /usr/local/bin/triton-compose-helper https://github.com/docker/compose/releases/download/${triton_compose_version}/docker-compose-"$(uname -a | awk '{ print $1 }')"-x86_64
chmod +x /usr/local/bin/triton-compose-helper
curl -Lo /usr/local/bin/spearhead-compose-helper https://github.com/docker/compose/releases/download/${triton_compose_version}/docker-compose-"$(uname -a | awk '{ print $1 }')"-x86_64
chmod +x /usr/local/bin/spearhead-compose-helper
echo "The triton-compose-helper is now installed."
echo "The spearhead-compose-helper is now installed."
echo
}
# Emit the current Triton profile and time
function currentProfile () {
if [ -n "$TRITON_PROFILE" ]
if [ -n "$SC_PROFILE" ]
then
local profile_source='via env var; use `eval "$(triton env <profile name>)"` to change'
local profile_source='via env var; use `eval "$(spearhead env <profile name>)"` to change'
else
local profile_source='default; use `triton profile set <profile name>` to change'
local profile_source='default; use `spearhead profile set <profile name>` to change'
fi
# Get and the user's account information and CloudAPI URL for parsing later
local triton_account="$(triton account get)"
local triton_account="$(spearhead account get)"
echo "Executing in '$(triton profile get | awk 'NR == 1 {print $2}')' (${profile_source})"
echo "Executing in '$(spearhead profile get | awk 'NR == 1 {print $2}')' (${profile_source})"
# Check if CNS is enabled, require it
if [ ! "true" == "$(echo "${triton_account}" | awk -F": " '/^triton_cns_enabled:/{print $2}')" ]
@ -83,7 +83,7 @@ function currentProfile () {
tput sgr0 # clear
echo
echo 'Please run the following to activate:'
echo ' triton account update triton_cns_enabled=true'
echo ' spearhead account update triton_cns_enabled=true'
echo
fi
}
@ -92,17 +92,17 @@ function currentProfile () {
function cnsEnvVars () {
# If the CNS env vars are already set, don't bother continuing
if [ -n "$TRITON_CNS_SEARCH_DOMAIN_PUBLIC" ] && [ -n "$TRITON_CNS_SEARCH_DOMAIN_PRIVATE" ]
if [ -n "$SC_CNS_SEARCH_DOMAIN_PUBLIC" ] && [ -n "$SC_CNS_SEARCH_DOMAIN_PRIVATE" ]
then
return
fi
# Get and the user's account information and CloudAPI URL for parsing later
local triton_account="$(triton account get)"
local triton_url="$(triton profile get | awk -F"/" '/url:/{print $3}')"
local triton_account="$(spearhead account get)"
local triton_url="$(spearhead profile get | awk -F"/" '/url:/{print $3}')"
# Do not continue if the target is not a Triton Public Cloud data center
if [ ! ".api.joyent.com" == "${triton_url: -15}" ]
Do not continue if the target is not a Spearhead Cloud data center
if [ ! ".api.joyent.com" == "${triton_url: -15}" ] || [ ! ".api.spearhead.cloud" == "${triton_url: -15}" ]
then
return
fi
@ -117,39 +117,36 @@ function cnsEnvVars () {
# Set the CNS base for public and private names
# Note, this also makes assumptions that only work in our public cloud
export TRITON_CNS_SEARCH_DOMAIN_PUBLIC="${triton_account_uuid}.${triton_dc}.triton.zone"
export TRITON_CNS_SEARCH_DOMAIN_PRIVATE="${triton_account_uuid}.${triton_dc}.cns.joyent.com"
export SC_CNS_SEARCH_DOMAIN_PUBLIC="${triton_account_uuid}.${triton_dc}.spearhead.cloud"
export SC_CNS_SEARCH_DOMAIN_PRIVATE="${triton_account_uuid}.${triton_dc}.cns.spearhead.cloud"
}
# Run all checks
function checkAll () {
checkTritonInstalled &&
checkDockerInstalled
}
# Special case handling if the sub-command is `profile`
if [ "profile" == "$1" ]
then
currentProfile
exit 1
fi
# Change behavior based on the calling name of this executable
case "$(basename $0)" in
triton-docker)
spearhead-docker)
checkAll &&
eval "$(triton env)" &&
eval "$(spearhead env)" &&
cnsEnvVars &&
exec /usr/local/bin/triton-docker-helper $@
exec /usr/local/bin/spearhead-docker-helper $@
;;
triton-compose)
spearhead-compose)
checkAll &&
eval "$(triton env)" &&
export COMPOSE_HTTP_TIMEOUT=750 &&
cnsEnvVars &&
exec /usr/local/bin/triton-compose-helper $@
exec /usr/local/bin/spearhead-compose-helper $@
;;
triton-docker-install)
spearhead-docker-install)
install
;;
esac