#!/usr/bin/env bash

set -e
set -o nounset
set -o pipefail

# A wrapper script to run swift-hpa in a docker container and
# mount the correct volumes, etc.
#
# Make sure to run 'hpa-init' first on this machine to setup
# dependencies, if you have not done so already.
#
# This will mount my home directory inside the container, so
# it should somewhat mirror like commands are run on the host os.
#
# To attach to a shell inside the container run:
# `hpa bash`
#
# To run ansible vault commands inside the container run:
# `hpa ansible-vault ...`
#
#

SCRIPTS=${SCRIPTS:-$HOME/.local/scripts}
. "$SCRIPTS/utils/hpa/hpa.env"

############################## MAIN ##############################

last_pull="0"
if [[ -f "$HPA_CONFIG_DIR/.lastpull" ]]; then
  last_pull=$(cat "$HPA_CONFIG_DIR/.lastpull")
fi
curr=$(date +%s)
diff=$((curr - last_pull))

if [[ $HPA_AUTO_PULL == "1" ]] && [[ $diff -gt "$HPA_AUTO_PULL_INTERVAL" ]]; then
  . "$SCRIPTS/hpa-pull" "$HPA_AUTO_PULL_OPTS"
fi

podman run --rm --interactive --tty \
  --volume "$HOME":/root \
  --secret "$HPA_VAULT_SECRET_KEY" \
  "$HPA_DOCKER_IMAGE:$HPA_DOCKER_TAG" "$@"
