#!/bin/bash
#
# Load a Docker image from an archive (tar).
#
# Required configuration (in config.yml):
#
#     docker_image_name: drupal-vm
#     docker_image_path: ~/Downloads
#

# Exit on any individual command failure.
set -e

# Include YAML parser.
source provisioning/docker/parse-yaml.sh

# Pretty colors.
red='\033[0;31m'
green='\033[0;32m'
neutral='\033[0m'

# Set variables, read from config.yml if available.
# TODO: This could definitely be more intelligent!
if [ -f 'config.yml' ]; then
  image_name=$(parse_yaml config.yml docker_image_name)
  image_path=$(parse_yaml config.yml docker_image_path)
else
  image_name=$(parse_yaml default.config.yml docker_image_name)
  image_path=$(parse_yaml default.config.yml docker_image_path)
fi

image_full_path="$image_path/$image_name.tar.gz"
image_full_path=${image_full_path/#\~/$HOME} # Expand ~ to $HOME.

# Load the image.
printf "\n"${green}"Loading Docker image..."${neutral}"\n"
gunzip -c $image_full_path | docker load
printf ${green}"...done!"${neutral}"\n"