update to new post-install script
This commit is contained in:
+389
-103
@@ -7,6 +7,7 @@ source /opt/idssys/defaults/default.inc
|
||||
source /opt/idssys/ta-proxmenu/defaults.inc
|
||||
source /opt/idssys/ta-proxmenu/inc/git-update.inc
|
||||
source /opt/idssys/ta-proxmenu/inc/ha-status.inc
|
||||
source /opt/idssys/ta-proxmenu/inc/post-install.inc
|
||||
source /opt/idssys/ta-proxmenu/inc/deploy-iso-nfs-lxc.sh
|
||||
source /opt/idssys/ta-proxmenu/inc/deploy-pulse-lxc.sh
|
||||
source /opt/idssys/ta-proxmenu/inc/virtio-helpers.inc
|
||||
@@ -280,97 +281,6 @@ INSTALL_ACRONIS() {
|
||||
FINISH_ACTION
|
||||
}
|
||||
|
||||
INSTALL_PROXMENUX() {
|
||||
local installer
|
||||
local temp_dir
|
||||
|
||||
if ! TAPM_CREATE_TEMP_DIR proxmenux; then
|
||||
FINISH_FAILED_ACTION
|
||||
return
|
||||
fi
|
||||
temp_dir="$TAPM_TEMP_DIR"
|
||||
installer="${temp_dir}/install.sh"
|
||||
|
||||
if ! TAPM_DOWNLOAD_HTTPS \
|
||||
'https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh' \
|
||||
"$installer" 'ProxMenux installer' ||
|
||||
! bash "$installer" ||
|
||||
[[ ! -x /usr/local/bin/menu ]]; then
|
||||
TAPM_CLEAN_TEMP_DIR "$temp_dir"
|
||||
echo -e "${idsCL[LightRed]}ProxMenux installation failed or could not be verified.${idsCL[Default]}"
|
||||
FINISH_FAILED_ACTION
|
||||
return
|
||||
fi
|
||||
|
||||
TAPM_CLEAN_TEMP_DIR "$temp_dir"
|
||||
/usr/local/bin/menu
|
||||
}
|
||||
|
||||
PROXMENUX_POST_INSTALL() {
|
||||
local backup_dir='/var/backups/ta-proxmenu'
|
||||
local backup_file=''
|
||||
local post_install_dir='/usr/local/share/proxmenux/scripts/post_install'
|
||||
local post_install_script="${post_install_dir}/customizable_post_install.sh"
|
||||
local timestamp
|
||||
|
||||
if [[ ! -f "$post_install_script" ]]; then
|
||||
INSTALL_PROXMENUX
|
||||
[[ -f "$post_install_script" ]] || return 1
|
||||
fi
|
||||
|
||||
if ! bash "$post_install_script"; then
|
||||
echo -e "${idsCL[LightRed]}The ProxMenux post-install script failed. A completion marker was not created.${idsCL[Default]}"
|
||||
FINISH_FAILED_ACTION
|
||||
return
|
||||
fi
|
||||
|
||||
if [[ -e /etc/apt/sources.list && ! -f /etc/apt/sources.list ]]; then
|
||||
echo -e "${idsCL[LightRed]}/etc/apt/sources.list is not a regular file and was not changed.${idsCL[Default]}"
|
||||
FINISH_FAILED_ACTION
|
||||
return
|
||||
fi
|
||||
|
||||
if [[ -s /etc/apt/sources.list ]]; then
|
||||
timestamp="$(date +%Y%m%d-%H%M%S)"
|
||||
if ! install -d -m 0700 "$backup_dir" ||
|
||||
! backup_file="$(mktemp "${backup_dir}/sources.list.proxmenux.${timestamp}.XXXXXX")" ||
|
||||
! install -m 0600 /etc/apt/sources.list "$backup_file"; then
|
||||
[[ -n "$backup_file" ]] && rm -f -- "$backup_file"
|
||||
echo -e "${idsCL[LightRed]}Could not back up /etc/apt/sources.list; it was not cleared.${idsCL[Default]}"
|
||||
FINISH_FAILED_ACTION
|
||||
return
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! : >/etc/apt/sources.list ||
|
||||
! chmod 0644 /etc/apt/sources.list; then
|
||||
echo -e "${idsCL[LightRed]}Could not enforce an empty /etc/apt/sources.list.${idsCL[Default]}"
|
||||
[[ -n "$backup_file" ]] &&
|
||||
echo "Backup retained at: ${backup_file}"
|
||||
FINISH_FAILED_ACTION
|
||||
return
|
||||
fi
|
||||
|
||||
if ! apt-get update; then
|
||||
echo -e "${idsCL[LightRed]}APT repository validation failed after ProxMenux post-install.${idsCL[Default]}"
|
||||
[[ -n "$backup_file" ]] &&
|
||||
echo "Removed sources were retained at: ${backup_file}"
|
||||
FINISH_FAILED_ACTION
|
||||
return
|
||||
fi
|
||||
|
||||
if ! touch /opt/.PROXMENUX_POST_INSTALL; then
|
||||
echo -e "${idsCL[LightRed]}Post-install succeeded, but the completion marker could not be created.${idsCL[Default]}"
|
||||
FINISH_FAILED_ACTION
|
||||
return
|
||||
fi
|
||||
|
||||
echo -e "\n${idsCL[Green]}ProxMenux post-install completed and APT sources were validated.${idsCL[Default]}"
|
||||
[[ -n "$backup_file" ]] &&
|
||||
echo "ProxMenux additions to sources.list were saved at: ${backup_file}"
|
||||
FINISH_ACTION
|
||||
}
|
||||
|
||||
INSTALL_GLANCES() {
|
||||
echo
|
||||
if ! DEBIAN_FRONTEND=noninteractive apt-get install glances -y ||
|
||||
@@ -1860,6 +1770,389 @@ SELECT_MENU() {
|
||||
done
|
||||
}
|
||||
|
||||
TAPM_POST_PROFILE_SUMMARY() {
|
||||
echo
|
||||
echo -e " ${idsCL[LightCyan]}Recommended TAPM host profile${idsCL[Default]}"
|
||||
echo
|
||||
echo " [x] System utilities and CPU-appropriate microcode"
|
||||
echo " [x] Chrony time synchronization (existing timezone preserved)"
|
||||
echo " [x] Kernel panic recovery (30 seconds)"
|
||||
echo " [x] Conservative inotify limits"
|
||||
echo " [x] Persistent journald (1 GiB / 30 days)"
|
||||
echo " [x] Verify and repair log rotation"
|
||||
echo " [x] Host memory behavior (swappiness 10)"
|
||||
echo " [x] Network safeguards"
|
||||
echo " [x] BBR and TCP Fast Open"
|
||||
echo " [x] Native parallel gzip support for vzdump"
|
||||
echo " [ ] APT network compatibility / conditional IPv4 (optional)"
|
||||
echo
|
||||
echo " Global vzdump bandwidth and I/O-priority overrides are not applied."
|
||||
}
|
||||
|
||||
TAPM_POST_FAILURE_RECOVERY() {
|
||||
local backup_dir="$1"
|
||||
local mode="$2"
|
||||
local -a labels=(
|
||||
"Retry the selected profile"
|
||||
"Restore the pre-change backup"
|
||||
"Stop and return to the menu"
|
||||
)
|
||||
local -a values=(retry restore stop)
|
||||
|
||||
while true; do
|
||||
echo
|
||||
[[ -n "$backup_dir" ]] && echo " Pre-change backup: ${backup_dir}"
|
||||
SELECT_MENU "Host Configuration Recovery" labels values
|
||||
case "$MENU_SELECTION" in
|
||||
retry)
|
||||
if TAPM_POST_APPLY_PROFILE "$mode"; then
|
||||
echo -e "\n${idsCL[Green]}The profile retry completed successfully.${idsCL[Default]}"
|
||||
echo " New backup: ${TAPM_POST_LAST_BACKUP}"
|
||||
return 0
|
||||
fi
|
||||
echo -e "\n${idsCL[LightRed]}${TAPM_POST_LAST_ERROR:-The retry failed.}${idsCL[Default]}"
|
||||
;;
|
||||
restore)
|
||||
if [[ -n "$backup_dir" ]] &&
|
||||
TAPM_POST_RESTORE_BACKUP "$backup_dir"; then
|
||||
echo -e "\n${idsCL[Green]}The pre-change configuration was restored.${idsCL[Default]}"
|
||||
return 0
|
||||
fi
|
||||
echo -e "\n${idsCL[LightRed]}The pre-change backup could not be restored.${idsCL[Default]}"
|
||||
;;
|
||||
stop|back) return 1 ;;
|
||||
quit) EXIT1; exit 0 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
TAPM_POST_APPLY_RECOMMENDED() {
|
||||
local backup_dir
|
||||
local confirmation
|
||||
|
||||
TAPM_POST_DEFAULT_SELECTIONS
|
||||
TAPM_POST_PROFILE_SUMMARY
|
||||
read -r -p " Apply this profile to the current host (type yes to continue)? " \
|
||||
confirmation
|
||||
[[ "${confirmation,,}" == yes ]] || return
|
||||
|
||||
if TAPM_POST_APPLY_PROFILE apply; then
|
||||
echo -e "\n${idsCL[Green]}The TAPM host profile was applied and verified.${idsCL[Default]}"
|
||||
echo " Backup: ${TAPM_POST_LAST_BACKUP}"
|
||||
FINISH_ACTION
|
||||
return
|
||||
fi
|
||||
echo -e "\n${idsCL[LightRed]}${TAPM_POST_LAST_ERROR:-Host profile application failed.}${idsCL[Default]}"
|
||||
backup_dir="$TAPM_POST_LAST_BACKUP"
|
||||
if TAPM_POST_FAILURE_RECOVERY "$backup_dir" apply; then
|
||||
FINISH_ACTION
|
||||
else
|
||||
FINISH_FAILED_ACTION
|
||||
fi
|
||||
}
|
||||
|
||||
TAPM_POST_MIGRATE_PROXMENUX() {
|
||||
local backup_dir
|
||||
local confirmation
|
||||
|
||||
if ! TAPM_POST_PROXMENUX_DETECTED; then
|
||||
echo -e "\n${idsCL[LightYellow]}No ProxMenux installation or recognized artifacts were detected.${idsCL[Default]}"
|
||||
FINISH_FAILED_ACTION
|
||||
return
|
||||
fi
|
||||
TAPM_POST_DEFAULT_SELECTIONS
|
||||
TAPM_POST_PROFILE_SUMMARY
|
||||
TAPM_POST_MIGRATION_PLAN
|
||||
echo
|
||||
echo -e " ${idsCL[LightYellow]}Migration will repair recognized ProxMenux settings, restore gzip,"
|
||||
echo -e " apply the TAPM profile, and then remove ProxMenux itself.${idsCL[Default]}"
|
||||
echo " Shared packages such as dialog, jq, curl, Git, and Python are retained."
|
||||
echo
|
||||
read -r -p " Migrate this host and remove ProxMenux (type yes to continue)? " \
|
||||
confirmation
|
||||
[[ "${confirmation,,}" == yes ]] || return
|
||||
|
||||
if TAPM_POST_APPLY_PROFILE migrate; then
|
||||
echo -e "\n${idsCL[Green]}The host was migrated to the TAPM profile and ProxMenux was removed.${idsCL[Default]}"
|
||||
echo " Backup: ${TAPM_POST_LAST_BACKUP}"
|
||||
FINISH_ACTION
|
||||
return
|
||||
fi
|
||||
echo -e "\n${idsCL[LightRed]}${TAPM_POST_LAST_ERROR:-ProxMenux migration failed.}${idsCL[Default]}"
|
||||
echo " ProxMenux removal is the final migration step; earlier failures leave it installed."
|
||||
backup_dir="$TAPM_POST_LAST_BACKUP"
|
||||
if TAPM_POST_FAILURE_RECOVERY "$backup_dir" migrate; then
|
||||
FINISH_ACTION
|
||||
else
|
||||
FINISH_FAILED_ACTION
|
||||
fi
|
||||
}
|
||||
|
||||
TAPM_POST_FLAG_LABEL() {
|
||||
local value="$1"
|
||||
local label="$2"
|
||||
|
||||
(( value == 1 )) && printf '[x] %s' "$label" || printf '[ ] %s' "$label"
|
||||
}
|
||||
|
||||
TAPM_POST_TOGGLE_FLAG() {
|
||||
local variable_name="$1"
|
||||
local current_value="${!variable_name}"
|
||||
|
||||
(( current_value == 1 )) &&
|
||||
printf -v "$variable_name" '%d' 0 ||
|
||||
printf -v "$variable_name" '%d' 1
|
||||
}
|
||||
|
||||
TAPM_POST_CUSTOMIZE() {
|
||||
local -a labels
|
||||
local -a values
|
||||
|
||||
TAPM_POST_DEFAULT_SELECTIONS
|
||||
while true; do
|
||||
labels=(
|
||||
"$(TAPM_POST_FLAG_LABEL "$TAPM_POST_DO_UTILITIES" "System utilities")"
|
||||
"$(TAPM_POST_FLAG_LABEL "$TAPM_POST_DO_TIME" "Time synchronization")"
|
||||
"$(TAPM_POST_FLAG_LABEL "$TAPM_POST_DO_PANIC" "Kernel panic recovery")"
|
||||
"$(TAPM_POST_FLAG_LABEL "$TAPM_POST_DO_LIMITS" "Conservative inotify limits")"
|
||||
"$(TAPM_POST_FLAG_LABEL "$TAPM_POST_DO_JOURNALD" "Journald — 1 GiB / 30 days")"
|
||||
"$(TAPM_POST_FLAG_LABEL "$TAPM_POST_DO_LOGROTATE" "Verify and repair log rotation")"
|
||||
"$(TAPM_POST_FLAG_LABEL "$TAPM_POST_DO_MEMORY" "Host memory behavior")"
|
||||
"$(TAPM_POST_FLAG_LABEL "$TAPM_POST_DO_NETWORK" "Network safeguards")"
|
||||
"$(TAPM_POST_FLAG_LABEL "$TAPM_POST_DO_BBR" "BBR and TCP Fast Open")"
|
||||
"$(TAPM_POST_FLAG_LABEL "$TAPM_POST_DO_PIGZ" "Native parallel gzip for vzdump")"
|
||||
"$(TAPM_POST_FLAG_LABEL "$TAPM_POST_DO_APT_NETWORK" "APT network compatibility check")"
|
||||
"Apply selected profile"
|
||||
)
|
||||
values=(
|
||||
utilities time panic limits journald logrotate memory network bbr pigz
|
||||
apt_network apply
|
||||
)
|
||||
SELECT_MENU "Customize TAPM Host Profile" labels values
|
||||
case "$MENU_SELECTION" in
|
||||
utilities) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_UTILITIES ;;
|
||||
time) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_TIME ;;
|
||||
panic) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_PANIC ;;
|
||||
limits) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_LIMITS ;;
|
||||
journald) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_JOURNALD ;;
|
||||
logrotate) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_LOGROTATE ;;
|
||||
memory) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_MEMORY ;;
|
||||
network) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_NETWORK ;;
|
||||
bbr) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_BBR ;;
|
||||
pigz) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_PIGZ ;;
|
||||
apt_network) TAPM_POST_TOGGLE_FLAG TAPM_POST_DO_APT_NETWORK ;;
|
||||
apply)
|
||||
local backup_dir
|
||||
local confirmation
|
||||
echo
|
||||
read -r -p " Apply the selected profile (type yes to continue)? " \
|
||||
confirmation
|
||||
[[ "${confirmation,,}" == yes ]] || continue
|
||||
if TAPM_POST_APPLY_PROFILE custom; then
|
||||
echo -e "\n${idsCL[Green]}The custom TAPM profile was applied.${idsCL[Default]}"
|
||||
echo " Backup: ${TAPM_POST_LAST_BACKUP}"
|
||||
FINISH_ACTION
|
||||
return
|
||||
fi
|
||||
echo -e "\n${idsCL[LightRed]}${TAPM_POST_LAST_ERROR:-Custom profile application failed.}${idsCL[Default]}"
|
||||
backup_dir="$TAPM_POST_LAST_BACKUP"
|
||||
if TAPM_POST_FAILURE_RECOVERY "$backup_dir" custom; then
|
||||
FINISH_ACTION
|
||||
else
|
||||
FINISH_FAILED_ACTION
|
||||
fi
|
||||
return
|
||||
;;
|
||||
back) return ;;
|
||||
quit) EXIT1; exit 0 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
TAPM_POST_SHOW_AUDIT() {
|
||||
MENU_HEADER
|
||||
echo
|
||||
TAPM_POST_AUDIT
|
||||
FINISH_ACTION
|
||||
}
|
||||
|
||||
TAPM_POST_SHOW_REPORT() {
|
||||
local report='/var/lib/ta-proxmenu/post-install/last-report.txt'
|
||||
|
||||
MENU_HEADER
|
||||
echo
|
||||
if [[ -f "$report" ]]; then
|
||||
cat "$report"
|
||||
else
|
||||
echo -e " ${idsCL[LightYellow]}No completed TAPM host configuration report is available.${idsCL[Default]}"
|
||||
fi
|
||||
FINISH_ACTION
|
||||
}
|
||||
|
||||
TAPM_POST_RESTORE_MENU() {
|
||||
local backup_base='/var/backups/ta-proxmenu/post-install'
|
||||
local -a labels=()
|
||||
local -a values=()
|
||||
local backup_dir
|
||||
local confirmation
|
||||
|
||||
if [[ -d "$backup_base" ]]; then
|
||||
while IFS= read -r backup_dir; do
|
||||
[[ -f "${backup_dir}/manifest.tsv" ]] || continue
|
||||
labels+=("${backup_dir##*/}")
|
||||
values+=("$backup_dir")
|
||||
done < <(find "$backup_base" -mindepth 1 -maxdepth 1 -type d |
|
||||
sort -r)
|
||||
fi
|
||||
if (( ${#labels[@]} == 0 )); then
|
||||
echo -e "\n${idsCL[LightYellow]}No TAPM host configuration backups were found.${idsCL[Default]}"
|
||||
FINISH_FAILED_ACTION
|
||||
return
|
||||
fi
|
||||
|
||||
SELECT_MENU "Restore TAPM Host Configuration Backup" labels values
|
||||
case "$MENU_SELECTION" in
|
||||
back) return ;;
|
||||
quit) EXIT1; exit 0 ;;
|
||||
esac
|
||||
backup_dir="$MENU_SELECTION"
|
||||
echo
|
||||
echo " Selected backup: $backup_dir"
|
||||
echo " Restoring may also reinstate files or services removed during migration."
|
||||
read -r -p " Restore this backup (type restore to continue)? " confirmation
|
||||
[[ "${confirmation,,}" == restore ]] || return
|
||||
if TAPM_POST_RESTORE_BACKUP "$backup_dir"; then
|
||||
echo -e "\n${idsCL[Green]}The selected configuration backup was restored.${idsCL[Default]}"
|
||||
FINISH_ACTION
|
||||
return
|
||||
fi
|
||||
echo -e "\n${idsCL[LightRed]}The selected backup could not be fully restored.${idsCL[Default]}"
|
||||
FINISH_FAILED_ACTION
|
||||
}
|
||||
|
||||
TAPM_POST_VZDUMP_APPLY() {
|
||||
local mode="$1"
|
||||
local bandwidth="${2:-}"
|
||||
local ionice="${3:-}"
|
||||
|
||||
TAPM_POST_LAST_ERROR=''
|
||||
if ! TAPM_POST_PRECHECK; then
|
||||
echo -e "\n${idsCL[LightRed]}$TAPM_POST_LAST_ERROR${idsCL[Default]}"
|
||||
FINISH_FAILED_ACTION
|
||||
return
|
||||
fi
|
||||
if ! TAPM_POST_BACKUP >/dev/null; then
|
||||
echo -e "\n${idsCL[LightRed]}The vzdump configuration backup failed.${idsCL[Default]}"
|
||||
FINISH_FAILED_ACTION
|
||||
return
|
||||
fi
|
||||
case "$mode" in
|
||||
defaults)
|
||||
TAPM_POST_REMOVE_COLON_KEY /etc/vzdump.conf bwlimit &&
|
||||
TAPM_POST_REMOVE_COLON_KEY /etc/vzdump.conf ionice
|
||||
;;
|
||||
maximum)
|
||||
TAPM_POST_SET_COLON_KEY /etc/vzdump.conf bwlimit 0 &&
|
||||
TAPM_POST_SET_COLON_KEY /etc/vzdump.conf ionice 5
|
||||
;;
|
||||
custom)
|
||||
TAPM_POST_SET_COLON_KEY /etc/vzdump.conf bwlimit "$bandwidth" &&
|
||||
TAPM_POST_SET_COLON_KEY /etc/vzdump.conf ionice "$ionice"
|
||||
;;
|
||||
esac
|
||||
if (( $? == 0 )); then
|
||||
echo -e "\n${idsCL[Green]}vzdump performance settings were updated.${idsCL[Default]}"
|
||||
echo " Backup: ${TAPM_POST_LAST_BACKUP}"
|
||||
FINISH_ACTION
|
||||
return
|
||||
fi
|
||||
echo -e "\n${idsCL[LightRed]}vzdump performance settings could not be updated.${idsCL[Default]}"
|
||||
FINISH_FAILED_ACTION
|
||||
}
|
||||
|
||||
TAPM_POST_VZDUMP_MENU() {
|
||||
local -a labels=(
|
||||
"Use Proxmox defaults — recommended"
|
||||
"Maximum throughput — unlimited, ionice 5"
|
||||
"Set a custom bandwidth limit"
|
||||
"Restore a TAPM configuration backup"
|
||||
)
|
||||
local -a values=(defaults maximum custom restore)
|
||||
local confirmation
|
||||
local bandwidth_mib
|
||||
local bandwidth_kib
|
||||
local ionice
|
||||
|
||||
SELECT_MENU "Configure vzdump Performance" labels values
|
||||
case "$MENU_SELECTION" in
|
||||
defaults)
|
||||
TAPM_POST_VZDUMP_APPLY defaults
|
||||
;;
|
||||
maximum)
|
||||
echo
|
||||
echo -e "${idsCL[LightYellow]}This can saturate shared storage and increase guest latency.${idsCL[Default]}"
|
||||
read -r -p " Enable maximum throughput (type yes to continue)? " confirmation
|
||||
[[ "${confirmation,,}" == yes ]] &&
|
||||
TAPM_POST_VZDUMP_APPLY maximum
|
||||
;;
|
||||
custom)
|
||||
echo
|
||||
while true; do
|
||||
read -r -p " Bandwidth limit in MiB/s (0 means unlimited): " bandwidth_mib
|
||||
[[ "$bandwidth_mib" =~ ^[0-9]+$ ]] && break
|
||||
echo " Enter a nonnegative whole number."
|
||||
done
|
||||
while true; do
|
||||
read -r -p " I/O priority [0-8, Proxmox default is 7]: " ionice
|
||||
[[ "$ionice" =~ ^[0-8]$ ]] && break
|
||||
echo " Enter a value from 0 through 8."
|
||||
done
|
||||
bandwidth_kib=$((bandwidth_mib * 1024))
|
||||
TAPM_POST_VZDUMP_APPLY custom "$bandwidth_kib" "$ionice"
|
||||
;;
|
||||
restore) TAPM_POST_RESTORE_MENU ;;
|
||||
back) return ;;
|
||||
quit) EXIT1; exit 0 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
TAPM_HOST_CONFIGURATION_MENU() {
|
||||
local -a labels
|
||||
local -a values
|
||||
|
||||
while true; do
|
||||
labels=(
|
||||
"Audit current host"
|
||||
"Apply/repair recommended TAPM profile"
|
||||
"Customize TAPM profile"
|
||||
)
|
||||
values=(audit apply customize)
|
||||
if TAPM_POST_PROXMENUX_DETECTED; then
|
||||
labels+=("** Migrate from ProxMenux — RECOMMENDED **")
|
||||
values+=(migrate)
|
||||
fi
|
||||
labels+=(
|
||||
"Configure vzdump performance"
|
||||
"Restore a TAPM configuration backup"
|
||||
"View last configuration report"
|
||||
)
|
||||
values+=(vzdump restore report)
|
||||
|
||||
SELECT_MENU "TAPM Host Configuration" labels values
|
||||
case "$MENU_SELECTION" in
|
||||
audit) TAPM_POST_SHOW_AUDIT ;;
|
||||
apply) TAPM_POST_APPLY_RECOMMENDED ;;
|
||||
customize) TAPM_POST_CUSTOMIZE ;;
|
||||
migrate) TAPM_POST_MIGRATE_PROXMENUX ;;
|
||||
vzdump) TAPM_POST_VZDUMP_MENU ;;
|
||||
restore) TAPM_POST_RESTORE_MENU ;;
|
||||
report) TAPM_POST_SHOW_REPORT ;;
|
||||
back) return ;;
|
||||
quit) EXIT1; exit 0 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
SHOW_ABOUT() {
|
||||
MENU_HEADER
|
||||
echo
|
||||
@@ -1877,10 +2170,10 @@ HOST_SETUP_MENU() {
|
||||
local -a values
|
||||
|
||||
while true; do
|
||||
labels=("Run ProxMenux post-install configuration")
|
||||
labels=("TAPM Host Configuration")
|
||||
values=("post_install")
|
||||
[ -f /opt/.PROXMENUX_POST_INSTALL ] &&
|
||||
labels[0]="Run ProxMenux post-install configuration (previously run)"
|
||||
TAPM_POST_PROXMENUX_DETECTED &&
|
||||
labels[0]="TAPM Host Configuration — ProxMenux migration recommended"
|
||||
labels+=("Detect CPU model for live migrations")
|
||||
values+=("cpu")
|
||||
|
||||
@@ -1902,7 +2195,7 @@ HOST_SETUP_MENU() {
|
||||
|
||||
SELECT_MENU "Host Setup" labels values
|
||||
case "$MENU_SELECTION" in
|
||||
post_install) PROXMENUX_POST_INSTALL;;
|
||||
post_install) TAPM_HOST_CONFIGURATION_MENU;;
|
||||
cpu) DETECT_CPU;;
|
||||
virtio) VIRTIO_MENU;;
|
||||
glances) INSTALL_GLANCES;;
|
||||
@@ -2285,14 +2578,7 @@ if (( ACTION_REQUESTED == 1 )); then
|
||||
omsa) INSTALL_OMSA;;
|
||||
glances) INSTALL_GLANCES;;
|
||||
acronis) INSTALL_ACRONIS;;
|
||||
post-install|post_install) PROXMENUX_POST_INSTALL;;
|
||||
proxmenux)
|
||||
if [[ ! -f /usr/local/bin/menu ]]; then
|
||||
INSTALL_PROXMENUX
|
||||
else
|
||||
/usr/local/bin/menu
|
||||
fi
|
||||
;;
|
||||
post-install|post_install|proxmenux) TAPM_HOST_CONFIGURATION_MENU;;
|
||||
virtio) VIRTIO_MENU;;
|
||||
sentinelone|s1) INSTALL_S1;;
|
||||
screenconnect) INSTALL_SCREENCONNECT;;
|
||||
|
||||
Reference in New Issue
Block a user