#!/bin/bash

## Init is run on host
## For now it is run every time the script is launched, but
## it should be launched only once after build.

## Accessible variables are:
## - SERVICE_NAME        Name of current service
## - DOCKER_BASE_IMAGE   Base image from which this service might be built if any
## - SERVICE_DATASTORE           Location on host of the DATASTORE of this service
## - SERVICE_CONFIGSTORE         Location on host of the CONFIGSTORE of this service

if [ -d "$SERVICE_CONFIGSTORE/bin/compose" ]; then
    rmdir "$SERVICE_CONFIGSTORE/bin/compose"
fi

[ "$COMPOSE_LAUNCHER_OPTS" ] || {
    err "\$COMPOSE_LAUNCHER_OPTS is expected to be set."
    exit 1
}

[ "$HOST_COMPOSE_LAUNCHER_OPTS" ] || {
    err "\$HOST_COMPOSE_LAUNCHER_OPTS is expected to be set."
    exit 1
}


[ "$COMPOSE_LAUNCHER_BIN" ] || {
    err "\$COMPOSE_LAUNCHER_BIN is expected to be set."
    exit 1
}

mkdir -p "$SERVICE_CONFIGSTORE/etc/crontabs"
touch "$SERVICE_CONFIGSTORE/etc/crontabs/root"

timezone=$(cat /etc/timezone) || exit 1
init-config-add "
$CHARM_NAME:
  volumes:
    - /etc/timezone:/etc/timezone:ro
    - \$DOCKER_COMPOSE_PATH/bin/dc:/bin/dc:ro
    - $COMPOSE_LAUNCHER_BIN:/bin/compose:ro
    - $HOST_COMPOSE_LAUNCHER_OPTS:$COMPOSE_LAUNCHER_OPTS:ro
  environment:
    TZ: $timezone
    COMPOSE_LAUNCHER_OPTS: $COMPOSE_LAUNCHER_OPTS
"

info "Timezone is set to $timezone."