#!/usr/bin/env bash set -eo pipefail files=() # shellcheck disable=SC2044 for vars in $(find distros/ -name '*.pkrvars.hcl'); do file=$(echo var.iso.url | packer console -var-file="${vars}" -config-type=hcl2 sources/) base="$(basename "${file}")" if [ -e "cache/${base}" ]; then echo "Found cache/${base} already" else files+=("-O" "${file}") fi done mkdir -p cache pushd cache echo "Downloading ${files[*]}" curl --parallel -L "${files[@]}" popd