[bitnami/cassandra] Release 5.0.8-debian-12-r8 (#95421)

Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
Bitnami Bot
2026-07-11 00:17:40 +02:00
committed by GitHub
parent 06e7cbe856
commit ab3845481e
7 changed files with 61 additions and 14 deletions
+4 -4
View File
@@ -8,7 +8,7 @@ ARG JAVA_EXTRA_SECURITY_DIR="/bitnami/java/extra-security"
ARG TARGETARCH
LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \
org.opencontainers.image.created="2026-06-26T09:21:13Z" \
org.opencontainers.image.created="2026-07-10T22:01:11Z" \
org.opencontainers.image.description="Application packaged by Broadcom, Inc." \
org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/cassandra/README.md" \
org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/cassandra" \
@@ -24,12 +24,12 @@ ENV HOME="/" \
COPY prebuildfs /
SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-c"]
# Install required system packages and dependencies
RUN install_packages ca-certificates curl libbz2-1.0 libcom-err2 libcrypt1 libffi8 libgssapi-krb5-2 libjemalloc2 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 liblzma5 libncursesw6 libnsl2 libreadline8 libsqlite3-0 libssl3 libtinfo6 libtirpc3 procps zlib1g
RUN install_packages ca-certificates curl libbz2-1.0 libffi8 libjemalloc2 liblzma5 libncursesw6 libreadline8 libsqlite3-0 libssl3 libtinfo6 procps zlib1g
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=( \
"python-3.11.15-19-linux-${OS_ARCH}-debian-12" \
"python-3.14.6-6-linux-${OS_ARCH}-debian-12" \
"jre-11.0.31-11-1-linux-${OS_ARCH}-debian-12" \
"cassandra-5.0.8-0-linux-${OS_ARCH}-debian-12" \
) ; \
@@ -55,7 +55,7 @@ RUN /opt/bitnami/scripts/cassandra/postunpack.sh
RUN /opt/bitnami/scripts/java/postunpack.sh
ENV APP_VERSION="5.0.8" \
BITNAMI_APP_NAME="cassandra" \
IMAGE_REVISION="7" \
IMAGE_REVISION="8" \
JAVA_HOME="/opt/bitnami/java" \
PATH="/opt/bitnami/python/bin:/opt/bitnami/java/bin:/opt/bitnami/cassandra/bin:$PATH"
@@ -1 +0,0 @@
08ae01112059206035c39a0631c2fe4c570c97271517781bf483b9974534a14e python-3.11.15-19-linux-amd64-debian-12.tar.gz
@@ -1 +0,0 @@
0981711b3797e7bf0b8bde5177b1b98c3db4a89149fe2d3bcedd47b5cd5159bc python-3.11.15-19-linux-arm64-debian-12.tar.gz
@@ -0,0 +1 @@
4b19f2f8beea1ca79ebe3ec3100930ee5e400ec04b41c53538b5244781e6caee python-3.14.6-6-linux-amd64-debian-12.tar.gz
@@ -0,0 +1 @@
861435320fcee05f78c8cd6f76be0ec8cec45f0cf47042c89b1708ff27986592 python-3.14.6-6-linux-arm64-debian-12.tar.gz
@@ -424,3 +424,23 @@ EOF
WantedBy=bitnami.service
EOF
}
########################
# Register a SIGTERM handler that forwards the signal to all child processes.
# Should be called at the start of run.sh, before launching any background processes.
# Globals:
# None
# Arguments:
# None
# Returns:
# None
#########################
service_register_term_forwarder() {
_service_forward_term() {
warn "Caught signal SIGTERM, passing it to child processes..."
pgrep -P $$ | xargs kill -TERM 2>/dev/null
wait
exit $?
}
trap _service_forward_term TERM
}
@@ -286,7 +286,10 @@ scylla_get_major_version() {
# $1 - property
# $2 - value
# $3 - Use quotes in value (default: yes)
# $4 - Path to configuration file (default: $DB_CONF_FILE)
# $4 - Append the property instead of being a no-op when it is not already
# present (commented or not) in the file, e.g. for config keys not
# shipped in Bitnami's default configuration template (default: no)
# $5 - Path to configuration file (default: $DB_CONF_FILE)
# Returns:
# None
#########################
@@ -294,9 +297,16 @@ cassandra_yaml_set() {
local -r property="${1:?missing property}"
local -r value="${2:?missing value}"
local -r use_quotes="${3:-yes}"
local -r conf_file="${4:-$DB_CONF_FILE}"
local -r append="${4:-no}"
local -r conf_file="${5:-$DB_CONF_FILE}"
if is_boolean_yes "$use_quotes"; then
if is_boolean_yes "$append" && ! grep -qE "^\s*(#\s*)?(\-\s*)?${property}:" "$conf_file"; then
if is_boolean_yes "$use_quotes"; then
echo "${property}: '${value}'" >>"$conf_file"
else
echo "${property}: ${value}" >>"$conf_file"
fi
elif is_boolean_yes "$use_quotes"; then
replace_in_file "$conf_file" "^(\s*)(#\s*)?(\s*)(\-\s*)?${property}:.*" "\1\3\4${property}: '${value}'"
else
replace_in_file "$conf_file" "^(\s*)(#\s*)?(\s*)(\-\s*)?${property}:.*" "\1\3\4${property}: ${value}"
@@ -615,6 +625,11 @@ cassandra_enable_auth() {
cassandra_yaml_set "authenticator" "${DB_AUTHENTICATOR}"
cassandra_yaml_set "authorizer" "${DB_AUTHORIZER}"
fi
if [[ "$DB_FLAVOR" = "scylladb" ]] && scylladb_supports_auth_superuser_config; then
info "Pre-seeding default superuser '$DB_USER' via auth_superuser_name/auth_superuser_salted_password"
cassandra_yaml_set "auth_superuser_name" "${DB_USER}" "yes" "yes"
cassandra_yaml_set "auth_superuser_salted_password" "$(scylladb_hash_password "$DB_PASSWORD")" "yes" "yes"
fi
fi
else
debug "${DB_MOUNTED_CONF_PATH} mounted. Skipping authentication method configuration"
@@ -910,7 +925,17 @@ cassandra_initialize() {
fi
if is_boolean_yes "$DB_PASSWORD_SEEDER"; then
info "Password seeder node"
if [[ "$DB_FLAVOR" = "scylladb" ]]; then
local scylladb_preseeded_superuser="no"
if [[ "$DB_FLAVOR" = "scylladb" ]] && scylladb_supports_auth_superuser_config; then
scylladb_preseeded_superuser="yes"
fi
if is_boolean_yes "$scylladb_preseeded_superuser"; then
# ScyllaDB 2026.2+ no longer creates a default cassandra/cassandra superuser
# (scylladb/scylladb#27215); cassandra_enable_auth already pre-seeded $DB_USER
# as the superuser via auth_superuser_name/auth_superuser_salted_password, so
# there is no separate bootstrap-then-create/change-user step to perform here.
wait_for_cql_access "$DB_USER" "$DB_PASSWORD" "127.0.0.1" "$DB_PEER_CQL_MAX_RETRIES" "$DB_PEER_CQL_SLEEP_TIME"
elif [[ "$DB_FLAVOR" = "scylladb" ]]; then
# ScyllaDB 2025.4.5+ (PR #22532): wait for the superuser record before connecting,
# as CQL is accepting connections but auth is not ready until that log line appears.
# Use 127.0.0.1 explicitly to prevent cqlsh from reconnecting to the pod IP via system.local.
@@ -923,10 +948,12 @@ cassandra_initialize() {
wait_for_cql_access "cassandra" "cassandra" "127.0.0.1" "$DB_PEER_CQL_MAX_RETRIES" "$DB_PEER_CQL_SLEEP_TIME"
fi
# Setup user
if [[ "$DB_USER" = "cassandra" ]]; then
cassandra_change_cassandra_password "cassandra" "$DB_PASSWORD" "$DB_CQL_MAX_RETRIES" "$DB_CQL_SLEEP_TIME"
else
cassandra_create_admin_user "$DB_USER" "$DB_PASSWORD" "cassandra" "cassandra" "$DB_CQL_MAX_RETRIES" "$DB_CQL_SLEEP_TIME"
if ! is_boolean_yes "$scylladb_preseeded_superuser"; then
if [[ "$DB_USER" = "cassandra" ]]; then
cassandra_change_cassandra_password "cassandra" "$DB_PASSWORD" "$DB_CQL_MAX_RETRIES" "$DB_CQL_SLEEP_TIME"
else
cassandra_create_admin_user "$DB_USER" "$DB_PASSWORD" "cassandra" "cassandra" "$DB_CQL_MAX_RETRIES" "$DB_CQL_SLEEP_TIME"
fi
fi
cassandra_execute_startup_cql