diff --git a/installer.sh b/installer.sh new file mode 100755 index 0000000..02ae76f --- /dev/null +++ b/installer.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +ESC=`printf "\033"`; + +input_key() { + read -s -n3 INPUT; + echo $INPUT; +} + +check_selected() { + if [ $1 = $2 ]; + then echo " => " + else echo " " + fi +} + +select_menu() { + SELECTED=1; + INPUT=""; + MIN_MENU=1; + MAX_MENU=$#; + + while true; + do + for (( i=1; i<=$#; i++)) + do + printf "$ESC[2K$(check_selected $i $SELECTED) $i. ${!i}\n"; + done + printf "\n$ESC[2KCMOA\nVersion: 3.5.4\n"; + INPUT=$(input_key); + if [[ $INPUT = "" ]]; + then break; + fi + + if [[ $INPUT = $ESC[A ]]; + then SELECTED=$(expr $SELECTED - 1); + elif [[ $INPUT = $ESC[B ]]; + then SELECTED=$(expr $SELECTED + 1); + fi + + if [[ $SELECTED -lt $MIN_MENU ]]; + then SELECTED=${MIN_MENU}; + elif [[ $SELECTED -gt $MAX_MENU ]]; + then SELECTED=${MAX_MENU}; + fi + + printf "$ESC[$(expr $# + 3)A"; + done + return `expr ${SELECTED} - 1`; +} + +select_test() { + arr_params=("CMOA INSTALL" "CMOA PG Patch"); + echo -e "\nWelmcome! CMOA Helper\nChoose your job\n"; + select_menu "${arr_params[@]}"; + local SELECTED=$?; + SELECTED_MODE=${arr_params[${SELECTED}]}; +} + +main() { + select_test; + if [ $SELECTED -eq 1 ] + then + ansible-playbook -i inventory cmoa_install.yaml + elif [ $SELECTED -eq 2 ] + then + ansible-playbook -i inventory cmoa_pgpatch.yaml + fi +} +main