Chakru 660a4efa5f
MCL Generation via CDC (#14824)
Co-authored-by: David Leifker <david.leifker@acryl.io>
2025-10-01 18:23:31 -05:00

33 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
: ${MYSQL_PORT:=3306}
: ${MYSQL_ARGS:=--ssl=0}
: ${CDC_MCL_PROCESSING_ENABLED:=false}
: ${CDC_USER:=datahub_cdc}
: ${CDC_PASSWORD:=datahub_cdc}
# Process main init script
sed -e "s/DATAHUB_DB_NAME/${DATAHUB_DB_NAME}/g" /init.sql | tee -a /tmp/init-final.sql
# Run main init script with regular user
mariadb -u $MYSQL_USERNAME -p"$MYSQL_PASSWORD" -h $MYSQL_HOST -P $MYSQL_PORT $MYSQL_ARGS < /tmp/init-final.sql
# Conditionally create CDC user with root privileges if enabled
if [[ "${CDC_MCL_PROCESSING_ENABLED}" == "true" ]]; then
echo "CDC MCL processing is enabled. Creating CDC user with root privileges..."
if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then
echo "ERROR: MYSQL_ROOT_PASSWORD must be set when CDC_MCL_PROCESSING_ENABLED=true"
exit 1
fi
# Create CDC user script with root privileges
sed -e "s/DATAHUB_DB_NAME/${DATAHUB_DB_NAME}/g" \
-e "s/CDC_USER/${CDC_USER}/g" \
-e "s/CDC_PASSWORD/${CDC_PASSWORD}/g" /init-cdc.sql > /tmp/init-cdc-final.sql
# Execute CDC user creation with root user
mariadb -u root -p"$MYSQL_ROOT_PASSWORD" -h $MYSQL_HOST -P $MYSQL_PORT $MYSQL_ARGS < /tmp/init-cdc-final.sql
echo "CDC user '$CDC_USER' created successfully."
fi