@ -1,6 +1,7 @@
#!/usr/bin/env bash
NEXTID = $( pvesh get /cluster/nextid)
RELEASE = "7.6"
RELEASE = $( curl -sX GET "https://api.github.com/repos/home-assistant/operating-system/releases" | awk '/tag_name/{print $4;exit}' FS = '[""]' )
STABLE = "7.6"
YW = ` echo "\033[33m" `
BL = ` echo "\033[36m" `
RD = ` echo "\033[01;31m" `
@ -13,7 +14,7 @@ HOLD="-"
CM = " ${ GN } ✓ ${ CL } "
while true; do
read -p " This will create a New ${ RELEASE } Home Assistant OS VM. Proceed(y/n)? " yn
read -p " This will create a New Home Assistant OS VM. Proceed(y/n)?" yn
case $yn in
[ Yy] * ) break; ;
[ Nn] * ) exit; ;
@ -47,10 +48,12 @@ function default_settings() {
clear
header_info
echo -e " ${ BL } Using Default Settings ${ CL } "
echo -e " ${ DGN } Using Version ${ BGN } ${ STABLE } ${ CL } "
BRANCH = ${ STABLE }
echo -e " ${ DGN } Using VM ID ${ BGN } $NEXTID ${ CL } "
VMID = $NEXTID
echo -e " ${ DGN } Using VM Name ${ BGN } haos ${ RELEAS E} ${ CL } "
VM_NAME = haos${ RELEAS E}
echo -e " ${ DGN } Using VM Name ${ BGN } haos ${ STABL E} ${ CL } "
VM_NAME = haos${ STABL E}
echo -e " ${ DGN } Using ${ BGN } 2vCPU ${ CL } "
CORE_COUNT = "2"
echo -e " ${ DGN } Using ${ BGN } 4096MiB ${ CL } "
@ -63,20 +66,35 @@ 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 -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 ${ RELEASE } "
echo -e " ${ YW } Enter VM Name (no-spaces), or Press [ENTER] for Default: haos ${ BRANCH } "
read VMNAME
if [ -z $VMNAME ] ; then
VM_NAME = haos${ RELEASE }
VM_NAME = haos${ BRANCH }
else
VM_NAME = $( echo ${ VMNAME ,, } | tr -d ' ' )
fi
@ -86,6 +104,7 @@ 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 "
@ -97,6 +116,7 @@ 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 } vCPU ${ CL } "
@ -109,6 +129,7 @@ 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 } vCPU ${ CL } "
@ -124,6 +145,7 @@ 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 } vCPU ${ CL } "
@ -220,14 +242,14 @@ else
fi
msg_ok " Using ${ CL } ${ BL } $STORAGE ${ CL } ${ GN } for Storage Location. "
msg_ok " Container ID is ${ CL } ${ BL } $VMID ${ CL } . "
msg_info " Getting URL for Stable Branch Home Assistant Disk Image"
URL = https://github.com/home-assistant/operating-system/releases/download/${ RELEASE} /haos_ova-${ RELEASE } .qcow2.xz
msg_ok " Found URL for Latest Home Assistant 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
msg_ok " Found URL for Home Assistant ${ BRANCH } Disk Image "
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 } ${ RELEASE } .qcow2 ${ CL } ${ GN } Disk Image "
msg_ok " Downloaded ${ CL } ${ BL } ${ BRANCH } .qcow2 ${ CL } ${ GN } Disk Image "
msg_info "Extracting Disk Image"
unxz $FILE
STORAGE_TYPE = $( pvesm status -storage $STORAGE | awk 'NR>1 {print $2}' )