mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-22 04:56:23 +00:00
feat: cleanup setup into sub-modules
This commit is contained in:
300
scripts/bash/setup/env.sh
Normal file
300
scripts/bash/setup/env.sh
Normal file
@@ -0,0 +1,300 @@
|
||||
# .env rendering helpers for setup.sh
|
||||
|
||||
setup_write_env() {
|
||||
local ENV_OUT="$(dirname "$0")/.env"
|
||||
if [ -f "$ENV_OUT" ]; then
|
||||
say WARNING ".env already exists at $(realpath "$ENV_OUT" 2>/dev/null || echo "$ENV_OUT"). It will be overwritten."
|
||||
local cont
|
||||
if [ "$FORCE_OVERWRITE" = "1" ]; then
|
||||
cont=1
|
||||
else
|
||||
cont=$(ask_yn "Continue and overwrite?" n)
|
||||
fi
|
||||
[ "$cont" = "1" ] || { say ERROR "Aborted"; exit 1; }
|
||||
fi
|
||||
|
||||
DB_PLAYERBOTS_NAME=${DB_PLAYERBOTS_NAME:-$DEFAULT_DB_PLAYERBOTS_NAME}
|
||||
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}
|
||||
COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED=${COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED:-$DEFAULT_COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED}
|
||||
COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED=${COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED:-$DEFAULT_COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED}
|
||||
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}
|
||||
DB_WAIT_SLEEP=${DB_WAIT_SLEEP:-$DEFAULT_DB_WAIT_SLEEP}
|
||||
DB_RECONNECT_SECONDS=${DB_RECONNECT_SECONDS:-$DEFAULT_DB_RECONNECT_SECONDS}
|
||||
DB_RECONNECT_ATTEMPTS=${DB_RECONNECT_ATTEMPTS:-$DEFAULT_DB_RECONNECT_ATTEMPTS}
|
||||
DB_UPDATES_ALLOWED_MODULES=${DB_UPDATES_ALLOWED_MODULES:-$DEFAULT_DB_UPDATES_ALLOWED_MODULES}
|
||||
DB_UPDATES_REDUNDANCY=${DB_UPDATES_REDUNDANCY:-$DEFAULT_DB_UPDATES_REDUNDANCY}
|
||||
DB_LOGIN_WORKER_THREADS=${DB_LOGIN_WORKER_THREADS:-$DEFAULT_DB_LOGIN_WORKER_THREADS}
|
||||
DB_WORLD_WORKER_THREADS=${DB_WORLD_WORKER_THREADS:-$DEFAULT_DB_WORLD_WORKER_THREADS}
|
||||
DB_CHARACTER_WORKER_THREADS=${DB_CHARACTER_WORKER_THREADS:-$DEFAULT_DB_CHARACTER_WORKER_THREADS}
|
||||
DB_LOGIN_SYNCH_THREADS=${DB_LOGIN_SYNCH_THREADS:-$DEFAULT_DB_LOGIN_SYNCH_THREADS}
|
||||
DB_WORLD_SYNCH_THREADS=${DB_WORLD_SYNCH_THREADS:-$DEFAULT_DB_WORLD_SYNCH_THREADS}
|
||||
DB_CHARACTER_SYNCH_THREADS=${DB_CHARACTER_SYNCH_THREADS:-$DEFAULT_DB_CHARACTER_SYNCH_THREADS}
|
||||
MYSQL_HEALTHCHECK_INTERVAL=${MYSQL_HEALTHCHECK_INTERVAL:-$DEFAULT_MYSQL_HEALTHCHECK_INTERVAL}
|
||||
MYSQL_HEALTHCHECK_TIMEOUT=${MYSQL_HEALTHCHECK_TIMEOUT:-$DEFAULT_MYSQL_HEALTHCHECK_TIMEOUT}
|
||||
MYSQL_HEALTHCHECK_RETRIES=${MYSQL_HEALTHCHECK_RETRIES:-$DEFAULT_MYSQL_HEALTHCHECK_RETRIES}
|
||||
MYSQL_HEALTHCHECK_START_PERIOD=${MYSQL_HEALTHCHECK_START_PERIOD:-$DEFAULT_MYSQL_HEALTHCHECK_START_PERIOD}
|
||||
AUTH_HEALTHCHECK_INTERVAL=${AUTH_HEALTHCHECK_INTERVAL:-$DEFAULT_AUTH_HEALTHCHECK_INTERVAL}
|
||||
AUTH_HEALTHCHECK_TIMEOUT=${AUTH_HEALTHCHECK_TIMEOUT:-$DEFAULT_AUTH_HEALTHCHECK_TIMEOUT}
|
||||
AUTH_HEALTHCHECK_RETRIES=${AUTH_HEALTHCHECK_RETRIES:-$DEFAULT_AUTH_HEALTHCHECK_RETRIES}
|
||||
AUTH_HEALTHCHECK_START_PERIOD=${AUTH_HEALTHCHECK_START_PERIOD:-$DEFAULT_AUTH_HEALTHCHECK_START_PERIOD}
|
||||
WORLD_HEALTHCHECK_INTERVAL=${WORLD_HEALTHCHECK_INTERVAL:-$DEFAULT_WORLD_HEALTHCHECK_INTERVAL}
|
||||
WORLD_HEALTHCHECK_TIMEOUT=${WORLD_HEALTHCHECK_TIMEOUT:-$DEFAULT_WORLD_HEALTHCHECK_TIMEOUT}
|
||||
WORLD_HEALTHCHECK_RETRIES=${WORLD_HEALTHCHECK_RETRIES:-$DEFAULT_WORLD_HEALTHCHECK_RETRIES}
|
||||
WORLD_HEALTHCHECK_START_PERIOD=${WORLD_HEALTHCHECK_START_PERIOD:-$DEFAULT_WORLD_HEALTHCHECK_START_PERIOD}
|
||||
for hc_key in "${HEALTHCHECK_KEYS[@]}"; do
|
||||
default_var="DEFAULT_${hc_key}"
|
||||
printf -v "$hc_key" '%s' "${!hc_key:-${!default_var}}"
|
||||
done
|
||||
unset hc_key default_var
|
||||
MODULE_ELUNA=${MODULE_ELUNA:-$DEFAULT_MODULE_ELUNA}
|
||||
BACKUP_PATH=${BACKUP_PATH:-$DEFAULT_BACKUP_PATH}
|
||||
|
||||
local project_image_prefix
|
||||
project_image_prefix="$(sanitize_project_name "$DEFAULT_PROJECT_NAME")"
|
||||
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")"
|
||||
AC_CLIENT_DATA_IMAGE_PLAYERBOTS_VALUE="$(resolve_project_image_tag "$project_image_prefix" "client-data-playerbots")"
|
||||
else
|
||||
AC_AUTHSERVER_IMAGE_PLAYERBOTS_VALUE="$DEFAULT_AUTH_IMAGE_PLAYERBOTS"
|
||||
AC_WORLDSERVER_IMAGE_PLAYERBOTS_VALUE="$DEFAULT_WORLD_IMAGE_PLAYERBOTS"
|
||||
AC_DB_IMPORT_IMAGE_VALUE="$DEFAULT_AC_DB_IMPORT_IMAGE"
|
||||
AC_CLIENT_DATA_IMAGE_PLAYERBOTS_VALUE="$DEFAULT_CLIENT_DATA_IMAGE_PLAYERBOTS"
|
||||
fi
|
||||
AC_AUTHSERVER_IMAGE_MODULES_VALUE="$(resolve_project_image_tag "$project_image_prefix" "authserver-modules-latest")"
|
||||
AC_WORLDSERVER_IMAGE_MODULES_VALUE="$(resolve_project_image_tag "$project_image_prefix" "worldserver-modules-latest")"
|
||||
|
||||
{
|
||||
cat <<EOF
|
||||
# Generated by setup.sh
|
||||
|
||||
# Compose overrides (set to 1 to include matching file under compose-overrides/)
|
||||
# mysql-expose.yml -> exposes MySQL externally via COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED
|
||||
# worldserver-debug-logging.yml -> raises log verbosity via COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED
|
||||
COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED=$COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED
|
||||
COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED=$COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED
|
||||
|
||||
COMPOSE_PROJECT_NAME=$DEFAULT_PROJECT_NAME
|
||||
|
||||
STORAGE_PATH=$STORAGE_PATH
|
||||
STORAGE_PATH_LOCAL=$LOCAL_STORAGE_ROOT
|
||||
STORAGE_CONFIG_PATH=$(get_template_value "STORAGE_CONFIG_PATH")
|
||||
STORAGE_LOGS_PATH=$(get_template_value "STORAGE_LOGS_PATH")
|
||||
STORAGE_MODULES_PATH=$(get_template_value "STORAGE_MODULES_PATH")
|
||||
STORAGE_LUA_SCRIPTS_PATH=$(get_template_value "STORAGE_LUA_SCRIPTS_PATH")
|
||||
STORAGE_MODULES_META_PATH=$(get_template_value "STORAGE_MODULES_META_PATH")
|
||||
STORAGE_MODULE_SQL_PATH=$(get_template_value "STORAGE_MODULE_SQL_PATH")
|
||||
STORAGE_INSTALL_MARKERS_PATH=$(get_template_value "STORAGE_INSTALL_MARKERS_PATH")
|
||||
STORAGE_CLIENT_DATA_PATH=$(get_template_value "STORAGE_CLIENT_DATA_PATH")
|
||||
STORAGE_LOCAL_SOURCE_PATH=$(get_template_value "STORAGE_LOCAL_SOURCE_PATH")
|
||||
BACKUP_PATH=$BACKUP_PATH
|
||||
TZ=$DEFAULT_TZ
|
||||
|
||||
# Database
|
||||
MYSQL_IMAGE=$DEFAULT_MYSQL_IMAGE
|
||||
MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
|
||||
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_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
|
||||
MYSQL_INNODB_BUFFER_POOL_SIZE=$DEFAULT_MYSQL_INNODB_BUFFER_POOL_SIZE
|
||||
MYSQL_INNODB_LOG_FILE_SIZE=$DEFAULT_MYSQL_INNODB_LOG_FILE_SIZE
|
||||
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}
|
||||
MYSQL_HOST=$DEFAULT_MYSQL_HOST
|
||||
DB_WAIT_RETRIES=$DB_WAIT_RETRIES
|
||||
DB_WAIT_SLEEP=$DB_WAIT_SLEEP
|
||||
DB_AUTH_NAME=$DEFAULT_DB_AUTH_NAME
|
||||
DB_WORLD_NAME=$DEFAULT_DB_WORLD_NAME
|
||||
DB_CHARACTERS_NAME=$DEFAULT_DB_CHARACTERS_NAME
|
||||
DB_PLAYERBOTS_NAME=${DB_PLAYERBOTS_NAME:-$DEFAULT_DB_PLAYERBOTS_NAME}
|
||||
AC_DB_IMPORT_IMAGE=$AC_DB_IMPORT_IMAGE_VALUE
|
||||
|
||||
# Database Import Settings
|
||||
DB_RECONNECT_SECONDS=$DB_RECONNECT_SECONDS
|
||||
DB_RECONNECT_ATTEMPTS=$DB_RECONNECT_ATTEMPTS
|
||||
DB_UPDATES_ALLOWED_MODULES=$DB_UPDATES_ALLOWED_MODULES
|
||||
DB_UPDATES_REDUNDANCY=$DB_UPDATES_REDUNDANCY
|
||||
DB_LOGIN_WORKER_THREADS=$DB_LOGIN_WORKER_THREADS
|
||||
DB_WORLD_WORKER_THREADS=$DB_WORLD_WORKER_THREADS
|
||||
DB_CHARACTER_WORKER_THREADS=$DB_CHARACTER_WORKER_THREADS
|
||||
DB_LOGIN_SYNCH_THREADS=$DB_LOGIN_SYNCH_THREADS
|
||||
DB_WORLD_SYNCH_THREADS=$DB_WORLD_SYNCH_THREADS
|
||||
DB_CHARACTER_SYNCH_THREADS=$DB_CHARACTER_SYNCH_THREADS
|
||||
|
||||
# Services (images)
|
||||
AC_AUTHSERVER_IMAGE=$DEFAULT_AC_AUTHSERVER_IMAGE
|
||||
AC_WORLDSERVER_IMAGE=$DEFAULT_AC_WORLDSERVER_IMAGE
|
||||
AC_AUTHSERVER_IMAGE_PLAYERBOTS=${AC_AUTHSERVER_IMAGE_PLAYERBOTS_VALUE}
|
||||
AC_WORLDSERVER_IMAGE_PLAYERBOTS=${AC_WORLDSERVER_IMAGE_PLAYERBOTS_VALUE}
|
||||
AC_AUTHSERVER_IMAGE_MODULES=${AC_AUTHSERVER_IMAGE_MODULES_VALUE}
|
||||
AC_WORLDSERVER_IMAGE_MODULES=${AC_WORLDSERVER_IMAGE_MODULES_VALUE}
|
||||
|
||||
# Client data images
|
||||
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_PATH=$CLIENT_DATA_PATH
|
||||
|
||||
# Build artifacts
|
||||
DOCKER_IMAGE_TAG=$DEFAULT_DOCKER_IMAGE_TAG
|
||||
AC_AUTHSERVER_IMAGE_BASE=$DEFAULT_AUTHSERVER_IMAGE_BASE
|
||||
AC_WORLDSERVER_IMAGE_BASE=$DEFAULT_WORLDSERVER_IMAGE_BASE
|
||||
AC_DB_IMPORT_IMAGE_BASE=$DEFAULT_DB_IMPORT_IMAGE_BASE
|
||||
AC_CLIENT_DATA_IMAGE_BASE=$DEFAULT_CLIENT_DATA_IMAGE_BASE
|
||||
|
||||
# Container user
|
||||
CONTAINER_USER=$CONTAINER_USER
|
||||
|
||||
# Containers
|
||||
CONTAINER_MYSQL=$DEFAULT_CONTAINER_MYSQL
|
||||
CONTAINER_DB_IMPORT=$DEFAULT_CONTAINER_DB_IMPORT
|
||||
CONTAINER_DB_INIT=$DEFAULT_CONTAINER_DB_INIT
|
||||
CONTAINER_DB_GUARD=$(get_template_value "CONTAINER_DB_GUARD")
|
||||
CONTAINER_BACKUP=$DEFAULT_CONTAINER_BACKUP
|
||||
CONTAINER_MODULES=$DEFAULT_CONTAINER_MODULES
|
||||
CONTAINER_POST_INSTALL=$DEFAULT_CONTAINER_POST_INSTALL
|
||||
|
||||
# Database Guard Defaults
|
||||
DB_GUARD_RECHECK_SECONDS=$(get_template_value "DB_GUARD_RECHECK_SECONDS")
|
||||
DB_GUARD_RETRY_SECONDS=$(get_template_value "DB_GUARD_RETRY_SECONDS")
|
||||
DB_GUARD_WAIT_ATTEMPTS=$(get_template_value "DB_GUARD_WAIT_ATTEMPTS")
|
||||
DB_GUARD_HEALTH_MAX_AGE=$(get_template_value "DB_GUARD_HEALTH_MAX_AGE")
|
||||
DB_GUARD_HEALTHCHECK_INTERVAL=$(get_template_value "DB_GUARD_HEALTHCHECK_INTERVAL")
|
||||
DB_GUARD_HEALTHCHECK_TIMEOUT=$(get_template_value "DB_GUARD_HEALTHCHECK_TIMEOUT")
|
||||
DB_GUARD_HEALTHCHECK_RETRIES=$(get_template_value "DB_GUARD_HEALTHCHECK_RETRIES")
|
||||
DB_GUARD_VERIFY_INTERVAL_SECONDS=$(get_template_value "DB_GUARD_VERIFY_INTERVAL_SECONDS")
|
||||
|
||||
# Module SQL staging
|
||||
STAGE_PATH_MODULE_SQL=$(get_template_value "STAGE_PATH_MODULE_SQL")
|
||||
|
||||
# Modules rebuild source path
|
||||
MODULES_REBUILD_SOURCE_PATH=$MODULES_REBUILD_SOURCE_PATH
|
||||
|
||||
# SQL Source Overlay
|
||||
SOURCE_DIR=$(get_template_value "SOURCE_DIR")
|
||||
AC_SQL_SOURCE_PATH=$(get_template_value "AC_SQL_SOURCE_PATH")
|
||||
|
||||
# Ports
|
||||
AUTH_EXTERNAL_PORT=$AUTH_EXTERNAL_PORT
|
||||
AUTH_PORT=$DEFAULT_AUTH_INTERNAL_PORT
|
||||
WORLD_EXTERNAL_PORT=$REALM_PORT
|
||||
WORLD_PORT=$DEFAULT_WORLD_INTERNAL_PORT
|
||||
SOAP_EXTERNAL_PORT=$SOAP_EXTERNAL_PORT
|
||||
SOAP_PORT=$DEFAULT_SOAP_INTERNAL_PORT
|
||||
|
||||
# Realm
|
||||
SERVER_ADDRESS=$SERVER_ADDRESS
|
||||
REALM_PORT=$REALM_PORT
|
||||
|
||||
# Backups
|
||||
BACKUP_RETENTION_DAYS=$BACKUP_RETENTION_DAYS
|
||||
BACKUP_RETENTION_HOURS=$BACKUP_RETENTION_HOURS
|
||||
BACKUP_DAILY_TIME=$BACKUP_DAILY_TIME
|
||||
BACKUP_INTERVAL_MINUTES=$(get_template_value "BACKUP_INTERVAL_MINUTES")
|
||||
BACKUP_EXTRA_DATABASES=$(get_template_value "BACKUP_EXTRA_DATABASES")
|
||||
BACKUP_HEALTHCHECK_MAX_MINUTES=$BACKUP_HEALTHCHECK_MAX_MINUTES
|
||||
BACKUP_HEALTHCHECK_GRACE_SECONDS=$BACKUP_HEALTHCHECK_GRACE_SECONDS
|
||||
|
||||
EOF
|
||||
echo
|
||||
echo "# Modules"
|
||||
for module_key in "${MODULE_KEYS[@]}"; do
|
||||
local module_value="${!module_key:-0}"
|
||||
# Only write enabled modules (value=1) to .env
|
||||
if [ "$module_value" = "1" ]; then
|
||||
printf "%s=%s\n" "$module_key" "$module_value"
|
||||
fi
|
||||
done
|
||||
cat <<EOF
|
||||
|
||||
# Client data
|
||||
CLIENT_DATA_VERSION=${CLIENT_DATA_VERSION:-$DEFAULT_CLIENT_DATA_VERSION}
|
||||
|
||||
# Server configuration
|
||||
SERVER_CONFIG_PRESET=$SERVER_CONFIG_PRESET
|
||||
|
||||
# Playerbot runtime
|
||||
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
|
||||
|
||||
# Eluna
|
||||
AC_ELUNA_ENABLED=$DEFAULT_ELUNA_ENABLED
|
||||
AC_ELUNA_TRACE_BACK=$DEFAULT_ELUNA_TRACE_BACK
|
||||
AC_ELUNA_AUTO_RELOAD=$DEFAULT_ELUNA_AUTO_RELOAD
|
||||
AC_ELUNA_BYTECODE_CACHE=$DEFAULT_ELUNA_BYTECODE_CACHE
|
||||
AC_ELUNA_SCRIPT_PATH=$DEFAULT_ELUNA_SCRIPT_PATH
|
||||
AC_ELUNA_REQUIRE_PATHS=$DEFAULT_ELUNA_REQUIRE_PATHS
|
||||
AC_ELUNA_REQUIRE_CPATHS=$DEFAULT_ELUNA_REQUIRE_CPATHS
|
||||
AC_ELUNA_AUTO_RELOAD_INTERVAL=$DEFAULT_ELUNA_AUTO_RELOAD_INTERVAL
|
||||
|
||||
# Tools
|
||||
PMA_HOST=$DEFAULT_CONTAINER_MYSQL
|
||||
PMA_PORT=$DEFAULT_MYSQL_INTERNAL_PORT
|
||||
PMA_USER=$DEFAULT_PMA_USER
|
||||
PMA_EXTERNAL_PORT=$DEFAULT_PMA_EXTERNAL_PORT
|
||||
PMA_ARBITRARY=$DEFAULT_PMA_ARBITRARY
|
||||
PMA_ABSOLUTE_URI=$DEFAULT_PMA_ABSOLUTE_URI
|
||||
PMA_UPLOAD_LIMIT=$DEFAULT_PMA_UPLOAD_LIMIT
|
||||
PMA_MEMORY_LIMIT=$DEFAULT_PMA_MEMORY_LIMIT
|
||||
PMA_MAX_EXECUTION_TIME=$DEFAULT_PMA_MAX_EXECUTION_TIME
|
||||
KEIRA3_EXTERNAL_PORT=$DEFAULT_KEIRA3_EXTERNAL_PORT
|
||||
KEIRA_DATABASE_HOST=$DEFAULT_CONTAINER_MYSQL
|
||||
KEIRA_DATABASE_PORT=$DEFAULT_MYSQL_INTERNAL_PORT
|
||||
|
||||
# Health checks
|
||||
EOF
|
||||
for hc_key in "${HEALTHCHECK_KEYS[@]}"; do
|
||||
printf "%s=%s\n" "$hc_key" "${!hc_key}"
|
||||
done
|
||||
cat <<EOF
|
||||
|
||||
# Networking
|
||||
NETWORK_NAME=$DEFAULT_NETWORK_NAME
|
||||
NETWORK_SUBNET=$DEFAULT_NETWORK_SUBNET
|
||||
NETWORK_GATEWAY=$DEFAULT_NETWORK_GATEWAY
|
||||
|
||||
# Storage helpers
|
||||
HOST_ZONEINFO_PATH=${HOST_ZONEINFO_PATH:-$DEFAULT_HOST_ZONEINFO_PATH}
|
||||
|
||||
# Helper images
|
||||
ALPINE_GIT_IMAGE=$DEFAULT_ALPINE_GIT_IMAGE
|
||||
ALPINE_IMAGE=$DEFAULT_ALPINE_IMAGE
|
||||
EOF
|
||||
} > "$ENV_OUT"
|
||||
|
||||
local staging_modules_dir="${LOCAL_STORAGE_ROOT_ABS}/modules"
|
||||
mkdir -p "$staging_modules_dir"
|
||||
|
||||
local module_state_string=""
|
||||
for module_state_var in "${MODULE_KEYS[@]}"; do
|
||||
local module_value="${!module_state_var:-0}"
|
||||
module_state_string+="${module_state_var}=${module_value}|"
|
||||
done
|
||||
printf '%s' "$module_state_string" > "${staging_modules_dir}/.modules_state"
|
||||
if [ "$NEEDS_CXX_REBUILD" != "1" ]; then
|
||||
rm -f "${staging_modules_dir}/.requires_rebuild" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
say SUCCESS ".env written to $ENV_OUT"
|
||||
}
|
||||
Reference in New Issue
Block a user