diff --git a/bitnami/mongodb-sharded/4.4/debian-10/Dockerfile b/bitnami/mongodb-sharded/4.4/debian-10/Dockerfile index d25be710e83e..aa71a2737ef0 100644 --- a/bitnami/mongodb-sharded/4.4/debian-10/Dockerfile +++ b/bitnami/mongodb-sharded/4.4/debian-10/Dockerfile @@ -12,7 +12,7 @@ RUN install_packages acl ca-certificates curl gzip libc6 libcom-err2 libcurl4 li RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "yq" "4.13.4-0" --checksum e8e4175266f100a9a74b9cbdcb44867581c4648d83735ed42e04c3fb89d38009 RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "wait-for-port" "1.0.0-3" --checksum 7521d9a4f9e4e182bf32977e234026caa7b03759799868335bccb1edd8f8fd12 RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "render-template" "1.0.0-3" --checksum 8179ad1371c9a7d897fe3b1bf53bbe763f94edafef19acad2498dd48b3674efe -RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "mongodb" "4.4.9-0" --checksum 8a60ebb0766a6207bde835a014c615dd5566f19fd76b0c35b4c409d54f3ea06a +RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "mongodb" "4.4.9-1" --checksum e12b9c7034bbee78a879f3a57b45746d41a5f38ff2a58c8a37741839ff4fa5bb RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "gosu" "1.14.0-0" --checksum 3e6fc37ca073b10a73a804d39c2f0c028947a1a596382a4f8ebe43dfbaa3a25e RUN chmod g+rwX /opt/bitnami RUN ln -s /opt/bitnami/scripts/mongodb-sharded/entrypoint.sh /entrypoint.sh @@ -22,7 +22,7 @@ RUN ln -s /opt/bitnami/scripts/mongodb-sharded/run.sh /run.sh COPY rootfs / RUN /opt/bitnami/scripts/mongodb-sharded/postunpack.sh ENV BITNAMI_APP_NAME="mongodb-sharded" \ - BITNAMI_IMAGE_VERSION="4.4.9-debian-10-r21" \ + BITNAMI_IMAGE_VERSION="4.4.9-debian-10-r22" \ PATH="/opt/bitnami/common/bin:/opt/bitnami/mongodb/bin:$PATH" EXPOSE 27017 diff --git a/bitnami/mongodb-sharded/4.4/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/mongodb-sharded/4.4/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json index 2c7273e8bb0a..e2ff558fe3e4 100644 --- a/bitnami/mongodb-sharded/4.4/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json +++ b/bitnami/mongodb-sharded/4.4/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json @@ -8,10 +8,10 @@ }, "mongodb": { "arch": "amd64", - "digest": "8a60ebb0766a6207bde835a014c615dd5566f19fd76b0c35b4c409d54f3ea06a", + "digest": "e12b9c7034bbee78a879f3a57b45746d41a5f38ff2a58c8a37741839ff4fa5bb", "distro": "debian-10", "type": "NAMI", - "version": "4.4.9-0" + "version": "4.4.9-1" }, "render-template": { "arch": "amd64", diff --git a/bitnami/mongodb-sharded/4.4/debian-10/prebuildfs/opt/bitnami/scripts/libos.sh b/bitnami/mongodb-sharded/4.4/debian-10/prebuildfs/opt/bitnami/scripts/libos.sh index 4265aae0a673..6bd564773acb 100644 --- a/bitnami/mongodb-sharded/4.4/debian-10/prebuildfs/opt/bitnami/scripts/libos.sh +++ b/bitnami/mongodb-sharded/4.4/debian-10/prebuildfs/opt/bitnami/scripts/libos.sh @@ -39,18 +39,24 @@ group_exists() { # Arguments: # $1 - group # Flags: +# -i|--gid - the ID for the new group # -s|--system - Whether to create new user as system user (uid <= 999) # Returns: # None ######################### ensure_group_exists() { local group="${1:?group is missing}" + local gid="" local is_system_user=false # Validate arguments shift 1 while [ "$#" -gt 0 ]; do case "$1" in + -i|--gid) + shift + gid="${1:?missing gid}" + ;; -s|--system) is_system_user=true ;; @@ -64,6 +70,13 @@ ensure_group_exists() { if ! group_exists "$group"; then local -a args=("$group") + if [[ -n "$gid" ]]; then + if group_exists "$gid" ; then + error "The GID $gid is already in use." >&2 + return 1 + fi + args+=("--gid" "$gid") + fi $is_system_user && args+=("--system") groupadd "${args[@]}" >/dev/null 2>&1 fi @@ -74,7 +87,9 @@ ensure_group_exists() { # Arguments: # $1 - user # Flags: +# -i|--uid - the ID for the new user # -g|--group - the group the new user should belong to +# -a|--append-groups - comma-separated list of supplemental groups to append to the new user # -h|--home - the home directory for the new user # -s|--system - whether to create new user as system user (uid <= 999) # Returns: @@ -82,7 +97,9 @@ ensure_group_exists() { ######################### ensure_user_exists() { local user="${1:?user is missing}" + local uid="" local group="" + local append_groups="" local home="" local is_system_user=false @@ -90,10 +107,18 @@ ensure_user_exists() { shift 1 while [ "$#" -gt 0 ]; do case "$1" in + -i|--uid) + shift + uid="${1:?missing uid}" + ;; -g|--group) shift group="${1:?missing group}" ;; + -a|--append-groups) + shift + append_groups="${1:?missing append_groups}" + ;; -h|--home) shift home="${1:?missing home directory}" @@ -111,7 +136,15 @@ ensure_user_exists() { if ! user_exists "$user"; then local -a user_args=("-N" "$user") - $is_system_user && user_args+=("--system") + if [[ -n "$uid" ]]; then + if user_exists "$uid" ; then + error "The UID $uid is already in use." + return 1 + fi + user_args+=("--uid" "$uid") + else + $is_system_user && user_args+=("--system") + fi useradd "${user_args[@]}" >/dev/null 2>&1 fi @@ -122,6 +155,15 @@ ensure_user_exists() { usermod -g "$group" "$user" >/dev/null 2>&1 fi + if [[ -n "$append_groups" ]]; then + local -a groups + read -ra groups <<< "$(tr ',;' ' ' <<< "$append_groups")" + for group in "${groups[@]}"; do + ensure_group_exists "$group" + usermod -aG "$group" "$user" >/dev/null 2>&1 + done + fi + if [[ -n "$home" ]]; then mkdir -p "$home" usermod -d "$home" "$user" >/dev/null 2>&1 @@ -403,3 +445,4 @@ generate_sha_hash() { local -r algorithm="${2:-1}" echo -n "$str" | "sha${algorithm}sum" | awk '{print $1}' } + diff --git a/bitnami/mongodb-sharded/README.md b/bitnami/mongodb-sharded/README.md index 86c496df14f4..0bd05a706a74 100644 --- a/bitnami/mongodb-sharded/README.md +++ b/bitnami/mongodb-sharded/README.md @@ -49,7 +49,7 @@ Learn more about the Bitnami tagging policy and the difference between rolling t * [`5.0`, `5.0-debian-10`, `5.0.3`, `5.0.3-debian-10-r-1` (5.0/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-mongodb/blob/5.0.3-debian-10-r-1/5.0/debian-10/Dockerfile) -* [`4.4`, `4.4-debian-10`, `4.4.9`, `4.4.9-debian-10-r21`, `latest` (4.4/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-mongodb/blob/4.4.9-debian-10-r21/4.4/debian-10/Dockerfile) +* [`4.4`, `4.4-debian-10`, `4.4.9`, `4.4.9-debian-10-r22`, `latest` (4.4/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-mongodb/blob/4.4.9-debian-10-r22/4.4/debian-10/Dockerfile) * [`4.2`, `4.2-debian-10`, `4.2.17`, `4.2.17-debian-10-r17` (4.2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-mongodb/blob/4.2.17-debian-10-r17/4.2/debian-10/Dockerfile) * [`4.0`, `4.0-debian-9`, `4.0.27`, `4.0.27-debian-9-r33` (4.0/debian-9/Dockerfile)](https://github.com/bitnami/bitnami-docker-mongodb/blob/4.0.27-debian-9-r33/4.0/debian-9/Dockerfile)