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:
parent
acadc4496e
commit
a8940ee416
3768
misc/build refactor_menu.func
Normal file
3768
misc/build refactor_menu.func
Normal file
File diff suppressed because it is too large
Load Diff
@ -1803,8 +1803,12 @@ install_script() {
|
|||||||
menu_items+=("4" "Settings")
|
menu_items+=("4" "Settings")
|
||||||
fi
|
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 \
|
TMP_CHOICE=$(whiptail \
|
||||||
--backtitle "Proxmox VE Helper Scripts" \
|
--backtitle "Proxmox VE Helper Scripts" \
|
||||||
--title "Community-Scripts Options" \
|
--title "Community-Scripts Options" \
|
||||||
@ -1818,9 +1822,6 @@ install_script() {
|
|||||||
CHOICE="$TMP_CHOICE"
|
CHOICE="$TMP_CHOICE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
APPDEFAULTS_OPTION="$appdefaults_option"
|
|
||||||
SETTINGS_OPTION="$settings_option"
|
|
||||||
|
|
||||||
# --- Main case ---
|
# --- Main case ---
|
||||||
local defaults_target=""
|
local defaults_target=""
|
||||||
local run_maybe_offer="no"
|
local run_maybe_offer="no"
|
||||||
@ -1833,10 +1834,10 @@ install_script() {
|
|||||||
base_settings "$VERBOSE"
|
base_settings "$VERBOSE"
|
||||||
echo_default
|
echo_default
|
||||||
defaults_target="$(ensure_global_default_vars_file)"
|
defaults_target="$(ensure_global_default_vars_file)"
|
||||||
|
break
|
||||||
;;
|
;;
|
||||||
2 | advanced | ADVANCED)
|
2 | advanced | ADVANCED)
|
||||||
header_info
|
header_info
|
||||||
|
|
||||||
echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Install on node $PVEHOST_NAME${CL}"
|
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}"
|
echo -e "${INFO}${BOLD}${DGN}PVE Version ${PVEVERSION} (Kernel: ${KERNEL_VERSION})${CL}"
|
||||||
METHOD="advanced"
|
METHOD="advanced"
|
||||||
@ -1844,13 +1845,15 @@ install_script() {
|
|||||||
advanced_settings
|
advanced_settings
|
||||||
defaults_target="$(ensure_global_default_vars_file)"
|
defaults_target="$(ensure_global_default_vars_file)"
|
||||||
run_maybe_offer="yes"
|
run_maybe_offer="yes"
|
||||||
|
break
|
||||||
;;
|
;;
|
||||||
3 | mydefaults | MYDEFAULTS)
|
3 | mydefaults | MYDEFAULTS | userdefaults | USERDEFAULTS)
|
||||||
default_var_settings || {
|
default_var_settings || {
|
||||||
msg_error "Failed to apply default.vars"
|
msg_error "Failed to apply default.vars"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
defaults_target="/usr/local/community-scripts/default.vars"
|
defaults_target="/usr/local/community-scripts/default.vars"
|
||||||
|
break
|
||||||
;;
|
;;
|
||||||
"$APPDEFAULTS_OPTION" | appdefaults | APPDEFAULTS)
|
"$APPDEFAULTS_OPTION" | appdefaults | APPDEFAULTS)
|
||||||
if [ -f "$(get_app_defaults_path)" ]; then
|
if [ -f "$(get_app_defaults_path)" ]; then
|
||||||
@ -1861,6 +1864,7 @@ install_script() {
|
|||||||
_load_vars_file "$(get_app_defaults_path)"
|
_load_vars_file "$(get_app_defaults_path)"
|
||||||
echo_default
|
echo_default
|
||||||
defaults_target="$(get_app_defaults_path)"
|
defaults_target="$(get_app_defaults_path)"
|
||||||
|
break
|
||||||
else
|
else
|
||||||
msg_error "No App Defaults available for ${APP}"
|
msg_error "No App Defaults available for ${APP}"
|
||||||
exit 1
|
exit 1
|
||||||
@ -1868,15 +1872,16 @@ install_script() {
|
|||||||
;;
|
;;
|
||||||
"$SETTINGS_OPTION" | settings | SETTINGS)
|
"$SETTINGS_OPTION" | settings | SETTINGS)
|
||||||
settings_menu
|
settings_menu
|
||||||
# After settings menu, return to main menu
|
# After settings menu, show main menu again
|
||||||
input_options
|
header_info
|
||||||
return
|
CHOICE=""
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo -e "${CROSS}${RD}Invalid option: $CHOICE${CL}"
|
echo -e "${CROSS}${RD}Invalid option: $CHOICE${CL}"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
if [[ -n "$defaults_target" ]]; then
|
if [[ -n "$defaults_target" ]]; then
|
||||||
ensure_storage_selection_for_vars_file "$defaults_target"
|
ensure_storage_selection_for_vars_file "$defaults_target"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user