#!/usr/bin/env bash

env_file="$1"
template_file="$2"

source "${env_file}"

set +u
for env in $(sed -n 's/^[^#].*${\(.*\)}.*/\1/p' ${template_file})
do
    if [ -z "$(eval echo \$${env})" ];then
        echo "environment variable '${env}' not set"
        exit 1
    fi
done

eval "cat << EOF
$(cat ${template_file})
EOF"
