From b78580d3e69e2d151f4d5c0c8d12529c8d139be5 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Wed, 17 Jun 2026 16:26:08 +0200 Subject: [PATCH] [bitnami/etcd] Release 3.6.12-debian-12-r4 (#94846) Signed-off-by: Bitnami Bot --- bitnami/etcd/3.6/debian-12/Dockerfile | 4 ++-- .../opt/bitnami/scripts/libpersistence.sh | 10 +++++----- .../rootfs/opt/bitnami/scripts/libetcd.sh | 16 +++++++++------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/bitnami/etcd/3.6/debian-12/Dockerfile b/bitnami/etcd/3.6/debian-12/Dockerfile index f48a7d3ee8be..b72c7227c8cb 100644 --- a/bitnami/etcd/3.6/debian-12/Dockerfile +++ b/bitnami/etcd/3.6/debian-12/Dockerfile @@ -7,7 +7,7 @@ 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-11T02:05:39Z" \ + org.opencontainers.image.created="2026-06-17T14:15:34Z" \ org.opencontainers.image.description="Application packaged by Broadcom, Inc." \ org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/etcd/README.md" \ org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/etcd" \ @@ -50,7 +50,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/etcd/postunpack.sh ENV APP_VERSION="3.6.12" \ BITNAMI_APP_NAME="etcd" \ - IMAGE_REVISION="3" \ + IMAGE_REVISION="4" \ PATH="/opt/bitnami/common/bin:/opt/bitnami/etcd/bin:$PATH" EXPOSE 2379 2380 diff --git a/bitnami/etcd/3.6/debian-12/prebuildfs/opt/bitnami/scripts/libpersistence.sh b/bitnami/etcd/3.6/debian-12/prebuildfs/opt/bitnami/scripts/libpersistence.sh index 18445e7d27fa..833ee5ab1d65 100644 --- a/bitnami/etcd/3.6/debian-12/prebuildfs/opt/bitnami/scripts/libpersistence.sh +++ b/bitnami/etcd/3.6/debian-12/prebuildfs/opt/bitnami/scripts/libpersistence.sh @@ -39,7 +39,7 @@ persist_app() { fi pushd "$install_dir" >/dev/null || exit local file_to_persist_relative file_to_persist_destination file_to_persist_destination_folder - local -r tmp_file="/tmp/perms.acl" + local -r acl_file="$(mktemp "${TMPDIR:-/tmp}"/acl.XXXXXXXXXX)" for file_to_persist in "${files_to_persist[@]}"; do if [[ ! -f "$file_to_persist" && ! -d "$file_to_persist" ]]; then error "Cannot persist '${file_to_persist}' because it does not exist" @@ -50,22 +50,22 @@ persist_app() { file_to_persist_destination_folder="$(dirname "$file_to_persist_destination")" # Get original permissions for existing files, which will be applied later # Exclude the root directory with 'sed', to avoid issues when copying the entirety of it to a volume - getfacl -R "$file_to_persist_relative" | sed -E '/# file: (\..+|[^.])/,$!d' > "$tmp_file" + getfacl -R "$file_to_persist_relative" | sed -E '/# file: (\..+|[^.])/,$!d' > "$acl_file" # Copy directories to the volume ensure_dir_exists "$file_to_persist_destination_folder" cp -Lr --preserve=links "$file_to_persist_relative" "$file_to_persist_destination_folder" # Restore permissions pushd "$persist_dir" >/dev/null || exit if am_i_root; then - setfacl --restore="$tmp_file" + setfacl --restore="$acl_file" else # When running as non-root, don't change ownership - setfacl --restore=<(grep -E -v '^# (owner|group):' "$tmp_file") + setfacl --restore=<(grep -E -v '^# (owner|group):' "$acl_file") fi popd >/dev/null || exit done popd >/dev/null || exit - rm -f "$tmp_file" + rm -f "$acl_file" # Install the persisted files into the installation directory, via symlinks restore_persisted_app "$@" } diff --git a/bitnami/etcd/3.6/debian-12/rootfs/opt/bitnami/scripts/libetcd.sh b/bitnami/etcd/3.6/debian-12/rootfs/opt/bitnami/scripts/libetcd.sh index 85ec06e7fb70..aed6dfb36ce8 100644 --- a/bitnami/etcd/3.6/debian-12/rootfs/opt/bitnami/scripts/libetcd.sh +++ b/bitnami/etcd/3.6/debian-12/rootfs/opt/bitnami/scripts/libetcd.sh @@ -757,15 +757,17 @@ etcd_initialize() { fi # For both existing and new deployments, configure RBAC if set - if [[ ${#initial_members[@]} -gt 1 ]]; then - # When there's more than one etcd replica, RBAC should be only enabled in one member - if ! is_empty_value "$ETCD_ROOT_PASSWORD" && [[ "${initial_members[0]}" = *"$ETCD_INITIAL_ADVERTISE_PEER_URLS"* ]]; then + if ! is_empty_value "$ETCD_ROOT_PASSWORD"; then + if [[ ${#initial_members[@]} -gt 1 ]]; then + # When there's more than one etcd replica, RBAC should be only enabled in one member + if [[ "${initial_members[0]}" = *"$ETCD_INITIAL_ADVERTISE_PEER_URLS"* ]]; then + etcd_configure_rbac + elif [[ "${ETCD_INITIAL_CLUSTER_STATE:-}" != "existing" ]]; then + etcd_wait_for_rbac || return 1 + fi + else etcd_configure_rbac - elif [[ "${ETCD_INITIAL_CLUSTER_STATE:-}" != "existing" ]]; then - etcd_wait_for_rbac || return 1 fi - else - ! is_empty_value "$ETCD_ROOT_PASSWORD" && etcd_configure_rbac fi # Avoid exit code of previous commands to affect the result of this function