diff --git a/test.sh b/test.sh index 11ad525..9ebf7ae 100644 --- a/test.sh +++ b/test.sh @@ -49,16 +49,6 @@ function cleanup() { TEMP_DIR=$(mktemp -d) pushd $TEMP_DIR >/dev/null -# while true; do -# read -p "This will create a New Home Assistant OS VM. Proceed(y/n)?" yn -# case $yn in -# [Yy]* ) break;; -# [Nn]* ) exit;; -# * ) echo "Please answer yes or no.";; -# esac -# done -# clear - function header_info { echo -e "${BL} ___ _ _ _ __ @@ -82,185 +72,177 @@ function default_settings() { clear header_info BRANCH=${STABLE} - # echo -e "${DGN}Using VM ID ${BGN}$NEXTID${CL}" VMID=$NEXTID - # echo -e "${DGN}Using VM Name ${BGN}haos${STABLE}${CL}" VM_NAME=Home-Assistant - # echo -e "${DGN}Using ${BGN}2${CL}${DGN}vCPU${CL}" CORE_COUNT="2" - # echo -e "${DGN}Using ${BGN}4096${CL}${DGN}MiB RAM${CL}" RAM_SIZE="4096" - # echo -e "${DGN}Using Bridge ${BGN}vmbr0${CL}" BRG="vmbr0" - # echo -e "${DGN}Using MAC Address ${BGN}$GEN_MAC${CL}" MAC=$GEN_MAC - # echo -e "${DGN}Using VLAN Tag ${BGN}NONE${CL}" VLAN="" - # echo -e "${DGN}Start VM when completed ${BGN}yes${CL}" START_VM="yes" } -function advanced_settings() { - clear - header_info - echo -e "${RD}Using Advanced Settings${CL}" - echo -e "${YW}Type Latest for Version ${RELEASE}, or Press [ENTER] for Stable Version ${STABLE} " - read BRANCH - if [ -z $BRANCH ]; then BRANCH=$STABLE; - else - BRANCH=$RELEASE; fi; - echo -en "${DGN}Set Version To ${BL}$BRANCH${CL}" -echo -e " ${CM}${CL} \r" -sleep 1 -clear -header_info - clear - header_info - echo -e "${RD}Using Advanced Settings${CL}" - echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" - echo -e "${YW}Enter the VM ID, or Press [ENTER] to automatically generate (${NEXTID}) " - read VMID - if [ -z $VMID ]; then VMID=$NEXTID; fi; - echo -en "${DGN}Set VM ID To ${BL}$VMID${CL}" -echo -e " ${CM}${CL} \r" -sleep 1 -clear -header_info - echo -e "${RD}Using Advanced Settings${CL}" - echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" - echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" - echo -e "${YW}Enter VM Name (no-spaces), or Press [ENTER] for Default: haos${BRANCH} " - read VMNAME - if [ -z $VMNAME ]; then - VM_NAME=haos${BRANCH} - else - VM_NAME=$(echo ${VMNAME,,} | tr -d ' ') - fi - echo -en "${DGN}Set CT Name To ${BL}$VM_NAME${CL}" -echo -e " ${CM}${CL} \r" -sleep 1 -clear -header_info - echo -e "${RD}Using Advanced Settings${CL}" - echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" - echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" - echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" - echo -e "${YW}Allocate CPU cores, or Press [ENTER] for Default: 2 " - read CORE_COUNT - if [ -z $CORE_COUNT ]; then CORE_COUNT="2"; fi; - echo -en "${DGN}Set Cores To ${BL}${CORE_COUNT}${CL}" -echo -e " ${CM}${CL} \r" -sleep 1 -clear -header_info - echo -e "${RD}Using Advanced Settings${CL}" - echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" - echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" - echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" - echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" - echo -e "${YW}Allocate RAM in MiB, or Press [ENTER] for Default: 4096 " - read RAM_SIZE - if [ -z $RAM_SIZE ]; then RAM_SIZE="4096"; fi; - echo -en "${DGN}Set RAM To ${BL}$RAM_SIZE${CL}" -echo -e " ${CM}${CL} \n" -sleep 1 -clear -header_info - echo -e "${RD}Using Advanced Settings${CL}" - echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" - echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" - echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" - echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" - echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB RAM${CL}" - echo -e "${YW}Enter a Bridge, or Press [ENTER] for Default: vmbr0 " - read BRG - if [ -z $BRG ]; then BRG="vmbr0"; fi; - echo -en "${DGN}Set Bridge To ${BL}$BRG${CL}" -echo -e " ${CM}${CL} \n" -sleep 1 -clear -header_info - echo -e "${RD}Using Advanced Settings${CL}" - echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" - echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" - echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" - echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" - echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB RAM${CL}" - echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}" - echo -e "${YW}Enter a Valid MAC Address, or Press [ENTER] for Generated MAC: $GEN_MAC " - read MAC - if [ -z $MAC ]; then MAC=$GEN_MAC; fi; - echo -en "${DGN}Set MAC Address To ${BL}$MAC${CL}" -echo -e " ${CM}${CL} \n" -sleep 1 -clear -header_info - echo -e "${RD}Using Advanced Settings${CL}" - echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" - echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" - echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" - echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" - echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB RAM${CL}" - echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}" - echo -e "${DGN}Using MAC Address ${BGN}$MAC${CL}" - echo -e "${YW}Enter a VLAN Tag, or Press [ENTER] for Default: NONE " - read VLAN1 - if [ -z $VLAN1 ]; then VLAN1="NONE" VLAN=""; - echo -en "${DGN}Set VLAN Tag To ${BL}$VLAN1${CL}" - else - VLAN=",tag=$VLAN1" - echo -en "${DGN}Set VLAN Tag To ${BL}$VLAN1${CL}" - fi; -echo -e " ${CM}${CL} \n" -sleep 1 -clear -header_info - echo -e "${RD}Using Advanced Settings${CL}" - echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" - echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" - echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" - echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" - echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB${CL}" - echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}" - echo -e "${DGN}Using MAC Address ${BGN}$MAC${CL}" - echo -e "${DGN}Using VLAN Tag ${BGN}$VLAN1${CL}" - echo -e "${YW}Start VM when completed, or Press [ENTER] for Default: yes " - read START_VM - if [ -z $START_VM ]; then START_VM="yes"; - else - START_VM="no"; fi; - echo -en "${DGN}Starting VM when completed ${BL}$START_VM${CL}" -echo -e " ${CM}${CL} \n" -sleep 1 -clear -header_info - echo -e "${RD}Using Advanced Settings${CL}" - echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" - echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" - echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" - echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" - echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB${CL}" - echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}" - echo -e "${DGN}Using MAC Address ${BGN}$MAC${CL}" - echo -e "${DGN}Using VLAN Tag ${BGN}$VLAN1${CL}" - echo -e "${DGN}Start VM when completed ${BGN}$START_VM${CL}" +# function advanced_settings() { +# clear +# header_info +# echo -e "${RD}Using Advanced Settings${CL}" +# echo -e "${YW}Type Latest for Version ${RELEASE}, or Press [ENTER] for Stable Version ${STABLE} " +# read BRANCH +# if [ -z $BRANCH ]; then BRANCH=$STABLE; +# else +# BRANCH=$RELEASE; fi; +# echo -en "${DGN}Set Version To ${BL}$BRANCH${CL}" +# echo -e " ${CM}${CL} \r" +# sleep 1 +# clear +# header_info +# clear +# header_info +# echo -e "${RD}Using Advanced Settings${CL}" +# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" +# echo -e "${YW}Enter the VM ID, or Press [ENTER] to automatically generate (${NEXTID}) " +# read VMID +# if [ -z $VMID ]; then VMID=$NEXTID; fi; +# echo -en "${DGN}Set VM ID To ${BL}$VMID${CL}" +# echo -e " ${CM}${CL} \r" +# sleep 1 +# clear +# header_info +# echo -e "${RD}Using Advanced Settings${CL}" +# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" +# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" +# echo -e "${YW}Enter VM Name (no-spaces), or Press [ENTER] for Default: haos${BRANCH} " +# read VMNAME +# if [ -z $VMNAME ]; then +# VM_NAME=haos${BRANCH} +# else +# VM_NAME=$(echo ${VMNAME,,} | tr -d ' ') +# fi +# echo -en "${DGN}Set CT Name To ${BL}$VM_NAME${CL}" +# echo -e " ${CM}${CL} \r" +# sleep 1 +# clear +# header_info +# echo -e "${RD}Using Advanced Settings${CL}" +# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" +# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" +# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" +# echo -e "${YW}Allocate CPU cores, or Press [ENTER] for Default: 2 " +# read CORE_COUNT +# if [ -z $CORE_COUNT ]; then CORE_COUNT="2"; fi; +# echo -en "${DGN}Set Cores To ${BL}${CORE_COUNT}${CL}" +# echo -e " ${CM}${CL} \r" +# sleep 1 +# clear +# header_info +# echo -e "${RD}Using Advanced Settings${CL}" +# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" +# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" +# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" +# echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" +# echo -e "${YW}Allocate RAM in MiB, or Press [ENTER] for Default: 4096 " +# read RAM_SIZE +# if [ -z $RAM_SIZE ]; then RAM_SIZE="4096"; fi; +# echo -en "${DGN}Set RAM To ${BL}$RAM_SIZE${CL}" +# echo -e " ${CM}${CL} \n" +# sleep 1 +# clear +# header_info +# echo -e "${RD}Using Advanced Settings${CL}" +# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" +# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" +# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" +# echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" +# echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB RAM${CL}" +# echo -e "${YW}Enter a Bridge, or Press [ENTER] for Default: vmbr0 " +# read BRG +# if [ -z $BRG ]; then BRG="vmbr0"; fi; +# echo -en "${DGN}Set Bridge To ${BL}$BRG${CL}" +# echo -e " ${CM}${CL} \n" +# sleep 1 +# clear +# header_info +# echo -e "${RD}Using Advanced Settings${CL}" +# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" +# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" +# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" +# echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" +# echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB RAM${CL}" +# echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}" +# echo -e "${YW}Enter a Valid MAC Address, or Press [ENTER] for Generated MAC: $GEN_MAC " +# read MAC +# if [ -z $MAC ]; then MAC=$GEN_MAC; fi; +# echo -en "${DGN}Set MAC Address To ${BL}$MAC${CL}" +# echo -e " ${CM}${CL} \n" +# sleep 1 +# clear +# header_info +# echo -e "${RD}Using Advanced Settings${CL}" +# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" +# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" +# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" +# echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" +# echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB RAM${CL}" +# echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}" +# echo -e "${DGN}Using MAC Address ${BGN}$MAC${CL}" +# echo -e "${YW}Enter a VLAN Tag, or Press [ENTER] for Default: NONE " +# read VLAN1 +# if [ -z $VLAN1 ]; then VLAN1="NONE" VLAN=""; +# echo -en "${DGN}Set VLAN Tag To ${BL}$VLAN1${CL}" +# else +# VLAN=",tag=$VLAN1" +# echo -en "${DGN}Set VLAN Tag To ${BL}$VLAN1${CL}" +# fi; +# echo -e " ${CM}${CL} \n" +# sleep 1 +# clear +# header_info +# echo -e "${RD}Using Advanced Settings${CL}" +# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" +# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" +# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" +# echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" +# echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB${CL}" +# echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}" +# echo -e "${DGN}Using MAC Address ${BGN}$MAC${CL}" +# echo -e "${DGN}Using VLAN Tag ${BGN}$VLAN1${CL}" +# echo -e "${YW}Start VM when completed, or Press [ENTER] for Default: yes " +# read START_VM +# if [ -z $START_VM ]; then START_VM="yes"; +# else +# START_VM="no"; fi; +# echo -en "${DGN}Starting VM when completed ${BL}$START_VM${CL}" +# echo -e " ${CM}${CL} \n" +# sleep 1 +# clear +# header_info +# echo -e "${RD}Using Advanced Settings${CL}" +# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}" +# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}" +# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}" +# echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" +# echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB${CL}" +# echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}" +# echo -e "${DGN}Using MAC Address ${BGN}$MAC${CL}" +# echo -e "${DGN}Using VLAN Tag ${BGN}$VLAN1${CL}" +# echo -e "${DGN}Start VM when completed ${BGN}$START_VM${CL}" -read -p "Are these settings correct(y/n)? " -n 1 -r -echo -if [[ ! $REPLY =~ ^[Yy]$ ]] -then - advanced_settings -fi -} +# read -p "Are these settings correct(y/n)? " -n 1 -r +# echo +# if [[ ! $REPLY =~ ^[Yy]$ ]] +# then +# advanced_settings +# fi +# } -function start_script() { - echo -e "${YW}Type Advanced, or Press [ENTER] for Default Settings " - read SETTINGS - if [ -z $SETTINGS ]; then default_settings; - else - advanced_settings - fi; -} +# function start_script() { +# echo -e "${YW}Type Advanced, or Press [ENTER] for Default Settings " +# read SETTINGS +# if [ -z $SETTINGS ]; then default_settings; +# else +# advanced_settings +# fi; +# } # start_script default_settings @@ -291,14 +273,14 @@ else fi # msg_ok "Using ${CL}${BL}$STORAGE${CL} ${GN}for Storage Location." # msg_ok "Virtual Machine ID is ${CL}${BL}$VMID${CL}." -msg_info "Getting URL for Home Assistant ${BRANCH} Disk Image" +# msg_info "Getting URL for Home Assistant ${BRANCH} Disk Image" URL=https://github.com/home-assistant/operating-system/releases/download/${BRANCH}/haos_ova-${BRANCH}.qcow2.xz sleep 2 # msg_ok "${CL}${BL}${URL}${CL}" wget -q --show-progress $URL # echo -en "\e[1A\e[0K" FILE=$(basename $URL) -msg_ok "Downloaded ${CL}${BL}haos_ova-${BRANCH}.qcow2.xz${CL}" +# msg_ok "Downloaded ${CL}${BL}haos_ova-${BRANCH}.qcow2.xz${CL}" # msg_info "Extracting KVM Disk Image" unxz $FILE STORAGE_TYPE=$(pvesm status -storage $STORAGE | awk 'NR>1 {print $2}')