mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 00:58:34 +00:00
feat: add mysql exposure toggle and client data bind
This commit is contained in:
91
setup.sh
91
setup.sh
@@ -68,6 +68,7 @@ declare -A TEMPLATE_VALUE_MAP=(
|
||||
[DEFAULT_AUTH_PORT]=AUTH_EXTERNAL_PORT
|
||||
[DEFAULT_SOAP_PORT]=SOAP_EXTERNAL_PORT
|
||||
[DEFAULT_MYSQL_PORT]=MYSQL_EXTERNAL_PORT
|
||||
[DEFAULT_MYSQL_EXPOSE_PORT]=MYSQL_EXPOSE_PORT
|
||||
[DEFAULT_PLAYERBOT_MIN]=PLAYERBOT_MIN_BOTS
|
||||
[DEFAULT_PLAYERBOT_MAX]=PLAYERBOT_MAX_BOTS
|
||||
[DEFAULT_LOCAL_STORAGE]=STORAGE_PATH
|
||||
@@ -112,7 +113,7 @@ declare -A TEMPLATE_VALUE_MAP=(
|
||||
[DEFAULT_CONTAINER_MODULES]=CONTAINER_MODULES
|
||||
[DEFAULT_CONTAINER_POST_INSTALL]=CONTAINER_POST_INSTALL
|
||||
[DEFAULT_COMPOSE_PROJECT_NAME]=COMPOSE_PROJECT_NAME
|
||||
[DEFAULT_CLIENT_DATA_VOLUME]=CLIENT_DATA_VOLUME
|
||||
[DEFAULT_CLIENT_DATA_PATH]=CLIENT_DATA_PATH
|
||||
[DEFAULT_CLIENT_DATA_CACHE_PATH]=CLIENT_DATA_CACHE_PATH
|
||||
[DEFAULT_CLIENT_DATA_VERSION]=CLIENT_DATA_VERSION
|
||||
[DEFAULT_NETWORK_NAME]=NETWORK_NAME
|
||||
@@ -125,6 +126,8 @@ declare -A TEMPLATE_VALUE_MAP=(
|
||||
[DEFAULT_MYSQL_INNODB_LOG_FILE_SIZE]=MYSQL_INNODB_LOG_FILE_SIZE
|
||||
[DEFAULT_MYSQL_INNODB_REDO_LOG_CAPACITY]=MYSQL_INNODB_REDO_LOG_CAPACITY
|
||||
[DEFAULT_MYSQL_RUNTIME_TMPFS_SIZE]=MYSQL_RUNTIME_TMPFS_SIZE
|
||||
[DEFAULT_MYSQL_DISABLE_BINLOG]=MYSQL_DISABLE_BINLOG
|
||||
[DEFAULT_MYSQL_CONFIG_DIR]=MYSQL_CONFIG_DIR
|
||||
[DEFAULT_MYSQL_HOST]=MYSQL_HOST
|
||||
[DEFAULT_DB_WAIT_RETRIES]=DB_WAIT_RETRIES
|
||||
[DEFAULT_DB_WAIT_SLEEP]=DB_WAIT_SLEEP
|
||||
@@ -902,25 +905,21 @@ fi
|
||||
local STORAGE_PATH
|
||||
if [ -n "$CLI_STORAGE_PATH" ]; then
|
||||
STORAGE_PATH="$CLI_STORAGE_PATH"
|
||||
elif [ "$DEPLOYMENT_TYPE" = "local" ]; then
|
||||
STORAGE_PATH=$DEFAULT_LOCAL_STORAGE
|
||||
elif [ "$NON_INTERACTIVE" = "1" ]; then
|
||||
STORAGE_PATH=$DEFAULT_MOUNT_STORAGE
|
||||
else
|
||||
if [ "$NON_INTERACTIVE" = "1" ]; then
|
||||
STORAGE_PATH=$DEFAULT_MOUNT_STORAGE
|
||||
else
|
||||
echo "1) 💾 ./storage (local)"
|
||||
echo "2) 🌐 /nfs/azerothcore (NFS)"
|
||||
echo "3) 📁 Custom"
|
||||
while true; do
|
||||
read -p "$(echo -e "${YELLOW}🔧 Select storage option [1-3]: ${NC}")" s
|
||||
case "$s" in
|
||||
1) STORAGE_PATH=$DEFAULT_LOCAL_STORAGE; break;;
|
||||
2) STORAGE_PATH=$DEFAULT_NFS_STORAGE; break;;
|
||||
3) STORAGE_PATH=$(ask "Enter custom storage path" "$DEFAULT_MOUNT_STORAGE"); break;;
|
||||
*) say ERROR "Please select 1, 2, or 3";;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
echo "1) 💾 ./storage (local)"
|
||||
echo "2) 🌐 /nfs/azerothcore (NFS)"
|
||||
echo "3) 📁 Custom"
|
||||
while true; do
|
||||
read -p "$(echo -e "${YELLOW}🔧 Select storage option [1-3]: ${NC}")" s
|
||||
case "$s" in
|
||||
1) STORAGE_PATH=$DEFAULT_LOCAL_STORAGE; break;;
|
||||
2) STORAGE_PATH=$DEFAULT_NFS_STORAGE; break;;
|
||||
3) STORAGE_PATH=$(ask "Enter custom storage path" "$DEFAULT_MOUNT_STORAGE"); break;;
|
||||
*) say ERROR "Please select 1, 2, or 3";;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
# Backup
|
||||
@@ -1300,6 +1299,42 @@ fi
|
||||
fi
|
||||
done
|
||||
|
||||
local enabled_module_keys=()
|
||||
local enabled_cpp_module_keys=()
|
||||
for mod_var in "${MODULE_KEYS[@]}"; do
|
||||
eval "value=\${$mod_var:-0}"
|
||||
if [ "$value" = "1" ]; then
|
||||
enabled_module_keys+=("$mod_var")
|
||||
if [ "${MODULE_NEEDS_BUILD_MAP[$mod_var]}" = "1" ]; then
|
||||
enabled_cpp_module_keys+=("$mod_var")
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
local MODULES_ENABLED_LIST=""
|
||||
local MODULES_CPP_LIST=""
|
||||
if [ ${#enabled_module_keys[@]} -gt 0 ]; then
|
||||
MODULES_ENABLED_LIST="$(IFS=','; printf '%s' "${enabled_module_keys[*]}")"
|
||||
fi
|
||||
if [ ${#enabled_cpp_module_keys[@]} -gt 0 ]; then
|
||||
MODULES_CPP_LIST="$(IFS=','; printf '%s' "${enabled_cpp_module_keys[*]}")"
|
||||
fi
|
||||
|
||||
local STACK_IMAGE_MODE="standard"
|
||||
local STACK_SOURCE_VARIANT="core"
|
||||
if [ "$MODULE_PLAYERBOTS" = "1" ] || [ "$PLAYERBOT_ENABLED" = "1" ]; then
|
||||
STACK_IMAGE_MODE="playerbots"
|
||||
STACK_SOURCE_VARIANT="playerbots"
|
||||
elif [ "$NEEDS_CXX_REBUILD" = "1" ]; then
|
||||
STACK_IMAGE_MODE="modules"
|
||||
fi
|
||||
|
||||
local MODULES_REQUIRES_CUSTOM_BUILD="$NEEDS_CXX_REBUILD"
|
||||
local MODULES_REQUIRES_PLAYERBOT_SOURCE="0"
|
||||
if [ "$STACK_SOURCE_VARIANT" = "playerbots" ]; then
|
||||
MODULES_REQUIRES_PLAYERBOT_SOURCE="1"
|
||||
fi
|
||||
|
||||
export NEEDS_CXX_REBUILD
|
||||
|
||||
local SUMMARY_MODE_TEXT="$module_mode_label"
|
||||
@@ -1419,7 +1454,10 @@ fi
|
||||
HOST_ZONEINFO_PATH=${HOST_ZONEINFO_PATH:-$DEFAULT_HOST_ZONEINFO_PATH}
|
||||
MYSQL_INNODB_REDO_LOG_CAPACITY=${MYSQL_INNODB_REDO_LOG_CAPACITY:-$DEFAULT_MYSQL_INNODB_REDO_LOG_CAPACITY}
|
||||
MYSQL_RUNTIME_TMPFS_SIZE=${MYSQL_RUNTIME_TMPFS_SIZE:-$DEFAULT_MYSQL_RUNTIME_TMPFS_SIZE}
|
||||
CLIENT_DATA_VOLUME=${CLIENT_DATA_VOLUME:-$DEFAULT_CLIENT_DATA_VOLUME}
|
||||
MYSQL_EXPOSE_PORT=${MYSQL_EXPOSE_PORT:-$DEFAULT_MYSQL_EXPOSE_PORT}
|
||||
MYSQL_DISABLE_BINLOG=${MYSQL_DISABLE_BINLOG:-$DEFAULT_MYSQL_DISABLE_BINLOG}
|
||||
MYSQL_CONFIG_DIR=${MYSQL_CONFIG_DIR:-$DEFAULT_MYSQL_CONFIG_DIR}
|
||||
CLIENT_DATA_PATH=${CLIENT_DATA_PATH:-$DEFAULT_CLIENT_DATA_PATH}
|
||||
BACKUP_HEALTHCHECK_MAX_MINUTES=${BACKUP_HEALTHCHECK_MAX_MINUTES:-$DEFAULT_BACKUP_HEALTHCHECK_MAX_MINUTES}
|
||||
BACKUP_HEALTHCHECK_GRACE_SECONDS=${BACKUP_HEALTHCHECK_GRACE_SECONDS:-$DEFAULT_BACKUP_HEALTHCHECK_GRACE_SECONDS}
|
||||
DB_WAIT_RETRIES=${DB_WAIT_RETRIES:-$DEFAULT_DB_WAIT_RETRIES}
|
||||
@@ -1446,7 +1484,7 @@ fi
|
||||
|
||||
local project_image_prefix
|
||||
project_image_prefix="$(sanitize_project_name "$DEFAULT_COMPOSE_PROJECT_NAME")"
|
||||
if [ "$MODULE_PLAYERBOTS" = "1" ] || [ "$NEEDS_CXX_REBUILD" = "1" ]; then
|
||||
if [ "$STACK_IMAGE_MODE" = "playerbots" ]; then
|
||||
AC_AUTHSERVER_IMAGE_PLAYERBOTS_VALUE="$(resolve_project_image_tag "$project_image_prefix" "authserver-playerbots")"
|
||||
AC_WORLDSERVER_IMAGE_PLAYERBOTS_VALUE="$(resolve_project_image_tag "$project_image_prefix" "worldserver-playerbots")"
|
||||
AC_DB_IMPORT_IMAGE_VALUE="$(resolve_project_image_tag "$project_image_prefix" "db-import-playerbots")"
|
||||
@@ -1478,6 +1516,9 @@ MYSQL_ROOT_HOST=$DEFAULT_MYSQL_ROOT_HOST
|
||||
MYSQL_USER=$DEFAULT_MYSQL_USER
|
||||
MYSQL_PORT=$DEFAULT_MYSQL_INTERNAL_PORT
|
||||
MYSQL_EXTERNAL_PORT=$MYSQL_EXTERNAL_PORT
|
||||
MYSQL_EXPOSE_PORT=${MYSQL_EXPOSE_PORT:-$DEFAULT_MYSQL_EXPOSE_PORT}
|
||||
MYSQL_DISABLE_BINLOG=${MYSQL_DISABLE_BINLOG:-$DEFAULT_MYSQL_DISABLE_BINLOG}
|
||||
MYSQL_CONFIG_DIR=${MYSQL_CONFIG_DIR:-$DEFAULT_MYSQL_CONFIG_DIR}
|
||||
MYSQL_CHARACTER_SET=$DEFAULT_MYSQL_CHARACTER_SET
|
||||
MYSQL_COLLATION=$DEFAULT_MYSQL_COLLATION
|
||||
MYSQL_MAX_CONNECTIONS=$DEFAULT_MYSQL_MAX_CONNECTIONS
|
||||
@@ -1506,7 +1547,7 @@ AC_WORLDSERVER_IMAGE_MODULES=${AC_WORLDSERVER_IMAGE_MODULES_VALUE}
|
||||
AC_CLIENT_DATA_IMAGE=$DEFAULT_AC_CLIENT_DATA_IMAGE
|
||||
AC_CLIENT_DATA_IMAGE_PLAYERBOTS=$AC_CLIENT_DATA_IMAGE_PLAYERBOTS_VALUE
|
||||
CLIENT_DATA_CACHE_PATH=$DEFAULT_CLIENT_DATA_CACHE_PATH
|
||||
CLIENT_DATA_VOLUME=${CLIENT_DATA_VOLUME:-$DEFAULT_CLIENT_DATA_VOLUME}
|
||||
CLIENT_DATA_PATH=$CLIENT_DATA_PATH
|
||||
|
||||
# Build artifacts
|
||||
DOCKER_IMAGE_TAG=$DEFAULT_DOCKER_IMAGE_TAG
|
||||
@@ -1560,6 +1601,12 @@ CLIENT_DATA_VERSION=${CLIENT_DATA_VERSION:-$DEFAULT_CLIENT_DATA_VERSION}
|
||||
PLAYERBOT_ENABLED=$PLAYERBOT_ENABLED
|
||||
PLAYERBOT_MIN_BOTS=$PLAYERBOT_MIN_BOTS
|
||||
PLAYERBOT_MAX_BOTS=$PLAYERBOT_MAX_BOTS
|
||||
STACK_IMAGE_MODE=$STACK_IMAGE_MODE
|
||||
STACK_SOURCE_VARIANT=$STACK_SOURCE_VARIANT
|
||||
MODULES_ENABLED_LIST=$MODULES_ENABLED_LIST
|
||||
MODULES_CPP_LIST=$MODULES_CPP_LIST
|
||||
MODULES_REQUIRES_CUSTOM_BUILD=$MODULES_REQUIRES_CUSTOM_BUILD
|
||||
MODULES_REQUIRES_PLAYERBOT_SOURCE=$MODULES_REQUIRES_PLAYERBOT_SOURCE
|
||||
|
||||
# Rebuild automation
|
||||
AUTO_REBUILD_ON_DEPLOY=$AUTO_REBUILD_ON_DEPLOY
|
||||
|
||||
Reference in New Issue
Block a user