Add refactored build menu functions

Introduces misc/build refactor_menu.func with comprehensive build and configuration functions for LXC containers in Proxmox VE. Refactors and modularizes initialization, storage selection, resource management, and advanced interactive configuration logic from misc/build.func.
This commit is contained in:
CanbiZ 2025-11-27 15:28:55 +01:00
parent acadc4496e
commit a8940ee416
2 changed files with 3843 additions and 70 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1803,8 +1803,12 @@ install_script() {
menu_items+=("4" "Settings")
fi
if [ -z "$CHOICE" ]; then
APPDEFAULTS_OPTION="$appdefaults_option"
SETTINGS_OPTION="$settings_option"
# Main menu loop - allows returning from Settings
while true; do
if [ -z "$CHOICE" ]; then
TMP_CHOICE=$(whiptail \
--backtitle "Proxmox VE Helper Scripts" \
--title "Community-Scripts Options" \
@ -1818,9 +1822,6 @@ install_script() {
CHOICE="$TMP_CHOICE"
fi
APPDEFAULTS_OPTION="$appdefaults_option"
SETTINGS_OPTION="$settings_option"
# --- Main case ---
local defaults_target=""
local run_maybe_offer="no"
@ -1833,10 +1834,10 @@ install_script() {
base_settings "$VERBOSE"
echo_default
defaults_target="$(ensure_global_default_vars_file)"
break
;;
2 | advanced | ADVANCED)
header_info
echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Install on node $PVEHOST_NAME${CL}"
echo -e "${INFO}${BOLD}${DGN}PVE Version ${PVEVERSION} (Kernel: ${KERNEL_VERSION})${CL}"
METHOD="advanced"
@ -1844,13 +1845,15 @@ install_script() {
advanced_settings
defaults_target="$(ensure_global_default_vars_file)"
run_maybe_offer="yes"
break
;;
3 | mydefaults | MYDEFAULTS)
3 | mydefaults | MYDEFAULTS | userdefaults | USERDEFAULTS)
default_var_settings || {
msg_error "Failed to apply default.vars"
exit 1
}
defaults_target="/usr/local/community-scripts/default.vars"
break
;;
"$APPDEFAULTS_OPTION" | appdefaults | APPDEFAULTS)
if [ -f "$(get_app_defaults_path)" ]; then
@ -1861,6 +1864,7 @@ install_script() {
_load_vars_file "$(get_app_defaults_path)"
echo_default
defaults_target="$(get_app_defaults_path)"
break
else
msg_error "No App Defaults available for ${APP}"
exit 1
@ -1868,15 +1872,16 @@ install_script() {
;;
"$SETTINGS_OPTION" | settings | SETTINGS)
settings_menu
# After settings menu, return to main menu
input_options
return
# After settings menu, show main menu again
header_info
CHOICE=""
;;
*)
echo -e "${CROSS}${RD}Invalid option: $CHOICE${CL}"
exit 1
;;
esac
done
if [[ -n "$defaults_target" ]]; then
ensure_storage_selection_for_vars_file "$defaults_target"