fix(build): App Defaults now override script defaults with force mode
This commit is contained in:
parent
1fc5c031cc
commit
e651c14f76
@ -445,9 +445,11 @@ base_settings() {
|
|||||||
# - Safe parser for KEY=VALUE lines from vars files
|
# - Safe parser for KEY=VALUE lines from vars files
|
||||||
# - Used by default_var_settings and app defaults loading
|
# - Used by default_var_settings and app defaults loading
|
||||||
# - Only loads whitelisted var_* keys
|
# - Only loads whitelisted var_* keys
|
||||||
|
# - Optional force parameter to override existing values (for app defaults)
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
load_vars_file() {
|
load_vars_file() {
|
||||||
local file="$1"
|
local file="$1"
|
||||||
|
local force="${2:-no}" # If "yes", override existing variables
|
||||||
[ -f "$file" ] || return 0
|
[ -f "$file" ] || return 0
|
||||||
msg_info "Loading defaults from ${file}"
|
msg_info "Loading defaults from ${file}"
|
||||||
|
|
||||||
@ -485,8 +487,12 @@ load_vars_file() {
|
|||||||
var_val="${BASH_REMATCH[1]}"
|
var_val="${BASH_REMATCH[1]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set only if not already exported
|
# Set variable: force mode overrides existing, otherwise only set if empty
|
||||||
[[ -z "${!var_key+x}" ]] && export "${var_key}=${var_val}"
|
if [[ "$force" == "yes" ]]; then
|
||||||
|
export "${var_key}=${var_val}"
|
||||||
|
else
|
||||||
|
[[ -z "${!var_key+x}" ]] && export "${var_key}=${var_val}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done <"$file"
|
done <"$file"
|
||||||
msg_ok "Loaded ${file}"
|
msg_ok "Loaded ${file}"
|
||||||
@ -2148,7 +2154,7 @@ install_script() {
|
|||||||
header_info
|
header_info
|
||||||
echo -e "${DEFAULT}${BOLD}${BL}Using App Defaults for ${APP} on node $PVEHOST_NAME${CL}"
|
echo -e "${DEFAULT}${BOLD}${BL}Using App Defaults for ${APP} on node $PVEHOST_NAME${CL}"
|
||||||
METHOD="appdefaults"
|
METHOD="appdefaults"
|
||||||
load_vars_file "$(get_app_defaults_path)"
|
load_vars_file "$(get_app_defaults_path)" "yes" # Force override script defaults
|
||||||
base_settings
|
base_settings
|
||||||
echo_default
|
echo_default
|
||||||
defaults_target="$(get_app_defaults_path)"
|
defaults_target="$(get_app_defaults_path)"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user