#!/bin/bash

. ${SCRIPTS:-/}start-utils

set -e

: ${REPLACE_ENV_IN_PLACE:=${REPLACE_ENV_VARIABLES:-false}}
: ${REPLACE_ENV_PATHS:=/data}
: ${REPLACE_ENV_SUFFIXES:=yml,yaml,txt,cfg,conf,properties,hjson,json,tml,toml}
: ${REPLACE_ENV_VARIABLE_PREFIX:=${ENV_VARIABLE_PREFIX:-CFG_}}
: ${REPLACE_ENV_VARIABLES_EXCLUDES:=}
: ${REPLACE_ENV_VARIABLES_EXCLUDE_PATHS:=}
: ${PATCH_DEFINITIONS:=}
: ${DEBUG:=false}

if isTrue "${REPLACE_ENV_IN_PLACE}"; then
  log "Replacing env variables in ${REPLACE_ENV_PATHS} that match the prefix $REPLACE_ENV_VARIABLE_PREFIX ..."

  mc-image-helper --debug=${DEBUG} interpolate \
    --replace-env-file-suffixes="${REPLACE_ENV_SUFFIXES}" \
    --replace-env-excludes="${REPLACE_ENV_VARIABLES_EXCLUDES}" \
    --replace-env-exclude-paths="${REPLACE_ENV_VARIABLES_EXCLUDE_PATHS}" \
    --replace-env-prefix=${REPLACE_ENV_VARIABLE_PREFIX} \
    "${REPLACE_ENV_PATHS[@]}"
fi

if [[ ${PATCH_DEFINITIONS} ]]; then
  log "Applying patch definitions from ${PATCH_DEFINITIONS}"
  mc-image-helper --debug=${DEBUG} patch \
    --patch-env-prefix=${REPLACE_ENV_VARIABLE_PREFIX} \
    "${PATCH_DEFINITIONS}"
fi

exec ${SCRIPTS:-/}start-finalExec $@
