#!/usr/bin/env bash
#
# Copyright 2020 Confluent Inc.
#
set -o nounset
set -o errexit

export CP_COMPONENT_NAME=kafka
export CP_COMPONENT_SCRIPT_DIR=/opt/confluentinc/etc/${CP_COMPONENT_NAME}
export KAFKA_CONFIG_DIR=/mnt/config

dynamic_configs_enabled=0
# verify if dynamic configs are enabled.
if [ $# -ge 1 ] && [ "$1" == "true" ]; then
  echo "Dynamic configs enabled for ${CP_COMPONENT_NAME}"
  dynamic_configs_enabled=1
fi

kraft_enabled=0
# verify if kraft is enabled.
if [ $# -ge 2 ] && [ "$2" == "true" ]; then
  echo "KRaft enabled for ${CP_COMPONENT_NAME}"
  # if this file is present, it means storage is formatted and we don't
  # need to format again
  export KRAFT_META_PROPS_FILE=/mnt/data/data0/logs/meta.properties
  kraft_enabled=1
fi

format_cluster_metadata_enabled=0
# verify if format cluster metadata is enabled.
if [ $# -ge 3 ] && [ "$3" == "true" ]; then
  echo "Dynamic configs enabled for ${CP_COMPONENT_NAME}"
  format_cluster_metadata_enabled=1
fi

echo "===> User: $(id)"
export OPERATOR_SCRIPT_DIR=/mnt/config/${CP_COMPONENT_NAME}
echo "===> Load ${CP_COMPONENT_NAME} operator scripts from path ${OPERATOR_SCRIPT_DIR}/bin"

"${OPERATOR_SCRIPT_DIR}"/bin/configure "$dynamic_configs_enabled" "$kraft_enabled" "$format_cluster_metadata_enabled"
exec "${OPERATOR_SCRIPT_DIR}"/bin/launch "$dynamic_configs_enabled"
