Refactor and modernize build.func script
Refactored case statements and conditional checks to use more idiomatic and consistent Bash syntax. Replaced German comments with English, improved readability by splitting long lines, and standardized variable assignments. Enhanced maintainability by using case/esac and if/then constructs, and replaced double-bracketed conditionals with POSIX-compliant single brackets where appropriate.
This commit is contained in:
parent
d6a1183824
commit
4c4f4ecfe6
402
misc/build.func
402
misc/build.func
@ -1192,7 +1192,10 @@ _is_whitelisted_key() {
|
|||||||
_sanitize_value() {
|
_sanitize_value() {
|
||||||
# Disallow Command-Substitution / Shell-Meta
|
# Disallow Command-Substitution / Shell-Meta
|
||||||
case "$1" in
|
case "$1" in
|
||||||
*'$('*|*'`'*|*';'*|*'&'*|*'<('* ) echo ""; return 0 ;;
|
*'$('* | *'`'* | *';'* | *'&'* | *'<('*)
|
||||||
|
echo ""
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
echo "$1"
|
echo "$1"
|
||||||
}
|
}
|
||||||
@ -1205,7 +1208,8 @@ _load_vars_file_to_map() {
|
|||||||
[[ -f "$file" ]] || return 0
|
[[ -f "$file" ]] || return 0
|
||||||
local line
|
local line
|
||||||
while IFS= read -r line || [[ -n "$line" ]]; do
|
while IFS= read -r line || [[ -n "$line" ]]; do
|
||||||
line="${line#"${line%%[![:space:]]*}"}"; line="${line%"${line##*[![:space:]]}"}"
|
line="${line#"${line%%[![:space:]]*}"}"
|
||||||
|
line="${line%"${line##*[![:space:]]}"}"
|
||||||
[[ -z "$line" || "$line" == \#* ]] && continue
|
[[ -z "$line" || "$line" == \#* ]] && continue
|
||||||
if [[ "$line" =~ ^([A-Za-z_][A-Za-z0-9_]*)=(.*)$ ]]; then
|
if [[ "$line" =~ ^([A-Za-z_][A-Za-z0-9_]*)=(.*)$ ]]; then
|
||||||
local k="${BASH_REMATCH[1]}"
|
local k="${BASH_REMATCH[1]}"
|
||||||
@ -1225,8 +1229,10 @@ _build_vars_diff() {
|
|||||||
local oldf="$1" newf="$2"
|
local oldf="$1" newf="$2"
|
||||||
local k
|
local k
|
||||||
local -A OLD=() NEW=()
|
local -A OLD=() NEW=()
|
||||||
_load_vars_file_to_map "$oldf"; for k in "${!_VARS_IN[@]}"; do OLD["$k"]="${_VARS_IN[$k]}"; done
|
_load_vars_file_to_map "$oldf"
|
||||||
_load_vars_file_to_map "$newf"; for k in "${!_VARS_IN[@]}"; do NEW["$k"]="${_VARS_IN[$k]}"; done
|
for k in "${!_VARS_IN[@]}"; do OLD["$k"]="${_VARS_IN[$k]}"; done
|
||||||
|
_load_vars_file_to_map "$newf"
|
||||||
|
for k in "${!_VARS_IN[@]}"; do NEW["$k"]="${_VARS_IN[$k]}"; done
|
||||||
|
|
||||||
local out
|
local out
|
||||||
out+="# Diff for ${APP} (${NSAPP})\n"
|
out+="# Diff for ${APP} (${NSAPP})\n"
|
||||||
@ -1262,58 +1268,70 @@ _build_vars_diff() {
|
|||||||
printf "%b" "$out"
|
printf "%b" "$out"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Baut aus der aktuellen Advanced-Auswahl eine temporäre <app>.vars-Datei
|
# Build a temporary <app>.vars file from current advanced settings
|
||||||
_build_current_app_vars_tmp() {
|
_build_current_app_vars_tmp() {
|
||||||
local tmpf
|
tmpf="$(mktemp /tmp/${NSAPP:-app}.vars.new.XXXXXX)"
|
||||||
tmpf="$(mktemp -p /tmp "${NSAPP:-app}.vars.new.XXXXXX")"
|
|
||||||
|
|
||||||
# NET/GW
|
# NET/GW
|
||||||
local _net="${NET:-}"
|
_net="${NET:-}"
|
||||||
local _gate=""
|
_gate=""
|
||||||
[[ "${GATE:-}" =~ ^,gw= ]] && _gate="${GATE#,gw=}"
|
case "${GATE:-}" in
|
||||||
|
,gw=*) _gate=$(echo "$GATE" | sed 's/^,gw=//') ;;
|
||||||
# IPv6
|
|
||||||
local _ipv6_method="${IPV6_METHOD:-auto}"
|
|
||||||
local _ipv6_static=""
|
|
||||||
local _ipv6_gateway=""
|
|
||||||
case "$_ipv6_method" in
|
|
||||||
static)
|
|
||||||
_ipv6_static="${IPV6_ADDR:-}"
|
|
||||||
_ipv6_gateway="${IPV6_GATE:-}"
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# MTU/VLAN/MAC
|
# IPv6
|
||||||
local _mtu="" _vlan="" _mac=""
|
_ipv6_method="${IPV6_METHOD:-auto}"
|
||||||
[[ "${MTU:-}" =~ ^,mtu= ]] && _mtu="${MTU#,mtu=}"
|
_ipv6_static=""
|
||||||
[[ "${VLAN:-}" =~ ^,tag= ]] && _vlan="${VLAN#,tag=}"
|
_ipv6_gateway=""
|
||||||
[[ "${MAC:-}" =~ ^,hwaddr=]] && _mac="${MAC#,hwaddr=}"
|
if [ "$_ipv6_method" = "static" ]; then
|
||||||
|
_ipv6_static="${IPV6_ADDR:-}"
|
||||||
|
_ipv6_gateway="${IPV6_GATE:-}"
|
||||||
|
fi
|
||||||
|
|
||||||
# DNS/SD
|
# MTU/VLAN/MAC
|
||||||
local _ns="" _searchdomain=""
|
_mtu=""
|
||||||
[[ "${NS:-}" =~ ^-nameserver= ]] && _ns="${NS#-nameserver=}"
|
_vlan=""
|
||||||
[[ "${SD:-}" =~ ^-searchdomain= ]] && _searchdomain="${SD#-searchdomain=}"
|
_mac=""
|
||||||
|
case "${MTU:-}" in
|
||||||
|
,mtu=*) _mtu=$(echo "$MTU" | sed 's/^,mtu=//') ;;
|
||||||
|
esac
|
||||||
|
case "${VLAN:-}" in
|
||||||
|
,tag=*) _vlan=$(echo "$VLAN" | sed 's/^,tag=//') ;;
|
||||||
|
esac
|
||||||
|
case "${MAC:-}" in
|
||||||
|
,hwaddr=*) _mac=$(echo "$MAC" | sed 's/^,hwaddr=//') ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# DNS / Searchdomain
|
||||||
|
_ns=""
|
||||||
|
_searchdomain=""
|
||||||
|
case "${NS:-}" in
|
||||||
|
-nameserver=*) _ns=$(echo "$NS" | sed 's/^-nameserver=//') ;;
|
||||||
|
esac
|
||||||
|
case "${SD:-}" in
|
||||||
|
-searchdomain=*) _searchdomain=$(echo "$SD" | sed 's/^-searchdomain=//') ;;
|
||||||
|
esac
|
||||||
|
|
||||||
# SSH / APT / Features
|
# SSH / APT / Features
|
||||||
local _ssh="${SSH:-no}"
|
_ssh="${SSH:-no}"
|
||||||
local _ssh_auth="${SSH_AUTHORIZED_KEY:-}"
|
_ssh_auth="${SSH_AUTHORIZED_KEY:-}"
|
||||||
local _apt_cacher="${APT_CACHER:-}"
|
_apt_cacher="${APT_CACHER:-}"
|
||||||
local _apt_cacher_ip="${APT_CACHER_IP:-}"
|
_apt_cacher_ip="${APT_CACHER_IP:-}"
|
||||||
local _fuse="${ENABLE_FUSE:-no}"
|
_fuse="${ENABLE_FUSE:-no}"
|
||||||
local _tun="${ENABLE_TUN:-no}"
|
_tun="${ENABLE_TUN:-no}"
|
||||||
local _tags="${TAGS:-}"
|
_tags="${TAGS:-}"
|
||||||
local _verbose="${VERBOSE:-no}"
|
_verbose="${VERBOSE:-no}"
|
||||||
|
|
||||||
# Typ/Resourcen/Identity
|
# Type / Resources / Identity
|
||||||
local _unpriv="${CT_TYPE:-1}"
|
_unpriv="${CT_TYPE:-1}"
|
||||||
local _cpu="${CORE_COUNT:-1}"
|
_cpu="${CORE_COUNT:-1}"
|
||||||
local _ram="${RAM_SIZE:-1024}"
|
_ram="${RAM_SIZE:-1024}"
|
||||||
local _disk="${DISK_SIZE:-4}"
|
_disk="${DISK_SIZE:-4}"
|
||||||
local _hostname="${HN:-$NSAPP}"
|
_hostname="${HN:-$NSAPP}"
|
||||||
|
|
||||||
# Storage (falls vorhanden)
|
# Storage
|
||||||
local _tpl_storage="${TEMPLATE_STORAGE:-}"
|
_tpl_storage="${TEMPLATE_STORAGE:-}"
|
||||||
local _ct_storage="${CONTAINER_STORAGE:-}"
|
_ct_storage="${CONTAINER_STORAGE:-}"
|
||||||
|
|
||||||
{
|
{
|
||||||
echo "# App-specific defaults for ${APP} (${NSAPP})"
|
echo "# App-specific defaults for ${APP} (${NSAPP})"
|
||||||
@ -1325,33 +1343,33 @@ _build_current_app_vars_tmp() {
|
|||||||
echo "var_ram=$(_sanitize_value "$_ram")"
|
echo "var_ram=$(_sanitize_value "$_ram")"
|
||||||
echo "var_disk=$(_sanitize_value "$_disk")"
|
echo "var_disk=$(_sanitize_value "$_disk")"
|
||||||
|
|
||||||
[[ -n "${BRG:-}" ]] && echo "var_brg=$(_sanitize_value "$BRG")"
|
[ -n "${BRG:-}" ] && echo "var_brg=$(_sanitize_value "$BRG")"
|
||||||
[[ -n "$_net" ]] && echo "var_net=$(_sanitize_value "$_net")"
|
[ -n "$_net" ] && echo "var_net=$(_sanitize_value "$_net")"
|
||||||
[[ -n "$_gate" ]] && echo "var_gateway=$(_sanitize_value "$_gate")"
|
[ -n "$_gate" ] && echo "var_gateway=$(_sanitize_value "$_gate")"
|
||||||
[[ -n "$_mtu" ]] && echo "var_mtu=$(_sanitize_value "$_mtu")"
|
[ -n "$_mtu" ] && echo "var_mtu=$(_sanitize_value "$_mtu")"
|
||||||
[[ -n "$_vlan" ]] && echo "var_vlan=$(_sanitize_value "$_vlan")"
|
[ -n "$_vlan" ] && echo "var_vlan=$(_sanitize_value "$_vlan")"
|
||||||
[[ -n "$_mac" ]] && echo "var_mac=$(_sanitize_value "$_mac")"
|
[ -n "$_mac" ] && echo "var_mac=$(_sanitize_value "$_mac")"
|
||||||
[[ -n "$_ns" ]] && echo "var_ns=$(_sanitize_value "$_ns")"
|
[ -n "$_ns" ] && echo "var_ns=$(_sanitize_value "$_ns")"
|
||||||
|
|
||||||
[[ -n "$_ipv6_method" ]] && echo "var_ipv6_method=$(_sanitize_value "$_ipv6_method")"
|
[ -n "$_ipv6_method" ] && echo "var_ipv6_method=$(_sanitize_value "$_ipv6_method")"
|
||||||
[[ -n "$_ipv6_static" ]] && echo "var_ipv6_static=$(_sanitize_value "$_ipv6_static")"
|
[ -n "$_ipv6_static" ] && echo "var_ipv6_static=$(_sanitize_value "$_ipv6_static")"
|
||||||
|
|
||||||
[[ -n "$_ssh" ]] && echo "var_ssh=$(_sanitize_value "$_ssh")"
|
[ -n "$_ssh" ] && echo "var_ssh=$(_sanitize_value "$_ssh")"
|
||||||
[[ -n "$_ssh_auth" ]] && echo "var_ssh_authorized_key=$(_sanitize_value "$_ssh_auth")"
|
[ -n "$_ssh_auth" ] && echo "var_ssh_authorized_key=$(_sanitize_value "$_ssh_auth")"
|
||||||
|
|
||||||
[[ -n "$_apt_cacher" ]] && echo "var_apt_cacher=$(_sanitize_value "$_apt_cacher")"
|
[ -n "$_apt_cacher" ] && echo "var_apt_cacher=$(_sanitize_value "$_apt_cacher")"
|
||||||
[[ -n "$_apt_cacher_ip" ]] && echo "var_apt_cacher_ip=$(_sanitize_value "$_apt_cacher_ip")"
|
[ -n "$_apt_cacher_ip" ] && echo "var_apt_cacher_ip=$(_sanitize_value "$_apt_cacher_ip")"
|
||||||
|
|
||||||
[[ -n "$_fuse" ]] && echo "var_fuse=$(_sanitize_value "$_fuse")"
|
[ -n "$_fuse" ] && echo "var_fuse=$(_sanitize_value "$_fuse")"
|
||||||
[[ -n "$_tun" ]] && echo "var_tun=$(_sanitize_value "$_tun")"
|
[ -n "$_tun" ] && echo "var_tun=$(_sanitize_value "$_tun")"
|
||||||
[[ -n "$_tags" ]] && echo "var_tags=$(_sanitize_value "$_tags")"
|
[ -n "$_tags" ] && echo "var_tags=$(_sanitize_value "$_tags")"
|
||||||
[[ -n "$_verbose" ]] && echo "var_verbose=$(_sanitize_value "$_verbose")"
|
[ -n "$_verbose" ] && echo "var_verbose=$(_sanitize_value "$_verbose")"
|
||||||
|
|
||||||
[[ -n "$_hostname" ]] && echo "var_hostname=$(_sanitize_value "$_hostname")"
|
[ -n "$_hostname" ] && echo "var_hostname=$(_sanitize_value "$_hostname")"
|
||||||
[[ -n "$_searchdomain" ]] && echo "var_searchdomain=$(_sanitize_value "$_searchdomain")"
|
[ -n "$_searchdomain" ] && echo "var_searchdomain=$(_sanitize_value "$_searchdomain")"
|
||||||
|
|
||||||
[[ -n "$_tpl_storage" ]] && echo "var_template_storage=$(_sanitize_value "$_tpl_storage")"
|
[ -n "$_tpl_storage" ] && echo "var_template_storage=$(_sanitize_value "$_tpl_storage")"
|
||||||
[[ -n "$_ct_storage" ]] && echo "var_container_storage=$(_sanitize_value "$_ct_storage")"
|
[ -n "$_ct_storage" ] && echo "var_container_storage=$(_sanitize_value "$_ct_storage")"
|
||||||
} >"$tmpf"
|
} >"$tmpf"
|
||||||
|
|
||||||
echo "$tmpf"
|
echo "$tmpf"
|
||||||
@ -1398,38 +1416,37 @@ maybe_offer_save_app_defaults() {
|
|||||||
--title "APP DEFAULTS – ${APP}" \
|
--title "APP DEFAULTS – ${APP}" \
|
||||||
--menu "Differences detected. What do you want to do?" 20 78 10 \
|
--menu "Differences detected. What do you want to do?" 20 78 10 \
|
||||||
"Update Defaults" "Write new values to ${app_vars_path}" \
|
"Update Defaults" "Write new values to ${app_vars_path}" \
|
||||||
"Keep Current" "Keep existing defaults (no changes)" \
|
"Keep Current" "Keep existing defaults (no changes)" \
|
||||||
"View Diff" "Show a detailed diff" \
|
"View Diff" "Show a detailed diff" \
|
||||||
"Cancel" "Abort without changes" \
|
"Cancel" "Abort without changes" \
|
||||||
--default-item "Update Defaults" \
|
--default-item "Update Defaults" \
|
||||||
3>&1 1>&2 2>&3)" || { sel="Cancel"; }
|
3>&1 1>&2 2>&3)" || { sel="Cancel"; }
|
||||||
|
|
||||||
case "$sel" in
|
case "$sel" in
|
||||||
"Update Defaults")
|
"Update Defaults")
|
||||||
install -m 0644 "$new_tmp" "$app_vars_path"
|
install -m 0644 "$new_tmp" "$app_vars_path"
|
||||||
msg_ok "Updated app defaults: ${app_vars_path}"
|
msg_ok "Updated app defaults: ${app_vars_path}"
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
"Keep Current")
|
"Keep Current")
|
||||||
msg_info "Keeping current app defaults: ${app_vars_path}"
|
msg_info "Keeping current app defaults: ${app_vars_path}"
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
"View Diff")
|
"View Diff")
|
||||||
whiptail --backtitle "[dev] Proxmox VE Helper Scripts" \
|
whiptail --backtitle "[dev] Proxmox VE Helper Scripts" \
|
||||||
--title "Diff – ${APP}" \
|
--title "Diff – ${APP}" \
|
||||||
--scrolltext --textbox "$diff_tmp" 25 100
|
--scrolltext --textbox "$diff_tmp" 25 100
|
||||||
;;
|
;;
|
||||||
"Cancel"|*)
|
"Cancel" | *)
|
||||||
msg_info "Canceled. No changes to app defaults."
|
msg_info "Canceled. No changes to app defaults."
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
rm -f "$new_tmp" "$diff_tmp"
|
rm -f "$new_tmp" "$diff_tmp"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
install_script() {
|
install_script() {
|
||||||
pve_check
|
pve_check
|
||||||
shell_check
|
shell_check
|
||||||
@ -1450,31 +1467,31 @@ install_script() {
|
|||||||
# --- PRESET support ---
|
# --- PRESET support ---
|
||||||
if [ -n "${PRESET:-}" ]; then
|
if [ -n "${PRESET:-}" ]; then
|
||||||
case "$PRESET" in
|
case "$PRESET" in
|
||||||
DEFAULT | default | 1)
|
DEFAULT | default | 1)
|
||||||
CHOICE="1"
|
CHOICE="1"
|
||||||
;;
|
;;
|
||||||
VERBOSE | verbose | 2)
|
VERBOSE | verbose | 2)
|
||||||
CHOICE="2"
|
CHOICE="2"
|
||||||
;;
|
;;
|
||||||
ADVANCED | advanced | 3)
|
ADVANCED | advanced | 3)
|
||||||
CHOICE="3"
|
CHOICE="3"
|
||||||
;;
|
;;
|
||||||
MYDEFAULTS | mydefaults | 4)
|
MYDEFAULTS | mydefaults | 4)
|
||||||
CHOICE="4"
|
CHOICE="4"
|
||||||
;;
|
;;
|
||||||
APPDEFAULTS | appdefaults | 5)
|
APPDEFAULTS | appdefaults | 5)
|
||||||
CHOICE="5"
|
CHOICE="5"
|
||||||
;;
|
;;
|
||||||
DIAGNOSTICS | diagnostics | 6)
|
DIAGNOSTICS | diagnostics | 6)
|
||||||
CHOICE="6"
|
CHOICE="6"
|
||||||
;;
|
;;
|
||||||
STORAGE | storage | 7)
|
STORAGE | storage | 7)
|
||||||
CHOICE="7"
|
CHOICE="7"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo -e "\n${CROSS}${RD}Invalid PRESET value: ${PRESET}${CL}\n"
|
echo -e "\n${CROSS}${RD}Invalid PRESET value: ${PRESET}${CL}\n"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
# Build dynamic menu
|
# Build dynamic menu
|
||||||
@ -1507,77 +1524,77 @@ install_script() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
1)
|
1)
|
||||||
|
header_info
|
||||||
|
echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME${CL}"
|
||||||
|
VERBOSE="no"
|
||||||
|
METHOD="default"
|
||||||
|
base_settings "$VERBOSE"
|
||||||
|
echo_default
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
header_info
|
||||||
|
echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME (Verbose)${CL}"
|
||||||
|
VERBOSE="yes"
|
||||||
|
METHOD="default"
|
||||||
|
base_settings "$VERBOSE"
|
||||||
|
echo_default
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
header_info
|
||||||
|
echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Install on node $PVEHOST_NAME${CL}"
|
||||||
|
METHOD="advanced"
|
||||||
|
base_settings
|
||||||
|
advanced_settings
|
||||||
|
maybe_offer_save_app_defaults
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
default_var_settings || {
|
||||||
|
msg_error "Failed to apply default.vars"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
;;
|
||||||
|
5)
|
||||||
|
# App Defaults
|
||||||
|
if [ -f "$(get_app_defaults_path)" ]; then
|
||||||
header_info
|
header_info
|
||||||
echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME${CL}"
|
echo -e "${DEFAULT}${BOLD}${BL}Using App Defaults for ${APP} on node $PVEHOST_NAME${CL}"
|
||||||
VERBOSE="no"
|
METHOD="appdefaults"
|
||||||
METHOD="default"
|
|
||||||
base_settings "$VERBOSE"
|
|
||||||
echo_default
|
|
||||||
;;
|
|
||||||
2)
|
|
||||||
header_info
|
|
||||||
echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME (Verbose)${CL}"
|
|
||||||
VERBOSE="yes"
|
|
||||||
METHOD="default"
|
|
||||||
base_settings "$VERBOSE"
|
|
||||||
echo_default
|
|
||||||
;;
|
|
||||||
3)
|
|
||||||
header_info
|
|
||||||
echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Install on node $PVEHOST_NAME${CL}"
|
|
||||||
METHOD="advanced"
|
|
||||||
base_settings
|
base_settings
|
||||||
advanced_settings
|
_load_vars_file "$(get_app_defaults_path)"
|
||||||
maybe_offer_save_app_defaults
|
echo_default
|
||||||
;;
|
else
|
||||||
4)
|
msg_error "No App Defaults available for ${APP}"
|
||||||
default_var_settings || {
|
exit 1
|
||||||
msg_error "Failed to apply default.vars"
|
fi
|
||||||
exit 1
|
;;
|
||||||
}
|
6)
|
||||||
;;
|
if [[ $DIAGNOSTICS == "yes" ]]; then
|
||||||
5)
|
if whiptail --backtitle "[dev] Proxmox VE Helper Scripts" --title "DIAGNOSTIC SETTINGS" --yesno "Send Diagnostics?\n\nCurrent: ${DIAGNOSTICS}" 10 58 \
|
||||||
# App Defaults
|
--yes-button "No" --no-button "Back"; then
|
||||||
if [ -f "$(get_app_defaults_path)" ]; then
|
DIAGNOSTICS="no"
|
||||||
header_info
|
sed -i 's/^DIAGNOSTICS=.*/DIAGNOSTICS=no/' /usr/local/community-scripts/diagnostics
|
||||||
echo -e "${DEFAULT}${BOLD}${BL}Using App Defaults for ${APP} on node $PVEHOST_NAME${CL}"
|
whiptail --msgbox "Diagnostics set to ${DIAGNOSTICS}." 8 58
|
||||||
METHOD="appdefaults"
|
|
||||||
base_settings
|
|
||||||
_load_vars_file "$(get_app_defaults_path)"
|
|
||||||
echo_default
|
|
||||||
else
|
|
||||||
msg_error "No App Defaults available for ${APP}"
|
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
;;
|
else
|
||||||
6)
|
if whiptail --backtitle "[dev] Proxmox VE Helper Scripts" --title "DIAGNOSTIC SETTINGS" --yesno "Send Diagnostics?\n\nCurrent: ${DIAGNOSTICS}" 10 58 \
|
||||||
if [[ $DIAGNOSTICS == "yes" ]]; then
|
--yes-button "Yes" --no-button "Back"; then
|
||||||
if whiptail --backtitle "[dev] Proxmox VE Helper Scripts" --title "DIAGNOSTIC SETTINGS" --yesno "Send Diagnostics?\n\nCurrent: ${DIAGNOSTICS}" 10 58 \
|
DIAGNOSTICS="yes"
|
||||||
--yes-button "No" --no-button "Back"; then
|
sed -i 's/^DIAGNOSTICS=.*/DIAGNOSTICS=yes/' /usr/local/community-scripts/diagnostics
|
||||||
DIAGNOSTICS="no"
|
whiptail --msgbox "Diagnostics set to ${DIAGNOSTICS}." 8 58
|
||||||
sed -i 's/^DIAGNOSTICS=.*/DIAGNOSTICS=no/' /usr/local/community-scripts/diagnostics
|
|
||||||
whiptail --msgbox "Diagnostics set to ${DIAGNOSTICS}." 8 58
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if whiptail --backtitle "[dev] Proxmox VE Helper Scripts" --title "DIAGNOSTIC SETTINGS" --yesno "Send Diagnostics?\n\nCurrent: ${DIAGNOSTICS}" 10 58 \
|
|
||||||
--yes-button "Yes" --no-button "Back"; then
|
|
||||||
DIAGNOSTICS="yes"
|
|
||||||
sed -i 's/^DIAGNOSTICS=.*/DIAGNOSTICS=yes/' /usr/local/community-scripts/diagnostics
|
|
||||||
whiptail --msgbox "Diagnostics set to ${DIAGNOSTICS}." 8 58
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
;;
|
fi
|
||||||
7)
|
;;
|
||||||
storage_settings_menu
|
7)
|
||||||
;;
|
storage_settings_menu
|
||||||
8)
|
;;
|
||||||
echo -e "\n${CROSS}${RD}Script terminated.${CL}\n"
|
8)
|
||||||
exit 0
|
echo -e "\n${CROSS}${RD}Script terminated.${CL}\n"
|
||||||
;;
|
exit 0
|
||||||
*)
|
;;
|
||||||
echo -e "${CROSS}${RD}Invalid option, please try again.${CL}"
|
*)
|
||||||
;;
|
echo -e "${CROSS}${RD}Invalid option, please try again.${CL}"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1653,21 +1670,20 @@ storage_settings_menu() {
|
|||||||
"${menu_items[@]}" 3>&1 1>&2 2>&3) || return 0
|
"${menu_items[@]}" 3>&1 1>&2 2>&3) || return 0
|
||||||
|
|
||||||
case "$choice" in
|
case "$choice" in
|
||||||
1)
|
1)
|
||||||
check_storage_or_prompt "/usr/local/community-scripts/default.vars"
|
check_storage_or_prompt "/usr/local/community-scripts/default.vars"
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
if [ -f "$(get_app_defaults_path)" ]; then
|
if [ -f "$(get_app_defaults_path)" ]; then
|
||||||
check_storage_or_prompt "$(get_app_defaults_path)"
|
check_storage_or_prompt "$(get_app_defaults_path)"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
check_container_resources() {
|
check_container_resources() {
|
||||||
# Check actual RAM & Cores
|
# Check actual RAM & Cores
|
||||||
current_ram=$(free -m | awk 'NR==2{print $2}')
|
current_ram=$(free -m | awk 'NR==2{print $2}')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user