Fix render of patch section as multi-line yaml string in full_json_patch krm function 90/15290/1
authorgarciadeblas <gerardo.garciadeblas@telefonica.com>
Fri, 18 Jul 2025 16:12:40 +0000 (18:12 +0200)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Fri, 18 Jul 2025 16:13:18 +0000 (18:13 +0200)
Change-Id: I9c2f9f9bb38b39201af6a8481bfda4ecddc30bf1
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
docker/osm-krm-functions/scripts/library/helper-functions.rc

index d012b80..f5e4a55 100644 (file)
@@ -423,11 +423,11 @@ function full_json_patch() {
   done
 
   # Wrap a full patch around, adding target specification
-  export PATCH_CONTENT
   local PATCH_FULL=$(
     yq --null-input ".target.kind = \"${TARGET_KIND}\", .target.name = \"${TARGET_NAME}\"" | \
-    yq ".patch = env(PATCH_CONTENT)" | \
-    yq "[ . ]"
+    yq eval-all 'select(fileIndex == 0) * select(fileIndex == 1)' - \
+      <(printf "patch: |-\n%s\n" "$(echo "${PATCH_CONTENT}" | sed 's/^/  /')" ) | \
+    yq "[.]"
   )
 
   echo "${PATCH_FULL}"