diff --git a/bitnami/cassandra/3.11/debian-10/Dockerfile b/bitnami/cassandra/3.11/debian-10/Dockerfile index 31328de79ac4..20994edfb7bb 100644 --- a/bitnami/cassandra/3.11/debian-10/Dockerfile +++ b/bitnami/cassandra/3.11/debian-10/Dockerfile @@ -6,6 +6,8 @@ ENV HOME="/" \ OS_FLAVOUR="debian-10" \ OS_NAME="linux" +ARG JAVA_EXTRA_SECURITY_DIR="/bitnami/java/extra-security" + COPY prebuildfs / # Install required system packages and dependencies RUN install_packages acl ca-certificates curl gzip libbz2-1.0 libc6 libgcc1 libjemalloc2 libncursesw6 libreadline7 libsqlite3-0 libssl1.1 libtinfo6 procps tar zlib1g @@ -20,8 +22,10 @@ RUN ln -s /opt/bitnami/scripts/cassandra/run.sh /run.sh COPY rootfs / RUN /opt/bitnami/scripts/cassandra/postunpack.sh +RUN /opt/bitnami/scripts/java/postunpack.sh ENV BITNAMI_APP_NAME="cassandra" \ - BITNAMI_IMAGE_VERSION="3.11.11-debian-10-r87" \ + BITNAMI_IMAGE_VERSION="3.11.11-debian-10-r88" \ + JAVA_HOME="/opt/bitnami/java" \ PATH="/opt/bitnami/python/bin:/opt/bitnami/java/bin:/opt/bitnami/common/bin:/opt/bitnami/cassandra/bin:$PATH" EXPOSE 7000 9042 diff --git a/bitnami/cassandra/3.11/debian-10/prebuildfs/opt/bitnami/scripts/libfs.sh b/bitnami/cassandra/3.11/debian-10/prebuildfs/opt/bitnami/scripts/libfs.sh index ae5e2459c377..b438c913341d 100644 --- a/bitnami/cassandra/3.11/debian-10/prebuildfs/opt/bitnami/scripts/libfs.sh +++ b/bitnami/cassandra/3.11/debian-10/prebuildfs/opt/bitnami/scripts/libfs.sh @@ -50,8 +50,9 @@ ensure_dir_exists() { # boolean ######################### is_dir_empty() { - local dir="${1:?missing directory}" - + local -r path="${1:?missing directory}" + # Calculate real path in order to avoid issues with symlinks + local -r dir="$(realpath "$path")" if [[ ! -e "$dir" ]] || [[ -z "$(ls -A "$dir")" ]]; then true else @@ -88,7 +89,7 @@ is_file_writable() { local dir dir="$(dirname "$file")" - if [[ ( -f "$file" && -w "$file" ) || ( ! -f "$file" && -d "$dir" && -w "$dir" ) ]]; then + if [[ (-f "$file" && -w "$file") || (! -f "$file" && -d "$dir" && -w "$dir") ]]; then true else false @@ -136,31 +137,31 @@ configure_permissions_ownership() { shift 1 while [ "$#" -gt 0 ]; do case "$1" in - -f|--file-mode) - shift - file_mode="${1:?missing mode for files}" - ;; - -d|--dir-mode) - shift - dir_mode="${1:?missing mode for directories}" - ;; - -u|--user) - shift - user="${1:?missing user}" - ;; - -g|--group) - shift - group="${1:?missing group}" - ;; - *) - echo "Invalid command line flag $1" >&2 - return 1 - ;; + -f | --file-mode) + shift + file_mode="${1:?missing mode for files}" + ;; + -d | --dir-mode) + shift + dir_mode="${1:?missing mode for directories}" + ;; + -u | --user) + shift + user="${1:?missing user}" + ;; + -g | --group) + shift + group="${1:?missing group}" + ;; + *) + echo "Invalid command line flag $1" >&2 + return 1 + ;; esac shift done - read -r -a filepaths <<< "$paths" + read -r -a filepaths <<<"$paths" for p in "${filepaths[@]}"; do if [[ -e "$p" ]]; then if [[ -n $dir_mode ]]; then diff --git a/bitnami/cassandra/3.11/debian-10/rootfs/opt/bitnami/scripts/java/postunpack.sh b/bitnami/cassandra/3.11/debian-10/rootfs/opt/bitnami/scripts/java/postunpack.sh new file mode 100755 index 000000000000..24a5c9bc15fa --- /dev/null +++ b/bitnami/cassandra/3.11/debian-10/rootfs/opt/bitnami/scripts/java/postunpack.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# shellcheck disable=SC1091 + +set -o errexit +set -o nounset +set -o pipefail +# set -o xtrace # Uncomment this line for debugging purpose + +# Load libraries +. /opt/bitnami/scripts/libfile.sh +. /opt/bitnami/scripts/liblog.sh + +# +# Java post-unpack operations +# + +# Override default files in the Java security directory. This is used for +# custom base images (with custom CA certificates or block lists is used) + +if ! is_dir_empty "$JAVA_EXTRA_SECURITY_DIR"; then + info "Adding custom CAs to the Java security folder" + cp -Lr "$JAVA_EXTRA_SECURITY_DIR" /opt/bitnami/java/lib/security +fi diff --git a/bitnami/cassandra/README.md b/bitnami/cassandra/README.md index 2fdd6158fc22..ec78370af595 100644 --- a/bitnami/cassandra/README.md +++ b/bitnami/cassandra/README.md @@ -45,7 +45,7 @@ Learn more about the Bitnami tagging policy and the difference between rolling t * [`4.0`, `4.0-debian-10`, `4.0.1`, `4.0.1-debian-10-r54`, `latest` (4.0/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-cassandra/blob/4.0.1-debian-10-r54/4.0/debian-10/Dockerfile) -* [`3.11`, `3.11-debian-10`, `3.11.11`, `3.11.11-debian-10-r87` (3.11/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-cassandra/blob/3.11.11-debian-10-r87/3.11/debian-10/Dockerfile) +* [`3.11`, `3.11-debian-10`, `3.11.11`, `3.11.11-debian-10-r88` (3.11/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-cassandra/blob/3.11.11-debian-10-r88/3.11/debian-10/Dockerfile) * [`3.0`, `3.0-debian-10`, `3.0.25`, `3.0.25-debian-10-r26` (3.0/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-cassandra/blob/3.0.25-debian-10-r26/3.0/debian-10/Dockerfile) Subscribe to project updates by watching the [bitnami/cassandra GitHub repo](https://github.com/bitnami/bitnami-docker-cassandra).