#!/bin/bash

set -eu

# Traditional only: whole disk image, filesystem artefact, build metadata.
# Per-partition sparse images and image.json are payloads of the IDP bundle and
# deployed separately.

files=()

# Image assets
if [[ -n "${IGconf_image_outputdir:-}" ]] ; then
   pat="${IGconf_image_outputdir}/${IGconf_image_name:-}"*.${IGconf_image_suffix:-}
   if compgen -G "$pat" > /dev/null 2>&1; then
      for f in $pat ; do
         files+=("$f")
      done
   fi
fi

# Filesystem assets
[[ -f "$IGconf_target_path" ]] && files+=("$IGconf_target_path")
files+=("${IGconf_target_dir}/${IGconf_sbom_filename:-}")
files+=("${IGconf_target_dir}/manifest")
files+=("${IGconf_target_dir}/config.yaml")


echo "Installing assets..."
for f in "${files[@]}" ; do
   [[ -f "$f" ]] || continue
   case "$IGconf_deploy_compression" in
      zstd)
         zstd -v -f "$f" --sparse --output-dir-flat "${1}"
         ;;
      none)
         cp -v --sparse=always "$f" "${1}"
         ;;
      *)
         ;;
   esac
done
