#!/usr/bin/env bash # NodeMgmt Loader [ "${2}" != "q" ] && source /opt/idssys/defaults/colors.inc source /opt/idssys/defaults/default.inc source /opt/idssys/nodemgmt/conf/settings.conf source /opt/idssys/nodemgmt/defaults.inc # if [[ "${noheader}" != *" ${1} "* ]] && [[ "${noheader}" != *" ${2} "* ]] && [ "${1}" != "status" ]; then if [ "${1}" == "update" ] || ([ "${1}" == "update" ] && [ "${2}" == "nodes" ]) || ([ "${1}" == "update-nodes" ] && [ "${3}" != "sync" ]); then if [ "${1}" == "update-nodes" ] || [ "${2}" == "nodes" ]; then echo -e "\n${idsCL[LightGreen]}Updating Node-Manager${idsCL[Default]}" echo -e "${idsCL[LightGreen]}-------------------------------------------${idsCL[Default]}" fi if curl -m 3 -s --head --request GET https://git.schroedercity.com | grep "HTTP/2 200" > /dev/null; then if [ "${2}" != "q" ]; then echo -en "${idsCL[LightCyan]}Checking for updates...${idsCL[Default]}" echo fi cd /opt/idssys/defaults if [ "`git log --pretty=%H ...refs/heads/master^ | head -n 1`" != "`git ls-remote origin -h refs/heads/master |cut -f1`" ]; then if [ "${2}" != "q" ]; then echo -en "\e[1A"; echo -e "${idsCL[LightCyan]}Updating iDSSYS-Defaults...${idsCL[Default]}" fi git fetch origin master >/dev/null 2>&1 git reset --hard origin/master >/dev/null 2>&1 git reflog expire --expire=now --all >/dev/null 2>&1 git repack -ad >/dev/null 2>&1 git prune >/dev/null 2>&1 git pull >/dev/null 2>&1 git submodule update --remote >/dev/null 2>&1 fi cd ${NM_FOLDER} # if [ "`git log --pretty=%H ...refs/heads/dev^ | head -n 1`" != "`git ls-remote origin -h refs/heads/dev |cut -f1`" ]; then if [ "`git log --pretty=%H ...refs/heads/master^ | head -n 1`" != "`git ls-remote origin -h refs/heads/master |cut -f1`" ]; then goforup=0 betacheck=$(${NM_SCRIPT} betacheck) if [ "${betacheck}" == "true" ] && [ "${2}" != "q" ]; then echo -en "\e[1A"; echo -en "\e[0K\r${idsCL[LightCyan]}This update is currently in BETA, proceed (N/y)? ${idsCL[Default]}" read -n1 choice case $choice in [Yy]) echo; goforup=1;; esac elif [ "${betacheck}" == "true" ] && [ "${2}" == "q" ]; then goforup=0 else goforup=1 fi if [ ${goforup} -eq 1 ]; then if [ "${2}" != "q" ]; then echo -en "\e[1A"; echo -e "\e[0K\r ${idsCL[LightCyan]}Updating NodeMgmt...${idsCL[Default]}" fi git fetch origin master >/dev/null 2>&1 git reset --hard origin/master >/dev/null 2>&1 # git fetch origin dev >/dev/null 2>&1 # git reset --hard origin/dev >/dev/null 2>&1 git reflog expire --expire=now --all >/dev/null 2>&1 git repack -ad >/dev/null 2>&1 git prune >/dev/null 2>&1 git pull >/dev/null 2>&1 git submodule update --remote >/dev/null 2>&1 /bin/chmod +x /opt/idssys/nodemgmt/*.sh 2>&1 source ${NM_FOLDER}/defaults.inc if [ "${2}" != "q" ]; then echo -en "\e[1A"; echo -e "\e[0K\r ${idsCL[Green]}Updated to v${VERS}${idsCL[Default]}" else echo -e "${idsCL[Green]}Updated to v${VERS}${idsCL[Default]}" fi fi elif [ "${2}" != "q" ]; then echo -en "\e[1A"; echo -e "\e[0K\r ${idsCL[LightCyan]}No Updates Available${idsCL[Default]}" elif [ "${2}" == "q" ]; then echo -e "${idsCL[LightCyan]}No Updates Available${idsCL[Default]}" fi else echo -e "${idsCL[Red]}Could not connect to 'git.schroedercity.com' for updates${idsCL[Default]}" fi fi [ ! -f /usr/local/bin/nmg ] && ln -s /opt/idssys/nodemgmt/run.sh /usr/local/bin/nmg [ ! -f /usr/local/bin/ndmg ] && ln -s /opt/idssys/nodemgmt/run.sh /usr/local/bin/ndmg ${NM_SCRIPT} "${1}" "${2}" "${3}" "${4}" "${5}" "${6}" "${7}" "${8}" "${9}" "${10}" "${11}" "${12}" "${13}" "${14}" "${15}" "${16}" "${17}" "${18}" "${19}" "${20}" "${21}" "${22}" "${23}" "${24}" "${25}" exit 0