mirror of
https://github.com/bitnami/containers.git
synced 2026-03-29 16:27:49 +08:00
[bitnami/influxdb] Release 3.0.3-debian-12-r2 (#81426)
Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
@@ -8,10 +8,10 @@ ARG TARGETARCH
|
||||
|
||||
LABEL com.vmware.cp.artifact.flavor="sha256:c50c90cfd9d12b445b011e6ad529f1ad3daea45c26d20b00732fae3cd71f6a83" \
|
||||
org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \
|
||||
org.opencontainers.image.created="2025-05-20T08:19:11Z" \
|
||||
org.opencontainers.image.created="2025-05-21T13:32:21Z" \
|
||||
org.opencontainers.image.description="Application packaged by Broadcom, Inc." \
|
||||
org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/influxdb/README.md" \
|
||||
org.opencontainers.image.ref.name="3.0.3-debian-12-r1" \
|
||||
org.opencontainers.image.ref.name="3.0.3-debian-12-r2" \
|
||||
org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/influxdb" \
|
||||
org.opencontainers.image.title="influxdb" \
|
||||
org.opencontainers.image.vendor="Broadcom, Inc." \
|
||||
@@ -28,7 +28,7 @@ SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-c"]
|
||||
RUN install_packages ca-certificates curl jq libbz2-1.0 libcom-err2 libcrypt1 libffi8 libgcc-s1 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 liblzma5 libncursesw6 libnsl2 libreadline8 libsqlite3-0 libssl3 libtinfo6 libtirpc3 procps zlib1g
|
||||
RUN mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ || exit 1 ; \
|
||||
COMPONENTS=( \
|
||||
"python-3.12.10-12-linux-${OS_ARCH}-debian-12" \
|
||||
"python-3.12.10-14-linux-${OS_ARCH}-debian-12" \
|
||||
"influxdb-3.0.3-0-linux-${OS_ARCH}-debian-12" \
|
||||
"wait-for-port-1.0.8-16-linux-${OS_ARCH}-debian-12" \
|
||||
) ; \
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"arch": "amd64",
|
||||
"distro": "debian-12",
|
||||
"type": "NAMI",
|
||||
"version": "3.12.10-12"
|
||||
"version": "3.12.10-14"
|
||||
},
|
||||
"wait-for-port": {
|
||||
"arch": "amd64",
|
||||
|
||||
@@ -28,9 +28,11 @@ influxdb_env_vars=(
|
||||
INFLUXDB_DATA_WAL_DIR
|
||||
INFLUXDB_META_DIR
|
||||
INFLUXDB_CONF_FILE_FORMAT
|
||||
INFLUXDB_AUTOGEN_ADMIN_TOKEN_FILE
|
||||
INFLUXD_CONFIG_PATH
|
||||
INFLUXDB_HTTP_PORT_NUMBER
|
||||
INFLUXDB_HTTP_BIND_ADDRESS
|
||||
INFLUXDB_HTTP_AUTH_ENABLED
|
||||
INFLUXDB_REPORTING_DISABLED
|
||||
INFLUXDB_PORT_NUMBER
|
||||
INFLUXDB_BIND_ADDRESS
|
||||
@@ -43,7 +45,6 @@ influxdb_env_vars=(
|
||||
INFLUXDB_INIT_V1_CONFIG
|
||||
INFLUXDB_UPGRADE_LOG_FILE
|
||||
INFLUXDB_CONTINUOUS_QUERY_EXPORT_FILE
|
||||
INFLUXDB_HTTP_AUTH_ENABLED
|
||||
INFLUXDB_ADMIN_USER
|
||||
INFLUXDB_ADMIN_USER_PASSWORD
|
||||
INFLUXDB_ADMIN_USER_TOKEN
|
||||
@@ -91,6 +92,7 @@ export INFLUXDB_DEFAULT_CONF_DIR="${INFLUXDB_BASE_DIR}/etc.default"
|
||||
export INFLUXDB_CONF_FILE_FORMAT="${INFLUXDB_CONF_FILE_FORMAT:-yaml}"
|
||||
export INFLUXDB_CONF_FILE="${INFLUXDB_CONF_DIR}/config.${INFLUXDB_CONF_FILE_FORMAT}"
|
||||
export INFLUXDB_INITSCRIPTS_DIR="/docker-entrypoint-initdb.d"
|
||||
export INFLUXDB_AUTOGEN_ADMIN_TOKEN_FILE="${INFLUXDB_AUTOGEN_ADMIN_TOKEN_FILE:-${INFLUXDB_VOLUME_DIR}/.token}"
|
||||
|
||||
# InfluxDB 2.x aliases
|
||||
export INFLUXD_ENGINE_PATH="${INFLUXDB_VOLUME_DIR}"
|
||||
@@ -107,6 +109,7 @@ export INFLUXDB_HTTP_PORT_NUMBER="${INFLUXDB_HTTP_PORT_NUMBER:-8181}"
|
||||
export INFLUXDB_HTTP_BIND_ADDRESS="${INFLUXDB_HTTP_BIND_ADDRESS:-0.0.0.0:${INFLUXDB_HTTP_PORT_NUMBER}}"
|
||||
export INFLUXD_HTTP_BIND_ADDRESS="$INFLUXDB_HTTP_BIND_ADDRESS"
|
||||
export INFLUXDB3_HTTP_BIND_ADDR="$INFLUXDB_HTTP_BIND_ADDRESS"
|
||||
export INFLUXDB_HTTP_AUTH_ENABLED="${INFLUXDB_HTTP_AUTH_ENABLED:-true}"
|
||||
|
||||
# InfluxDB 2.x server settings
|
||||
export INFLUXDB_REPORTING_DISABLED="${INFLUXDB_REPORTING_DISABLED:-true}"
|
||||
@@ -129,7 +132,6 @@ export INFLUXDB_UPGRADE_LOG_FILE="${INFLUXDB_UPGRADE_LOG_FILE:-${INFLUXDB_INIT_V
|
||||
export INFLUXDB_CONTINUOUS_QUERY_EXPORT_FILE="${INFLUXDB_CONTINUOUS_QUERY_EXPORT_FILE:-${INFLUXDB_INIT_V1_DIR}/v1-cq-export.txt}"
|
||||
|
||||
# InfluxDB 2.x auth settings
|
||||
export INFLUXDB_HTTP_AUTH_ENABLED="${INFLUXDB_HTTP_AUTH_ENABLED:-true}"
|
||||
export INFLUXDB_ADMIN_USER="${INFLUXDB_ADMIN_USER:-admin}"
|
||||
export INFLUXDB_ADMIN_USER_PASSWORD="${INFLUXDB_ADMIN_USER_PASSWORD:-}"
|
||||
export INFLUXDB_ADMIN_USER_TOKEN="${INFLUXDB_ADMIN_USER_TOKEN:-}"
|
||||
|
||||
@@ -21,6 +21,7 @@ info "** Starting InfluxDB **"
|
||||
start_command=("$(influxdb_binary)")
|
||||
if is_influxdb_3; then
|
||||
start_command+=("serve" "--node-id" "$INFLUXDB_NODE_ID" "--object-store" "$INFLUXDB_OBJECT_STORE")
|
||||
! is_boolean_yes "$INFLUXDB_HTTP_AUTH_ENABLED" && start_command+=("--without-auth")
|
||||
else
|
||||
export HOME="/bitnami/influxdb"
|
||||
fi
|
||||
|
||||
@@ -126,17 +126,17 @@ influxdb_validate() {
|
||||
print_validation_error "Object store is required. Please, specify it by setting the 'INFLUXDB_OBJECT_STORE' environment variable."
|
||||
fi
|
||||
# InfluxDB 3.x authentication validations
|
||||
if is_boolean_yes "$INFLUXDB_CREATE_ADMIN_TOKEN"; then
|
||||
if is_boolean_yes "$INFLUXDB_HTTP_AUTH_ENABLED" && is_boolean_yes "$INFLUXDB_CREATE_ADMIN_TOKEN"; then
|
||||
if [[ -n "${INFLUXDB_ADMIN_TOKEN:-}" ]]; then
|
||||
print_validation_error "The 'INFLUXDB_ADMIN_TOKEN' environment variable is not needed when 'INFLUXDB_CREATE_ADMIN_TOKEN' is set to 'yes'."
|
||||
elif [[ "$INFLUXDB_OBJECT_STORE" =~ memory ]]; then
|
||||
print_validation_error "No admin token can be created during initialization when using memory object store. Please, ensure 'INFLUXDB_CREATE_ADMIN_TOKEN' is set to 'no'."
|
||||
fi
|
||||
elif [[ "$INFLUXDB_OBJECT_STORE" =~ memory ]] && [[ -n "${INFLUXDB_DATABASES:-}" ]]; then
|
||||
elif is_boolean_yes "$INFLUXDB_HTTP_AUTH_ENABLED" && [[ "$INFLUXDB_OBJECT_STORE" =~ memory ]] && [[ -n "${INFLUXDB_DATABASES:-}" ]]; then
|
||||
print_validation_error "No databases can be created during initialization when using memory object store. Please, ensure 'INFLUXDB_DATABASES' is not set."
|
||||
elif [[ -z "${INFLUXDB_ADMIN_TOKEN:-}" ]] && [[ -n "${INFLUXDB_DATABASES:-}" ]]; then
|
||||
elif is_boolean_yes "$INFLUXDB_HTTP_AUTH_ENABLED" && [[ -z "${INFLUXDB_ADMIN_TOKEN:-}" ]] && [[ -n "${INFLUXDB_DATABASES:-}" ]]; then
|
||||
print_validation_error "No admin token to be created during initialization nor provided, hence, no databases can be created. Please, specify the token by setting the 'INFLUXDB_ADMIN_TOKEN' or 'INFLUXDB_ADMIN_TOKEN_FILE' environment variables."
|
||||
else
|
||||
elif is_boolean_yes "$INFLUXDB_HTTP_AUTH_ENABLED" && [[ -z "${INFLUXDB_ADMIN_TOKEN:-}" ]]; then
|
||||
warn "No admin token to be created during initialization, manually creating it will be required to interact with the InfluxDB API."
|
||||
fi
|
||||
else
|
||||
@@ -359,6 +359,7 @@ influxdb_start_bg() {
|
||||
|
||||
if is_influxdb_3; then
|
||||
start_command+=("serve" "--node-id" "$INFLUXDB_NODE_ID" "--object-store" "$INFLUXDB_OBJECT_STORE" "--http-bind" "127.0.0.1:${INFLUXDB_HTTP_PORT_NUMBER}")
|
||||
! is_boolean_yes "$INFLUXDB_HTTP_AUTH_ENABLED" && start_command+=("--without-auth")
|
||||
debug_execute "${start_command[@]}" &
|
||||
wait-for-port "$INFLUXDB_HTTP_PORT_NUMBER"
|
||||
else
|
||||
@@ -442,11 +443,10 @@ influxdb_stop() {
|
||||
influxdb3_create_admin_token() {
|
||||
local create_command=("$(influxdb_binary)" "create" "token" "--admin" "--host" "http://127.0.0.1:${INFLUXDB_HTTP_PORT_NUMBER}" "--format" "json")
|
||||
|
||||
local token_file="${INFLUXDB_VOLUME_DIR}/.token"
|
||||
info "Creating admin token..."
|
||||
"${create_command[@]}" | jq -r ".token" > "$token_file"
|
||||
chmod 600 "$token_file"
|
||||
warn "Auto-generated admin token saved in ${token_file} for later use. Please, ensure you use it to regenerate it and remove the file afterwards."
|
||||
"${create_command[@]}" | jq -r ".token" > "$INFLUXDB_AUTOGEN_ADMIN_TOKEN_FILE"
|
||||
chmod 600 "$INFLUXDB_AUTOGEN_ADMIN_TOKEN_FILE"
|
||||
warn "Auto-generated admin token saved in ${INFLUXDB_AUTOGEN_ADMIN_TOKEN_FILE} for later use. Please, ensure you use it to regenerate it and remove the file afterwards."
|
||||
}
|
||||
|
||||
########################
|
||||
@@ -465,8 +465,8 @@ influxdb3_create_databases() {
|
||||
|
||||
if [[ -n "${INFLUXDB_ADMIN_TOKEN:-}" ]]; then
|
||||
admin_token="$INFLUXDB_ADMIN_TOKEN"
|
||||
elif [[ -f "${INFLUXDB_VOLUME_DIR}/.token" ]]; then
|
||||
admin_token="$(<"${INFLUXDB_VOLUME_DIR}/.token")"
|
||||
elif [[ -f "$INFLUXDB_AUTOGEN_ADMIN_TOKEN_FILE}" ]]; then
|
||||
admin_token="$(<"${INFLUXDB_AUTOGEN_ADMIN_TOKEN_FILE}")"
|
||||
else
|
||||
error "No admin token found"
|
||||
return 1
|
||||
@@ -497,11 +497,11 @@ influxdb3_create_databases() {
|
||||
influxdb_initialize() {
|
||||
if is_influxdb_3; then
|
||||
local create_admin="no"
|
||||
if is_boolean_yes "$INFLUXDB_CREATE_ADMIN_TOKEN" && [[ "$INFLUXDB_OBJECT_STORE" = "file" ]] && ! is_dir_empty "$INFLUXDB_DATA_DIR"; then
|
||||
if is_boolean_yes "$INFLUXDB_HTTP_AUTH_ENABLED" && is_boolean_yes "$INFLUXDB_CREATE_ADMIN_TOKEN" && [[ "$INFLUXDB_OBJECT_STORE" = "file" ]] && ! is_dir_empty "$INFLUXDB_DATA_DIR"; then
|
||||
warn "InfluxDB data directory is not empty, admin token creation will be skipped"
|
||||
elif is_boolean_yes "$INFLUXDB_CREATE_ADMIN_TOKEN" && [[ -f "${INFLUXDB_VOLUME_DIR}/.token" ]]; then
|
||||
elif is_boolean_yes "$INFLUXDB_HTTP_AUTH_ENABLED" && is_boolean_yes "$INFLUXDB_CREATE_ADMIN_TOKEN" && [[ -f "$INFLUXDB_AUTOGEN_ADMIN_TOKEN_FILE" ]]; then
|
||||
warn "Admin token file found, admin token creation will be skipped"
|
||||
elif is_boolean_yes "$INFLUXDB_CREATE_ADMIN_TOKEN"; then
|
||||
elif is_boolean_yes "$INFLUXDB_HTTP_AUTH_ENABLED" && is_boolean_yes "$INFLUXDB_CREATE_ADMIN_TOKEN"; then
|
||||
create_admin="yes"
|
||||
fi
|
||||
# We create the databases regardless there's existing data or not
|
||||
|
||||
@@ -173,9 +173,11 @@ InfluxDB™ Core can be configured via environment variables or using CLI fl
|
||||
| `INFLUXDB_DATA_WAL_DIR` | InfluxDB directory where the WAL file is stored. | `${INFLUXDB_VOLUME_DIR}/wal` |
|
||||
| `INFLUXDB_META_DIR` | InfluxDB directory where metadata is stored. | `${INFLUXDB_VOLUME_DIR}/meta` |
|
||||
| `INFLUXDB_CONF_FILE_FORMAT` | InfluxDB configuration file format, supported formats: yaml, yml, toml, json | `yaml` |
|
||||
| `INFLUXDB_AUTOGEN_ADMIN_TOKEN_FILE` | File where to store auto-generated admin token. | `${INFLUXDB_VOLUME_DIR}/.token` |
|
||||
| `INFLUXD_CONFIG_PATH` | InfluxDB 2.x alias for configuration file path. | `${INFLUXDB_CONF_DIR}` |
|
||||
| `INFLUXDB_HTTP_PORT_NUMBER` | Port number used by InfluxDB HTTP server. | `8181` |
|
||||
| `INFLUXDB_HTTP_BIND_ADDRESS` | InfluxDB HTTP bind address. | `0.0.0.0:${INFLUXDB_HTTP_PORT_NUMBER}` |
|
||||
| `INFLUXDB_HTTP_AUTH_ENABLED` | Whether to enable InfluxDB HTTP auth. | `true` |
|
||||
| `INFLUXDB_REPORTING_DISABLED` | Whether to disable InfluxDB reporting. | `true` |
|
||||
| `INFLUXDB_PORT_NUMBER` | Port number used by InfluxDB. | `8088` |
|
||||
| `INFLUXDB_BIND_ADDRESS` | InfluxDB bind address. | `0.0.0.0:${INFLUXDB_PORT_NUMBER}` |
|
||||
@@ -188,7 +190,6 @@ InfluxDB™ Core can be configured via environment variables or using CLI fl
|
||||
| `INFLUXDB_INIT_V1_CONFIG` | Path to InfluxDB 1.x config file | `${BITNAMI_VOLUME_DIR}/v1/config.yaml` |
|
||||
| `INFLUXDB_UPGRADE_LOG_FILE` | InfluxDB 1.x to 2.x log file (do not place it into ${INFLUXDB_VOLUME_DIR}) | `${INFLUXDB_INIT_V1_DIR}/upgrade.log` |
|
||||
| `INFLUXDB_CONTINUOUS_QUERY_EXPORT_FILE` | InfluxDB continuous query file created during 1.x data to 2.x format migration process | `${INFLUXDB_INIT_V1_DIR}/v1-cq-export.txt` |
|
||||
| `INFLUXDB_HTTP_AUTH_ENABLED` | Whether to enable InfluxDB HTTP auth. | `true` |
|
||||
| `INFLUXDB_ADMIN_USER` | InfluxDB admin username. | `admin` |
|
||||
| `INFLUXDB_ADMIN_USER_PASSWORD` | InfluxDB admin user password. | `nil` |
|
||||
| `INFLUXDB_ADMIN_USER_TOKEN` | InfluxDB admin user token. | `nil` |
|
||||
|
||||
Reference in New Issue
Block a user