From 4b4913ab3e6ad77c3d8b76a52e4637f69e3aefac Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 25 Jun 2025 14:40:17 +0200 Subject: [PATCH] testing: default_storage --- misc/build.func | 39 ++++++++++++++++++++++++++++++++++----- misc/create_lxc.sh | 26 +++++++++++++++++++------- 2 files changed, 53 insertions(+), 12 deletions(-) diff --git a/misc/build.func b/misc/build.func index 2b38480d..7b5be747 100644 --- a/misc/build.func +++ b/misc/build.func @@ -185,6 +185,31 @@ ssh_check() { fi fi } + +manage_default_storage() { + local current_template="None" + local current_container="None" + local file="/usr/local/community-scripts/default_storage" + + if [[ -f "$file" ]]; then + source "$file" + current_template="$TEMPLATE_STORAGE" + current_container="$CONTAINER_STORAGE" + fi + + local tmpl=$(select_storage template) + local cont=$(select_storage container) + + mkdir -p /usr/local/community-scripts + cat <"$file" +TEMPLATE_STORAGE=$tmpl +CONTAINER_STORAGE=$cont +EOF + + whiptail --backtitle "[dev] Proxmox VE Helper Scripts" \ + --msgbox "Default Storage set:\n\nTemplate: $tmpl\nContainer: $cont" 10 58 +} + base_settings() { # Default Settings CT_TYPE="1" @@ -884,13 +909,14 @@ install_script() { while true; do CHOICE=$(whiptail --backtitle "[dev] Proxmox VE Helper Scripts" --title "SETTINGS" --menu "Choose an option:" \ - 18 60 6 \ + 20 60 7 \ "1" "Default Settings" \ "2" "Default Settings (with verbose)" \ "3" "Advanced Settings" \ "4" "Use Config File" \ - "5" "Diagnostic Settings" \ - "6" "Exit" --nocancel --default-item "1" 3>&1 1>&2 2>&3) + "5" "Manage Default Storage" \ + "6" "Diagnostic Settings" \ + "7" "Exit" --nocancel --default-item "1" 3>&1 1>&2 2>&3) if [ $? -ne 0 ]; then echo -e "${CROSS}${RD} Menu canceled. Exiting.${CL}" @@ -932,7 +958,11 @@ install_script() { config_file break ;; + 5) + manage_default_storage + ;; + 6) if [[ $DIAGNOSTICS == "yes" ]]; then if whiptail --backtitle "[dev] Proxmox VE Helper Scripts" --title "DIAGNOSTICS SETTINGS" --yesno "Send Diagnostics of LXC Installation?\n\nCurrent setting: ${DIAGNOSTICS}" 10 58 \ --yes-button "No" --no-button "Back"; then @@ -948,9 +978,8 @@ install_script() { whiptail --backtitle "[dev] Proxmox VE Helper Scripts" --title "DIAGNOSTICS SETTINGS" --msgbox "Diagnostics settings changed to ${DIAGNOSTICS}." 8 58 fi fi - ;; - 6) + 7) echo -e "${CROSS}${RD}Exiting.${CL}" exit 0 ;; diff --git a/misc/create_lxc.sh b/misc/create_lxc.sh index 867a94bf..7349d204 100644 --- a/misc/create_lxc.sh +++ b/misc/create_lxc.sh @@ -158,13 +158,25 @@ if qm status "$CTID" &>/dev/null || pct status "$CTID" &>/dev/null; then exit 206 fi -# Get template storage -TEMPLATE_STORAGE=$(select_storage template) -msg_ok "Using ${BL}$TEMPLATE_STORAGE${CL} ${GN}for Template Storage." - -# Get container storage -CONTAINER_STORAGE=$(select_storage container) -msg_ok "Using ${BL}$CONTAINER_STORAGE${CL} ${GN}for Container Storage." +DEFAULT_FILE="/usr/local/community-scripts/default_storage" +if [[ -f "$DEFAULT_FILE" ]]; then + source "$DEFAULT_FILE" + if [[ -n "$TEMPLATE_STORAGE" && -n "$CONTAINER_STORAGE" ]]; then + msg_info "Using default storage configuration" + msg_ok "Template Storage: ${BL}$TEMPLATE_STORAGE${CL} ${GN}|${CL} Container Storage: ${BL}$CONTAINER_STORAGE${CL}" + else + msg_warn "Default storage file found but incomplete – falling back to manual selection" + TEMPLATE_STORAGE=$(select_storage template) + msg_ok "Using ${BL}$TEMPLATE_STORAGE${CL} ${GN}for Template Storage." + CONTAINER_STORAGE=$(select_storage container) + msg_ok "Using ${BL}$CONTAINER_STORAGE${CL} ${GN}for Container Storage." + fi +else + TEMPLATE_STORAGE=$(select_storage template) + msg_ok "Using ${BL}$TEMPLATE_STORAGE${CL} ${GN}for Template Storage." + CONTAINER_STORAGE=$(select_storage container) + msg_ok "Using ${BL}$CONTAINER_STORAGE${CL} ${GN}for Container Storage." +fi # Check free space on selected container storage STORAGE_FREE=$(pvesm status | awk -v s="$CONTAINER_STORAGE" '$1 == s { print $6 }')