#!/bin/bash

INSTALL_DIR=___INSTALL_DIR___
CLEANSE="$INSTALL_DIR"/etc/cleanse.conf
AMQP_FN="$INSTALL_DIR"/etc/amqp.conf
COMMON_FN="$INSTALL_DIR"/etc/common.conf
WORKFLOW_NAME=extmodules
CONFIGS=( $( ls "$INSTALL_DIR"/etc/configure_"${WORKFLOW_NAME}"*.conf ) )
PYTHON="$INSTALL_DIR"/.venv/bin/python

[[ $DEBUG -eq $YES ]] && set -x

# get amqp credentials from separate file if it exists
[[ -r "$AMQP_FN" ]] && source "$AMQP_FN"

# Loop through all config files found
for cfg in "${CONFIGS[@]}"; do
  source "$CLEANSE" #unset var settings from any previous run
  [[ -r "$COMMON_FN" ]] && source "$COMMON_FN" #read in common settings
  source "$cfg" #read in new var settings for this specific run

  # create workflow files
  $PYTHON "$INSTALL_DIR"/configure/configure_workflows.py \
    --workflow ${WORKFLOW_NAME} \
    ${RESOURCE_NAME:+--resource_name $RESOURCE_NAME} \
    ${PUBLISH:+--publish} \
    ${AMQP_USERNAME:+--amqp_username $AMQP_USERNAME} \
    ${AMQP_PASSWORD:+--amqp_password $AMQP_PASSWORD} \
    ${AMQP_CERTFILE:+--amqp_certfile "$AMQP_CERTFILE"} \
    ${AMQP_KEYFILE:+--amqp_keyfile "$AMQP_KEYFILE"} \
    ${ENVIRONMENT:+--environment "$ENVIRONMENT"} \
    ${MODULES:+--modules "$MODULES"} \
    ${LMOD_CACHE_FILE:+--lmod_cache_file "$LMOD_CACHE_FILE"} \
    ${MODULES_EXCLUDE:+--modules_exclude "$MODULES_EXCLUDE"} \
    ${SUPPORT_CONTACT:+--support_contact "$SUPPORT_CONTACT"} \
    ${MODULES_INTERVAL:+--modules_interval $MODULES_INTERVAL} \

done #for cfg in "${CONFIGS[@]}"; do
