Files
containers/bitnami/rabbitmq/3.12/debian-11/rootfs/opt/bitnami/scripts/rabbitmq-env.sh
2023-06-07 16:54:02 +02:00

181 lines
8.0 KiB
Bash

#!/bin/bash
#
# Environment configuration for rabbitmq
# The values for all environment variables will be set in the below order of precedence
# 1. Custom environment variables defined below after Bitnami defaults
# 2. Constants defined in this file (environment variables with no default), i.e. BITNAMI_ROOT_DIR
# 3. Environment variables overridden via external files using *_FILE variables (see below)
# 4. Environment variables set externally (i.e. current Bash context/Dockerfile/userdata)
# Load logging library
# shellcheck disable=SC1090,SC1091
. /opt/bitnami/scripts/liblog.sh
export BITNAMI_ROOT_DIR="/opt/bitnami"
export BITNAMI_VOLUME_DIR="/bitnami"
# Logging configuration
export MODULE="${MODULE:-rabbitmq}"
export BITNAMI_DEBUG="${BITNAMI_DEBUG:-false}"
# By setting an environment variable matching *_FILE to a file path, the prefixed environment
# variable will be overridden with the value specified in that file
rabbitmq_env_vars=(
RABBITMQ_CONF_FILE
RABBITMQ_DEFINITIONS_FILE
RABBITMQ_SECURE_PASSWORD
RABBITMQ_CLUSTER_NODE_NAME
RABBITMQ_CLUSTER_PARTITION_HANDLING
RABBITMQ_DISK_FREE_RELATIVE_LIMIT
RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT
RABBITMQ_ERL_COOKIE
RABBITMQ_VM_MEMORY_HIGH_WATERMARK
RABBITMQ_LOAD_DEFINITIONS
RABBITMQ_MANAGEMENT_BIND_IP
RABBITMQ_MANAGEMENT_PORT_NUMBER
RABBITMQ_NODE_NAME
RABBITMQ_USE_LONGNAME
RABBITMQ_NODE_PORT_NUMBER
RABBITMQ_NODE_TYPE
RABBITMQ_VHOST
RABBITMQ_VHOSTS
RABBITMQ_CLUSTER_REBALANCE
RABBITMQ_CLUSTER_REBALANCE_ATTEMPTS
RABBITMQ_USERNAME
RABBITMQ_PASSWORD
RABBITMQ_FORCE_BOOT
RABBITMQ_ENABLE_LDAP
RABBITMQ_LDAP_TLS
RABBITMQ_LDAP_SERVERS
RABBITMQ_LDAP_SERVERS_PORT
RABBITMQ_LDAP_USER_DN_PATTERN
RABBITMQ_NODE_SSL_PORT_NUMBER
RABBITMQ_SSL_CACERTFILE
RABBITMQ_SSL_CERTFILE
RABBITMQ_SSL_KEYFILE
RABBITMQ_SSL_DEPTH
RABBITMQ_SSL_FAIL_IF_NO_PEER_CERT
RABBITMQ_SSL_VERIFY
RABBITMQ_MANAGEMENT_SSL_PORT_NUMBER
RABBITMQ_MANAGEMENT_SSL_CACERTFILE
RABBITMQ_MANAGEMENT_SSL_CERTFILE
RABBITMQ_MANAGEMENT_SSL_KEYFILE
RABBITMQ_MANAGEMENT_SSL_DEPTH
RABBITMQ_MANAGEMENT_SSL_FAIL_IF_NO_PEER_CERT
RABBITMQ_MANAGEMENT_SSL_VERIFY
RABBITMQ_CONFIG_FILE
RABBITMQ_ERLANG_COOKIE
RABBITMQ_MANAGER_BIND_IP
RABBITMQ_MANAGER_PORT_NUMBER
RABBITMQ_DEFAULT_VHOST
RABBITMQ_DEFAULT_USER
RABBITMQ_DEFAULT_PASS
RABBITMQ_SSL_CACERT_FILE
RABBITMQ_SSL_CERT_FILE
RABBITMQ_SSL_KEY_FILE
)
for env_var in "${rabbitmq_env_vars[@]}"; do
file_env_var="${env_var}_FILE"
if [[ -n "${!file_env_var:-}" ]]; then
if [[ -r "${!file_env_var:-}" ]]; then
export "${env_var}=$(< "${!file_env_var}")"
unset "${file_env_var}"
else
warn "Skipping export of '${env_var}'. '${!file_env_var:-}' is not readable."
fi
fi
done
unset rabbitmq_env_vars
# Paths
export RABBITMQ_VOLUME_DIR="/bitnami/rabbitmq"
export RABBITMQ_BASE_DIR="/opt/bitnami/rabbitmq"
export RABBITMQ_BIN_DIR="${RABBITMQ_BASE_DIR}/sbin"
export RABBITMQ_DATA_DIR="${RABBITMQ_VOLUME_DIR}/mnesia"
export RABBITMQ_CONF_DIR="${RABBITMQ_BASE_DIR}/etc/rabbitmq"
RABBITMQ_CONF_FILE="${RABBITMQ_CONF_FILE:-"${RABBITMQ_CONFIG_FILE:-}"}"
export RABBITMQ_CONF_FILE="${RABBITMQ_CONF_FILE:-${RABBITMQ_CONF_DIR}/rabbitmq.conf}"
export RABBITMQ_CONF_ENV_FILE="${RABBITMQ_CONF_DIR}/rabbitmq-env.conf"
export RABBITMQ_HOME_DIR="${RABBITMQ_BASE_DIR}/.rabbitmq"
export RABBITMQ_LIB_DIR="${RABBITMQ_BASE_DIR}/var/lib/rabbitmq"
export RABBITMQ_INITSCRIPTS_DIR="/docker-entrypoint-initdb.d"
export RABBITMQ_LOGS_DIR="${RABBITMQ_BASE_DIR}/var/log/rabbitmq"
export RABBITMQ_DEFINITIONS_FILE="${RABBITMQ_DEFINITIONS_FILE:-/app/load_definition.json}"
export RABBITMQ_PLUGINS_DIR="${RABBITMQ_BASE_DIR}/plugins"
export RABBITMQ_MOUNTED_CONF_DIR="${RABBITMQ_VOLUME_DIR}/conf"
export PATH="${RABBITMQ_BIN_DIR}:${BITNAMI_ROOT_DIR}/common/bin:${BITNAMI_ROOT_DIR}/erlang/bin:${PATH}"
# System users (when running with a privileged user)
export RABBITMQ_DAEMON_USER="rabbitmq"
export RABBITMQ_DAEMON_GROUP="rabbitmq"
# RabbitMQ settings
export RABBITMQ_SECURE_PASSWORD="${RABBITMQ_SECURE_PASSWORD:-no}"
export RABBITMQ_CLUSTER_NODE_NAME="${RABBITMQ_CLUSTER_NODE_NAME:-}"
export RABBITMQ_CLUSTER_PARTITION_HANDLING="${RABBITMQ_CLUSTER_PARTITION_HANDLING:-ignore}"
export RABBITMQ_DISK_FREE_RELATIVE_LIMIT="${RABBITMQ_DISK_FREE_RELATIVE_LIMIT:-1.0}"
export RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT="${RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT:-}"
RABBITMQ_ERL_COOKIE="${RABBITMQ_ERL_COOKIE:-"${RABBITMQ_ERLANG_COOKIE:-}"}"
export RABBITMQ_ERL_COOKIE="${RABBITMQ_ERL_COOKIE:-}"
export RABBITMQ_VM_MEMORY_HIGH_WATERMARK="${RABBITMQ_VM_MEMORY_HIGH_WATERMARK:-}"
export RABBITMQ_LOAD_DEFINITIONS="${RABBITMQ_LOAD_DEFINITIONS:-no}"
RABBITMQ_MANAGEMENT_BIND_IP="${RABBITMQ_MANAGEMENT_BIND_IP:-"${RABBITMQ_MANAGER_BIND_IP:-}"}"
export RABBITMQ_MANAGEMENT_BIND_IP="${RABBITMQ_MANAGEMENT_BIND_IP:-0.0.0.0}"
RABBITMQ_MANAGEMENT_PORT_NUMBER="${RABBITMQ_MANAGEMENT_PORT_NUMBER:-"${RABBITMQ_MANAGER_PORT_NUMBER:-}"}"
export RABBITMQ_MANAGEMENT_PORT_NUMBER="${RABBITMQ_MANAGEMENT_PORT_NUMBER:-15672}"
export RABBITMQ_NODE_NAME="${RABBITMQ_NODE_NAME:-rabbit@localhost}"
export RABBITMQ_USE_LONGNAME="${RABBITMQ_USE_LONGNAME:-false}"
export RABBITMQ_NODE_PORT_NUMBER="${RABBITMQ_NODE_PORT_NUMBER:-5672}"
export RABBITMQ_NODE_TYPE="${RABBITMQ_NODE_TYPE:-stats}"
RABBITMQ_VHOST="${RABBITMQ_VHOST:-"${RABBITMQ_DEFAULT_VHOST:-}"}"
export RABBITMQ_VHOST="${RABBITMQ_VHOST:-/}"
export RABBITMQ_VHOSTS="${RABBITMQ_VHOSTS:-}"
export RABBITMQ_CLUSTER_REBALANCE="${RABBITMQ_CLUSTER_REBALANCE:-false}"
export RABBITMQ_CLUSTER_REBALANCE_ATTEMPTS="${RABBITMQ_CLUSTER_REBALANCE_ATTEMPTS:-100}"
# RabbitMQ authentication
RABBITMQ_USERNAME="${RABBITMQ_USERNAME:-"${RABBITMQ_DEFAULT_USER:-}"}"
export RABBITMQ_USERNAME="${RABBITMQ_USERNAME:-user}"
RABBITMQ_PASSWORD="${RABBITMQ_PASSWORD:-"${RABBITMQ_DEFAULT_PASS:-}"}"
export RABBITMQ_PASSWORD="${RABBITMQ_PASSWORD:-bitnami}"
# Force boot cluster
export RABBITMQ_FORCE_BOOT="${RABBITMQ_FORCE_BOOT:-no}"
# LDAP
export RABBITMQ_ENABLE_LDAP="${RABBITMQ_ENABLE_LDAP:-no}"
export RABBITMQ_LDAP_TLS="${RABBITMQ_LDAP_TLS:-no}"
export RABBITMQ_LDAP_SERVERS="${RABBITMQ_LDAP_SERVERS:-}"
export RABBITMQ_LDAP_SERVERS_PORT="${RABBITMQ_LDAP_SERVERS_PORT:-389}"
export RABBITMQ_LDAP_USER_DN_PATTERN="${RABBITMQ_LDAP_USER_DN_PATTERN:-}"
# RabbitMQ native environment variables (see https://www.rabbitmq.com/relocate.html)
export RABBITMQ_MNESIA_BASE="$RABBITMQ_DATA_DIR"
# Print all log messages to standard output
# SSL/TLS configuration
export RABBITMQ_NODE_SSL_PORT_NUMBER="${RABBITMQ_NODE_SSL_PORT_NUMBER:-5671}"
RABBITMQ_SSL_CACERTFILE="${RABBITMQ_SSL_CACERTFILE:-"${RABBITMQ_SSL_CACERT_FILE:-}"}"
export RABBITMQ_SSL_CACERTFILE="${RABBITMQ_SSL_CACERTFILE:-}"
RABBITMQ_SSL_CERTFILE="${RABBITMQ_SSL_CERTFILE:-"${RABBITMQ_SSL_CERT_FILE:-}"}"
export RABBITMQ_SSL_CERTFILE="${RABBITMQ_SSL_CERTFILE:-}"
RABBITMQ_SSL_KEYFILE="${RABBITMQ_SSL_KEYFILE:-"${RABBITMQ_SSL_KEY_FILE:-}"}"
export RABBITMQ_SSL_KEYFILE="${RABBITMQ_SSL_KEYFILE:-}"
export RABBITMQ_COMBINED_CERT_PATH="${RABBITMQ_COMBINED_CERT_PATH:-/tmp/rabbitmq_combined_keys.pem}"
export RABBITMQ_SSL_DEPTH="${RABBITMQ_SSL_DEPTH:-}"
export RABBITMQ_SSL_FAIL_IF_NO_PEER_CERT="${RABBITMQ_SSL_FAIL_IF_NO_PEER_CERT:-no}"
export RABBITMQ_SSL_VERIFY="${RABBITMQ_SSL_VERIFY:-verify_none}"
# Management SSL/TLS configuration
export RABBITMQ_MANAGEMENT_SSL_PORT_NUMBER="${RABBITMQ_MANAGEMENT_SSL_PORT_NUMBER:-15671}"
export RABBITMQ_MANAGEMENT_SSL_CACERTFILE="${RABBITMQ_MANAGEMENT_SSL_CACERTFILE:-$RABBITMQ_SSL_CACERTFILE}"
export RABBITMQ_MANAGEMENT_SSL_CERTFILE="${RABBITMQ_MANAGEMENT_SSL_CERTFILE:-$RABBITMQ_SSL_CERTFILE}"
export RABBITMQ_MANAGEMENT_SSL_KEYFILE="${RABBITMQ_MANAGEMENT_SSL_KEYFILE:-$RABBITMQ_SSL_KEYFILE}"
export RABBITMQ_MANAGEMENT_SSL_DEPTH="${RABBITMQ_MANAGEMENT_SSL_DEPTH:-}"
export RABBITMQ_MANAGEMENT_SSL_FAIL_IF_NO_PEER_CERT="${RABBITMQ_MANAGEMENT_SSL_FAIL_IF_NO_PEER_CERT:-yes}"
export RABBITMQ_MANAGEMENT_SSL_VERIFY="${RABBITMQ_MANAGEMENT_SSL_VERIFY:-verify_peer}"
# Custom environment variables may be defined below