Files
grafana/rootfs/opt/bitnami/scripts/grafana-env.sh

98 lines
3.8 KiB
Bash
Raw Normal View History

2026-02-09 06:28:41 +00:00
#!/bin/bash
# Copyright Broadcom, Inc. All Rights Reserved.
# SPDX-License-Identifier: APACHE-2.0
#
# Environment configuration for grafana
# 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:-grafana}"
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
grafana_env_vars=(
GRAFANA_TMP_DIR
GRAFANA_PID_FILE
GRAFANA_DEFAULT_CONF_DIR
GRAFANA_DEFAULT_PLUGINS_DIR
GF_PATHS_HOME
GF_PATHS_CONFIG
GF_PATHS_DATA
GF_PATHS_LOGS
GF_PATHS_PLUGINS
GF_PATHS_PROVISIONING
GF_INSTALL_PLUGINS
GF_INSTALL_PLUGINS_SKIP_TLS
GF_FEATURE_TOGGLES
GF_SECURITY_ADMIN_PASSWORD
GRAFANA_MIGRATION_LOCK
GRAFANA_SLEEP_TIME
GRAFANA_RETRY_ATTEMPTS
GRAFANA_PLUGINS
)
for env_var in "${grafana_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 grafana_env_vars
# Grafana paths
export GRAFANA_BASE_DIR="${BITNAMI_ROOT_DIR}/grafana"
export GRAFANA_BIN_DIR="${GRAFANA_BASE_DIR}/bin"
export GRAFANA_TMP_DIR="${GRAFANA_TMP_DIR:-${GRAFANA_BASE_DIR}/tmp}"
export GRAFANA_CONF_DIR="${GRAFANA_BASE_DIR}/conf"
export GRAFANA_PID_FILE="${GRAFANA_PID_FILE:-${GRAFANA_TMP_DIR}/grafana.pid}"
export PATH="${GRAFANA_BIN_DIR}:${BITNAMI_ROOT_DIR}/common/bin:${PATH}"
export GRAFANA_DEFAULT_CONF_DIR="${GRAFANA_DEFAULT_CONF_DIR:-${GRAFANA_BASE_DIR}/conf.default}"
export GRAFANA_DEFAULT_PLUGINS_DIR="${GRAFANA_DEFAULT_PLUGINS_DIR:-${GRAFANA_BASE_DIR}/default-plugins}"
# System users (when running with a privileged user)
export GRAFANA_DAEMON_USER="grafana"
export GRAFANA_DAEMON_GROUP="grafana"
# Grafana configuration
export GF_PATHS_HOME="${GF_PATHS_HOME:-$GRAFANA_BASE_DIR}"
export GF_PATHS_CONFIG="${GF_PATHS_CONFIG:-${GRAFANA_BASE_DIR}/conf/grafana.ini}"
export GF_PATHS_DATA="${GF_PATHS_DATA:-${GRAFANA_BASE_DIR}/data}"
export GF_PATHS_LOGS="${GF_PATHS_LOGS:-${GRAFANA_BASE_DIR}/logs}"
export GF_PATHS_PLUGINS="${GF_PATHS_PLUGINS:-${GF_PATHS_DATA}/plugins}"
export GF_PATHS_PROVISIONING="${GF_PATHS_PROVISIONING:-${GRAFANA_BASE_DIR}/conf/provisioning}"
GF_INSTALL_PLUGINS="${GF_INSTALL_PLUGINS:-"${GRAFANA_PLUGINS:-}"}"
export GF_INSTALL_PLUGINS="${GF_INSTALL_PLUGINS:-}"
export GF_INSTALL_PLUGINS_SKIP_TLS="${GF_INSTALL_PLUGINS_SKIP_TLS:-yes}"
export GF_FEATURE_TOGGLES="${GF_FEATURE_TOGGLES:-}"
export GF_VOLUME_DIR="${BITNAMI_VOLUME_DIR}/grafana"
export GF_SECURITY_ADMIN_PASSWORD="${GF_SECURITY_ADMIN_PASSWORD:-}"
export GRAFANA_MIGRATION_LOCK="${GRAFANA_MIGRATION_LOCK:-false}"
export GRAFANA_SLEEP_TIME="${GRAFANA_SLEEP_TIME:-10}"
export GRAFANA_RETRY_ATTEMPTS="${GRAFANA_RETRY_ATTEMPTS:-12}"
# Grafana Operator configuration
export GF_OP_PATHS_CONFIG="/etc/grafana/grafana.ini"
export GF_OP_PATHS_DATA="/var/lib/grafana"
export GF_OP_PATHS_LOGS="/var/log/grafana"
export GF_OP_PATHS_PROVISIONING="/etc/grafana/provisioning"
export GF_OP_PLUGINS_INIT_DIR="/opt/plugins"
# Custom environment variables may be defined below