mirror of
https://github.com/bitnami/containers.git
synced 2026-10-09 22:01:30 +02:00
[bitnami/cassandra] Release 5.0.8-debian-12-r8 (#95421)
Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
@@ -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
@@ -1 +0,0 @@
|
||||
08ae01112059206035c39a0631c2fe4c570c97271517781bf483b9974534a14e python-3.11.15-19-linux-amd64-debian-12.tar.gz
|
||||
-1
@@ -1 +0,0 @@
|
||||
0981711b3797e7bf0b8bde5177b1b98c3db4a89149fe2d3bcedd47b5cd5159bc python-3.11.15-19-linux-arm64-debian-12.tar.gz
|
||||
+1
@@ -0,0 +1 @@
|
||||
4b19f2f8beea1ca79ebe3ec3100930ee5e400ec04b41c53538b5244781e6caee python-3.14.6-6-linux-amd64-debian-12.tar.gz
|
||||
+1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user