#!/bin/bash
set -e

[ -z $LAYEROPS_IMAGE_VERSION ] && export LAYEROPS_IMAGE_VERSION=$(date +%Y-%m-%d)

export ANSIBLE_HOST_KEY_CHECKING=false
export ANSIBLE_LOAD_CALLBACK_PLUGINS=true
export ANSIBLE_STDOUT_CALLBACK=yaml
export ANSIBLE_ROLES_PATH=../ansible/roles

export LAYEROPS_PLAYBOOK_ROOTDIR=../ansible

export LAYEROPS_PLAYBOOK_FILE=install-orchestrator.yml
[ -f $LAYEROPS_PLAYBOOK_ROOTDIR/$LAYEROPS_PLAYBOOK_FILE ] || sh -c "echo Mssing file $LAYEROPS_PLAYBOOK_ROOTDIR/$LAYEROPS_PLAYBOOK_FILE && exit 1"


case ${1:-empty} in
  lxc)
    LXC_UBUNTU_MINIMAL_REMOTE=https://cloud-images.ubuntu.com/minimal/releases/
    lxc remote ls | grep $LXC_UBUNTU_MINIMAL_REMOTE > /dev/null || lxc remote add --protocol simplestreams ubuntu-minimal $LXC_UBUNTU_MINIMAL_REMOTE
    export LAYEROPS_PACKER_FILE=lxc.pkr.hcl
    export LAYEROPS_IMAGE_NAME="layerops-orchestrator-lxc-${LAYEROPS_IMAGE_VERSION}"
    [ -z $LAYEROPS_IMAGE_DEST ] && export LAYEROPS_IMAGE_DEST=$PWD
  ;;
  *)
    echo "Usage: $0 [lxc]"
    exit 1
  ;;
esac

packer init -upgrade $LAYEROPS_PACKER_FILE
packer build -force $LAYEROPS_PACKER_FILE

# Clean
if [ -f "$LAYEROPS_SEED_IMAGE" ] ; then rm -f $LAYEROPS_SEED_IMAGE ; fi
