From 3c3e280c9d8e95ad7b60c9b42d7a6ab7161c2103 Mon Sep 17 00:00:00 2001 From: robojerk Date: Wed, 25 Jun 2025 16:01:56 -0700 Subject: [PATCH] Fix TOML parser comment handling and variable expansion issues --- config-parser.sh | 7 +++++++ update-agent.sh | 18 +++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/config-parser.sh b/config-parser.sh index bea59f9..8068fae 100644 --- a/config-parser.sh +++ b/config-parser.sh @@ -47,6 +47,13 @@ parse_toml() { # Remove quotes from value value=$(echo "$value" | sed 's/^"\(.*\)"$/\1/' | sed "s/^'\(.*\)'$/\1/") + # Remove inline comments (everything after #) + value=$(echo "$value" | sed 's/[[:space:]]*#.*$//') + + # Trim whitespace + key=$(echo "$key" | xargs) + value=$(echo "$value" | xargs) + # Convert to environment variable format if [ -n "$current_section" ]; then if [[ "$current_section" == "global" ]]; then diff --git a/update-agent.sh b/update-agent.sh index ed348a5..f9a56dd 100644 --- a/update-agent.sh +++ b/update-agent.sh @@ -296,15 +296,15 @@ process_stack() { local git_ref_var="STACK_${stack_num}_GIT_REF" local compose_filename_var="STACK_${stack_num}_COMPOSE_FILENAME" - local name=${!name_var} - local url=${!url_var} - local path=${!path_var} - local tool=${!tool_var} - local interval=${!interval_var:-$UPDATE_INTERVAL} - local keep_versions=${!keep_versions_var:-$KEEP_VERSIONS} - local git_subpath=${!git_subpath_var} - local git_ref=${!git_ref_var} - local compose_filename=${!compose_filename_var} + local name="${!name_var:-}" + local url="${!url_var:-}" + local path="${!path_var:-}" + local tool="${!tool_var:-}" + local interval="${!interval_var:-$UPDATE_INTERVAL}" + local keep_versions="${!keep_versions_var:-$KEEP_VERSIONS}" + local git_subpath="${!git_subpath_var:-}" + local git_ref="${!git_ref_var:-}" + local compose_filename="${!compose_filename_var:-}" if [ -z "$name" ] || [ -z "$url" ] || [ -z "$path" ] || [ -z "$tool" ]; then log "Error: Missing required configuration for stack $stack_num"