#!/bin/sh
# Script to deploy the automated unattended continuous deployment of tutorial
# Jupyter notebooks.
#
# Will deploy:
#
# * cron job to hourly deploy the tutorial notebooks
#   (/etc/cron.hourly/birdhouse-deploy-notebooks), update check frequency here
#   The cron file name can be overridden by setting the CRON_FILE environment variable
#

CRON_FILE=${CRON_FILE:-"/etc/cron.hourly/birdhouse-deploy-notebooks"}

usage() {
    echo "USAGE: $0 birdhouse-checkout"
}

if [ -z "$1" ]; then
    echo "ERROR: please supply mandatory arguments" 1>&2
    usage
    exit 2
fi


REPO_ROOT="$(realpath "$1")"; shift  # path to birdhouse checkout
COMPOSE_DIR="${COMPOSE_DIR:-"${REPO_ROOT}/birdhouse"}"

if [ ! -e "${REPO_ROOT}/birdhouse/deployment/trigger-deploy-notebook" ]; then
    echo "ERROR: bad/wrong birdhouse-checkout '${REPO_ROOT}' " 1>&2
    usage
    exit 2
fi

. "${COMPOSE_DIR}/read-configs.include.sh"

# Get JUPYTERHUB_USER_DATA_DIR
read_configs

set -x

cat "${COMPOSE_DIR}/deployment/trigger-deploy-notebook" | envsubst '${JUPYTERHUB_USER_DATA_DIR} ${BIRDHOUSE_LOG_DIR}' | sudo tee "${CRON_FILE}"
sudo chown root:root "${CRON_FILE}"
sudo chmod 755 "${CRON_FILE}"
