diff --git a/bitnami/mariadb-galera/12.3/debian-12/Dockerfile b/bitnami/mariadb-galera/12.3/debian-12/Dockerfile index 9700961d8194..c9632aadb73c 100644 --- a/bitnami/mariadb-galera/12.3/debian-12/Dockerfile +++ b/bitnami/mariadb-galera/12.3/debian-12/Dockerfile @@ -3,11 +3,11 @@ FROM docker.io/bitnami/minideb:bookworm -ARG DOWNLOADS_URL="downloads.bitnami.com/files/stacksmith" +ARG DOWNLOADS_URL="https://downloads.bitnami.com/files/stacksmith" ARG TARGETARCH LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \ - org.opencontainers.image.created="2026-06-02T12:29:09Z" \ + org.opencontainers.image.created="2026-06-10T18:33:48Z" \ org.opencontainers.image.description="Application packaged by Broadcom, Inc." \ org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/mariadb-galera/README.md" \ org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/mariadb-galera" \ @@ -28,12 +28,12 @@ RUN --mount=type=secret,id=downloads_url,env=SECRET_DOWNLOADS_URL \ DOWNLOADS_URL=${SECRET_DOWNLOADS_URL:-${DOWNLOADS_URL}} ; \ mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ || exit 1 ; \ COMPONENTS=( \ - "ini-file-1.4.9-10-linux-${OS_ARCH}-debian-12" \ - "mariadb-galera-12.3.2-1-linux-${OS_ARCH}-debian-12" \ + "ini-file-1.4.9-12-linux-${OS_ARCH}-debian-12" \ + "mariadb-galera-12.3.2-2-linux-${OS_ARCH}-debian-12" \ ) ; \ for COMPONENT in "${COMPONENTS[@]}"; do \ if [ ! -f "${COMPONENT}.tar.gz" ]; then \ - curl -SsLf "https://${DOWNLOADS_URL}/${COMPONENT}.tar.gz" -O ; \ + curl -SsLf "${DOWNLOADS_URL}/${COMPONENT}.tar.gz" -O ; \ fi ; \ sha256sum -c "/opt/bitnami/checksums/${COMPONENT}.tar.gz.sha256" ; \ tar -zxf "${COMPONENT}.tar.gz" -C /opt/bitnami --strip-components=2 --no-same-owner ; \ @@ -51,7 +51,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/mariadb-galera/postunpack.sh ENV APP_VERSION="12.3.2" \ BITNAMI_APP_NAME="mariadb-galera" \ - IMAGE_REVISION="1" \ + IMAGE_REVISION="2" \ PATH="/opt/bitnami/common/bin:/opt/bitnami/mariadb/bin:/opt/bitnami/mariadb/sbin:/opt/bitnami/common/sbin:$PATH" EXPOSE 3306 4444 4567 4568 diff --git a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/ini-file-1.4.9-10-linux-amd64-debian-12.tar.gz.sha256 b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/ini-file-1.4.9-10-linux-amd64-debian-12.tar.gz.sha256 deleted file mode 100644 index f7f6d777442b..000000000000 --- a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/ini-file-1.4.9-10-linux-amd64-debian-12.tar.gz.sha256 +++ /dev/null @@ -1 +0,0 @@ -7576302f2870643e4c48e7a4be12fef12e472e68b0b407e6033f812c8742c1f1 ini-file-1.4.9-10-linux-amd64-debian-12.tar.gz diff --git a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/ini-file-1.4.9-10-linux-arm64-debian-12.tar.gz.sha256 b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/ini-file-1.4.9-10-linux-arm64-debian-12.tar.gz.sha256 deleted file mode 100644 index fd41b7a8f0ce..000000000000 --- a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/ini-file-1.4.9-10-linux-arm64-debian-12.tar.gz.sha256 +++ /dev/null @@ -1 +0,0 @@ -83dd2355db6b63fc46bb02008fdace7510b339c88d91d45abaa256f2a7ae54bd ini-file-1.4.9-10-linux-arm64-debian-12.tar.gz diff --git a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/ini-file-1.4.9-12-linux-amd64-debian-12.tar.gz.sha256 b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/ini-file-1.4.9-12-linux-amd64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..d07b04443b5d --- /dev/null +++ b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/ini-file-1.4.9-12-linux-amd64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +aba4a9b96e5a3b29743fe09c4b3279c789bace4171fe34574d166668dfc59523 ini-file-1.4.9-12-linux-amd64-debian-12.tar.gz diff --git a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/ini-file-1.4.9-12-linux-arm64-debian-12.tar.gz.sha256 b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/ini-file-1.4.9-12-linux-arm64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..b5397259b807 --- /dev/null +++ b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/ini-file-1.4.9-12-linux-arm64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +262a2d83e7294bb3adf0664ece04686f162a6355713981c7677634f2645505f0 ini-file-1.4.9-12-linux-arm64-debian-12.tar.gz diff --git a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/mariadb-galera-12.3.2-1-linux-amd64-debian-12.tar.gz.sha256 b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/mariadb-galera-12.3.2-1-linux-amd64-debian-12.tar.gz.sha256 deleted file mode 100644 index 690e6abfef7c..000000000000 --- a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/mariadb-galera-12.3.2-1-linux-amd64-debian-12.tar.gz.sha256 +++ /dev/null @@ -1 +0,0 @@ -23a217a0b5fe6e33766af3dbe787a032405eac7eed88ce5cb405e8d3857bccb7 mariadb-galera-12.3.2-1-linux-amd64-debian-12.tar.gz diff --git a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/mariadb-galera-12.3.2-1-linux-arm64-debian-12.tar.gz.sha256 b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/mariadb-galera-12.3.2-1-linux-arm64-debian-12.tar.gz.sha256 deleted file mode 100644 index c1cdc3e0c7c2..000000000000 --- a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/mariadb-galera-12.3.2-1-linux-arm64-debian-12.tar.gz.sha256 +++ /dev/null @@ -1 +0,0 @@ -52f8ea05e676f0987768dc50203772e21f4a09567ec5ebdac72101110b4f8d7b mariadb-galera-12.3.2-1-linux-arm64-debian-12.tar.gz diff --git a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/mariadb-galera-12.3.2-2-linux-amd64-debian-12.tar.gz.sha256 b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/mariadb-galera-12.3.2-2-linux-amd64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..add9c7380793 --- /dev/null +++ b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/mariadb-galera-12.3.2-2-linux-amd64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +25ae7b9d4358cf8aebf99c7af9f55ca4fdad912cc24cd22e1debd119a4c3d8b4 mariadb-galera-12.3.2-2-linux-amd64-debian-12.tar.gz diff --git a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/mariadb-galera-12.3.2-2-linux-arm64-debian-12.tar.gz.sha256 b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/mariadb-galera-12.3.2-2-linux-arm64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..1984de7114f2 --- /dev/null +++ b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/checksums/mariadb-galera-12.3.2-2-linux-arm64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +4eda700ce46c557b69d0abdf01a29b2c608e365b5b025416cc2f30726202e5dc mariadb-galera-12.3.2-2-linux-arm64-debian-12.tar.gz diff --git a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/scripts/libos.sh b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/scripts/libos.sh index 9d908c48579b..2d3c3bdb5f4a 100644 --- a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/scripts/libos.sh +++ b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/scripts/libos.sh @@ -170,7 +170,7 @@ ensure_user_exists() { if [[ -n "$home" ]]; then mkdir -p "$home" usermod -d "$home" "$user" >/dev/null 2>&1 - configure_permissions_ownership "$home" -d "775" -f "664" -u "$user" -g "$group" + configure_permissions_ownership "$home" -d "775" -f "664" -u "$user" -g "$group" -n fi } diff --git a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/scripts/libvalidations.sh b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/scripts/libvalidations.sh index bbd31b26bb2c..3a996383cfab 100644 --- a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/scripts/libvalidations.sh +++ b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/scripts/libvalidations.sh @@ -20,7 +20,7 @@ ######################### is_int() { local -r int="${1:?missing value}" - if [[ "$int" =~ ^-?[0-9]+ ]]; then + if [[ "$int" =~ ^-?[0-9]+$ ]]; then true else false diff --git a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/scripts/libversion.sh b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/scripts/libversion.sh index f0d5a5cd3389..770861ecedcd 100644 --- a/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/scripts/libversion.sh +++ b/bitnami/mariadb-galera/12.3/debian-12/prebuildfs/opt/bitnami/scripts/libversion.sh @@ -49,3 +49,36 @@ get_sematic_version () { fi fi } + +######################## +# Compares two semantic versions +# Arguments: +# $1 - version1: first version to compare +# $2 - version2: second version to compare +# Returns: +# -1 if version1 is less than version2 +# 0 if version1 is equal to version2 +# 1 if version1 is greater than version2 +######################### +compare_semantic_versions() { + local version1="${1:?version1 is required}" + local version2="${2:?version2 is required}" + local major1 major2 minor1 minor2 patch1 patch2 + + major1="$(get_sematic_version "$version1" 1)" + major2="$(get_sematic_version "$version2" 1)" + minor1="$(get_sematic_version "$version1" 2)" + minor2="$(get_sematic_version "$version2" 2)" + patch1="$(get_sematic_version "$version1" 3)" + patch2="$(get_sematic_version "$version2" 3)" + + if [[ "$major1" -eq "$major2" ]] && [[ "$minor1" -eq "$minor2" ]] && [[ "$patch1" -eq "$patch2" ]]; then + echo "0" + elif [[ "$major1" -lt "$major2" ]] || + { [[ "$major1" -eq "$major2" ]] && [[ "$minor1" -lt "$minor2" ]]; } || + { [[ "$major1" -eq "$major2" ]] && [[ "$minor1" -eq "$minor2" ]] && [[ "$patch1" -lt "$patch2" ]]; }; then + echo "-1" + else + echo "1" + fi +} diff --git a/bitnami/mariadb-galera/12.3/debian-12/rootfs/opt/bitnami/scripts/libmariadbgalera.sh b/bitnami/mariadb-galera/12.3/debian-12/rootfs/opt/bitnami/scripts/libmariadbgalera.sh index 528fb3e69e91..3ba7a9b002da 100644 --- a/bitnami/mariadb-galera/12.3/debian-12/rootfs/opt/bitnami/scripts/libmariadbgalera.sh +++ b/bitnami/mariadb-galera/12.3/debian-12/rootfs/opt/bitnami/scripts/libmariadbgalera.sh @@ -190,10 +190,7 @@ mariadb_exec_initial_dump() { local -r dump_file="${DB_DATA_DIR}/dump_all_databases.sql" info "MariaDB dump master data start..." - # Avoid passing credentials as arguments to mariadb-dump, to avoid leaking them given a local observer with /proc read access can read them - local root_password_file - root_password_file="$(credential_to_temp_file "$DB_MASTER_ROOT_PASSWORD")" - mariadb-dump --verbose --single-transaction --quick --source-data=2 --all-databases -h "$DB_MASTER_HOST" -P "$DB_MASTER_PORT_NUMBER" -u "$DB_MASTER_ROOT_USER" -p"$(<"$root_password_file")" > "$dump_file" + MYSQL_PWD="$DB_MASTER_ROOT_PASSWORD" mariadb-dump --verbose --single-transaction --quick --source-data=2 --all-databases -h "$DB_MASTER_HOST" -P "$DB_MASTER_PORT_NUMBER" -u "$DB_MASTER_ROOT_USER" > "$dump_file" debug "Finish dump databases" # Look for the line containing "CHANGE REPLICATION SOURCE" @@ -536,14 +533,12 @@ mariadb_upgrade() { local -a args=("--defaults-file=${DB_CONF_FILE}" "-u" "$DB_ROOT_USER") info "Running mariadb_upgrade" mariadb_start_bg - if is_boolean_yes "${ROOT_AUTH_ENABLED:-false}"; then - # Avoid passing credentials as arguments to mariadb_upgrade, to avoid leaking them given a local observer with /proc read access can read them - local root_password_file - root_password_file="$(credential_to_temp_file "$(get_master_env_var_value ROOT_PASSWORD)")" - args+=("-p$(<"$root_password_file")") - fi [[ "${DB_UPGRADE}" == "FORCE" ]] && args+=("--force") - debug_execute "${DB_BIN_DIR}/mariadb_upgrade" "${args[@]}" || info "This installation is already upgraded" + if is_boolean_yes "${ROOT_AUTH_ENABLED:-false}"; then + MYSQL_PWD="$(get_master_env_var_value ROOT_PASSWORD)" debug_execute "${DB_BIN_DIR}/mariadb_upgrade" "${args[@]}" || info "This installation is already upgraded" + else + debug_execute "${DB_BIN_DIR}/mariadb_upgrade" "${args[@]}" || info "This installation is already upgraded" + fi } #!/bin/bash @@ -1457,12 +1452,6 @@ mysql_execute_print_output() { fi args+=("-N" "-u" "$user") [[ -n "$db" ]] && args+=("$db") - # Avoid passing credentials as arguments to mysql, to avoid leaking them given a local observer with /proc read access can read them - if [[ -n "$pass" ]]; then - local pass_file - pass_file="$(credential_to_temp_file "$pass")" - args+=("-p$(<"$pass_file")") - fi [[ "${#opts[@]}" -gt 0 ]] && args+=("${opts[@]}") [[ "${#extra_opts[@]}" -gt 0 ]] && args+=("${extra_opts[@]}") @@ -1470,11 +1459,19 @@ mysql_execute_print_output() { if [[ "${BITNAMI_DEBUG:-false}" = true ]]; then local mysql_cmd mysql_cmd="$(