set +e

mkdir -p $HOME/.docker

if [ ! -z "${GOOGLE_APPLICATION_CREDENTIALS}" ]; then
    echo "Using GOOGLE_APPLICATION_CREDENTIALS"
    USERNAME="_json_key"
    PASSWORD=$(cat $GOOGLE_APPLICATION_CREDENTIALS)
elif [ ! -z "${AZURE_APPLICATION_CREDENTIALS}" ]; then
    echo "Using AZURE_APPLICATION_CREDENTIALS"
    USERNAME=$(cat $AZURE_APPLICATION_CREDENTIALS | jq -jr '.appId')
    PASSWORD=$(cat $AZURE_APPLICATION_CREDENTIALS | jq -jr '.password')
fi

USER_PASS=$(echo -n "$USERNAME:$PASSWORD" | base64 | tr -d \\n)

registry_auths='{}'
for registry in ${REGISTRIES:=$REGISTRY}
do
    registry_auths=$(echo $registry_auths | jq --arg registry "$registry" --arg userpass "$USER_PASS" '. + { ($registry): { "auth": $userpass }}')
done

echo '{"auths": '$registry_auths'}' > $HOME/.docker/config.json
