From 6fe10432e6cb3115a9109db3f654c958c5d5ecd8 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Sat, 25 Apr 2026 09:03:07 +0200 Subject: [PATCH] fix(installer): remove duplicate config load that kills upgrade silently MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The upgrade path in handle_rerun called load_config_file a second time (already called by detect_existing_install). On the second pass, every variable is already set, so [ -z "$VAR" ] && VAR="$value" returns exit code 1 (test fails, && short-circuits). With set -e, the non-zero exit from the case clause kills the script silently after printing "[INFO] Upgrading installation..." — no error, no further output. Removed the redundant load_config_file and load_env_overrides calls. Both were already executed in main() before handle_rerun is reached. Co-Authored-By: Claude Opus 4.6 (1M context) --- installer/install.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/installer/install.sh b/installer/install.sh index 59a8633..8586d31 100644 --- a/installer/install.sh +++ b/installer/install.sh @@ -1406,8 +1406,9 @@ handle_rerun() { case "$RERUN_ACTION" in upgrade) log_info "Upgrading installation..." - load_config_file "$INSTALL_DIR/cameleer.conf" - load_env_overrides + # Config already loaded by detect_existing_install + load_env_overrides in main. + # Calling load_config_file again with set -e causes silent exit because + # [ -z "$VAR" ] && VAR="$value" returns 1 for every already-set variable. merge_config copy_templates docker_registry_login