#!/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


. lib/common

set -e


dirs=(
    "$SERVICE_DATASTORE/var/lib/etherpad"
)

uid_gid=($(docker_get_uid_gid "$SERVICE_NAME" "etherpad" "etherpad")) || {
    err "Could not fetch uid/gid on image of service ${DARKYELLOW}$SERVICE_NAME${NORMAL}."
    return 1
}

uid="${uid_gid[0]}"
gid="${uid_gid[1]}"
for dir in "${dirs[@]}"; do
    mkdir -p "$dir"
    find "$dir" \! -uid "$uid" -print0 | while read-0 f; do
        chown -v "$uid" "$f" || return 1
    done
    find "$dir" \! -gid "$gid" -print0 | while read-0 f; do
        chgrp -v "$gid" "$f" || return 1
    done
done