[bitnami/mongodb] Release 7.0.7-debian-12-r1 (#64418)

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>
This commit is contained in:
Bitnami Bot 2024-03-31 21:00:08 +02:00 committed by GitHub
parent 3034890423
commit 78dbfb179c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 84 additions and 29 deletions

View File

@ -7,10 +7,10 @@ ARG TARGETARCH
LABEL com.vmware.cp.artifact.flavor="sha256:c50c90cfd9d12b445b011e6ad529f1ad3daea45c26d20b00732fae3cd71f6a83" \ LABEL com.vmware.cp.artifact.flavor="sha256:c50c90cfd9d12b445b011e6ad529f1ad3daea45c26d20b00732fae3cd71f6a83" \
org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \ org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \
org.opencontainers.image.created="2024-03-18T18:51:10Z" \ org.opencontainers.image.created="2024-03-31T18:08:27Z" \
org.opencontainers.image.description="Application packaged by VMware, Inc" \ org.opencontainers.image.description="Application packaged by VMware, Inc" \
org.opencontainers.image.licenses="Apache-2.0" \ org.opencontainers.image.licenses="Apache-2.0" \
org.opencontainers.image.ref.name="7.0.7-debian-12-r0" \ org.opencontainers.image.ref.name="7.0.7-debian-12-r1" \
org.opencontainers.image.title="mongodb" \ org.opencontainers.image.title="mongodb" \
org.opencontainers.image.vendor="VMware, Inc." \ org.opencontainers.image.vendor="VMware, Inc." \
org.opencontainers.image.version="7.0.7" org.opencontainers.image.version="7.0.7"
@ -26,10 +26,10 @@ SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-c"]
RUN install_packages ca-certificates curl libbrotli1 libcom-err2 libcurl4 libffi8 libgcc-s1 libgmp10 libgnutls30 libgssapi-krb5-2 libhogweed6 libidn2-0 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.5-0 liblzma5 libnettle8 libnghttp2-14 libp11-kit0 libpsl5 librtmp1 libsasl2-2 libssh2-1 libssl3 libtasn1-6 libunistring2 libzstd1 numactl procps zlib1g RUN install_packages ca-certificates curl libbrotli1 libcom-err2 libcurl4 libffi8 libgcc-s1 libgmp10 libgnutls30 libgssapi-krb5-2 libhogweed6 libidn2-0 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.5-0 liblzma5 libnettle8 libnghttp2-14 libp11-kit0 libpsl5 librtmp1 libsasl2-2 libssh2-1 libssl3 libtasn1-6 libunistring2 libzstd1 numactl procps zlib1g
RUN mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ ; \ RUN mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ ; \
COMPONENTS=( \ COMPONENTS=( \
"yq-4.42.1-1-linux-${OS_ARCH}-debian-12" \ "yq-4.43.1-0-linux-${OS_ARCH}-debian-12" \
"wait-for-port-1.0.7-10-linux-${OS_ARCH}-debian-12" \ "wait-for-port-1.0.7-10-linux-${OS_ARCH}-debian-12" \
"render-template-1.0.6-10-linux-${OS_ARCH}-debian-12" \ "render-template-1.0.6-10-linux-${OS_ARCH}-debian-12" \
"mongodb-shell-2.2.0-0-linux-${OS_ARCH}-debian-12" \ "mongodb-shell-2.2.2-0-linux-${OS_ARCH}-debian-12" \
"mongodb-7.0.7-0-linux-${OS_ARCH}-debian-12" \ "mongodb-7.0.7-0-linux-${OS_ARCH}-debian-12" \
) ; \ ) ; \
for COMPONENT in "${COMPONENTS[@]}"; do \ for COMPONENT in "${COMPONENTS[@]}"; do \

View File

@ -9,7 +9,7 @@
"arch": "amd64", "arch": "amd64",
"distro": "debian-12", "distro": "debian-12",
"type": "NAMI", "type": "NAMI",
"version": "2.2.0-0" "version": "2.2.2-0"
}, },
"render-template": { "render-template": {
"arch": "amd64", "arch": "amd64",
@ -27,6 +27,6 @@
"arch": "amd64", "arch": "amd64",
"distro": "debian-12", "distro": "debian-12",
"type": "NAMI", "type": "NAMI",
"version": "4.42.1-1" "version": "4.43.1-0"
} }
} }

View File

@ -604,10 +604,12 @@ mongodb_set_auth_conf() {
local -r conf_file_name="${conf_file_path#"$MONGODB_CONF_DIR"}" local -r conf_file_name="${conf_file_path#"$MONGODB_CONF_DIR"}"
local authorization local authorization
local localhostBypass
if ! mongodb_is_file_external "$conf_file_name"; then localhostBypass="$(mongodb_conf_get "setParameter.enableLocalhostAuthBypass")"
authorization="$(mongodb_conf_get "security.authorization")"
if is_boolean_yes "$MONGODB_DISABLE_ENFORCE_AUTH"; then
if [[ -n "$MONGODB_ROOT_PASSWORD" ]] || [[ -n "$MONGODB_INITIAL_PRIMARY_ROOT_PASSWORD" ]] || [[ -n "$MONGODB_PASSWORD" ]]; then if [[ -n "$MONGODB_ROOT_PASSWORD" ]] || [[ -n "$MONGODB_INITIAL_PRIMARY_ROOT_PASSWORD" ]] || [[ -n "$MONGODB_PASSWORD" ]]; then
authorization="$(yq eval .security.authorization "$MONGODB_CONF_FILE")"
if [[ "$authorization" = "disabled" ]]; then if [[ "$authorization" = "disabled" ]]; then
info "Enabling authentication..." info "Enabling authentication..."
@ -617,7 +619,27 @@ mongodb_set_auth_conf() {
fi fi
fi fi
else else
debug "$conf_file_name mounted. Skipping authorization enabling" warn "You have set MONGODB_DISABLE_ENFORCE_AUTH=true, settings enableLocalhostAuthBypass and security.authorization will remain with values '${localhostBypass}' and '${authorization}' respectively."
fi
}
########################
# Read a configuration setting value
# Globals:
# MONGODB_CONF_FILE
# Arguments:
# $1 - key
# Returns:
# Outputs the key to stdout (Empty response if key is not set)
#########################
mongodb_conf_get() {
local key="${1:?missing key}"
if [[ -r "$MONGODB_CONF_FILE" ]]; then
local -r res="$(yq eval ".${key}" "$MONGODB_CONF_FILE")"
if [[ ! "$res" = "null" ]]; then
echo "$res"
fi
fi fi
} }
@ -1393,6 +1415,8 @@ configure_permissions() {
# None # None
######################### #########################
mongodb_initialize() { mongodb_initialize() {
local localhostBypass
local authorization
info "Initializing MongoDB..." info "Initializing MongoDB..."
rm -f "$MONGODB_PID_FILE" rm -f "$MONGODB_PID_FILE"
@ -1417,7 +1441,15 @@ mongodb_initialize() {
am_i_root && chown -R "$MONGODB_DAEMON_USER" "$MONGODB_DATA_DIR/db" am_i_root && chown -R "$MONGODB_DAEMON_USER" "$MONGODB_DATA_DIR/db"
mongodb_start_bg "$MONGODB_CONF_FILE" mongodb_start_bg "$MONGODB_CONF_FILE"
mongodb_create_users
localhostBypass="$(mongodb_conf_get "setParameter.enableLocalhostAuthBypass")"
authorization="$(mongodb_conf_get "security.authorization")"
if [[ "$localhostBypass" != "true" && "$authorization" == "enabled" ]]; then
warn "Your mongodb.conf has authentication enforced, users creation will be skipped. If you'd like automatic user creation, you can disable it and it will be enabled after user creation."
else
mongodb_create_users
mongodb_set_auth_conf "$MONGODB_CONF_FILE"
fi
if [[ -n "$MONGODB_REPLICA_SET_MODE" ]]; then if [[ -n "$MONGODB_REPLICA_SET_MODE" ]]; then
mongodb_set_replicasetmode_conf "$MONGODB_CONF_FILE" mongodb_set_replicasetmode_conf "$MONGODB_CONF_FILE"
mongodb_set_listen_all_conf "$MONGODB_CONF_FILE" mongodb_set_listen_all_conf "$MONGODB_CONF_FILE"
@ -1435,8 +1467,6 @@ mongodb_initialize() {
mongodb_set_replicasetmode_conf "$MONGODB_CONF_FILE" mongodb_set_replicasetmode_conf "$MONGODB_CONF_FILE"
fi fi
fi fi
mongodb_set_auth_conf "$MONGODB_CONF_FILE"
} }
######################## ########################

View File

@ -61,6 +61,7 @@ mongodb_env_vars=(
MONGODB_INITIAL_PRIMARY_ROOT_PASSWORD MONGODB_INITIAL_PRIMARY_ROOT_PASSWORD
MONGODB_INITIAL_PRIMARY_ROOT_USER MONGODB_INITIAL_PRIMARY_ROOT_USER
MONGODB_SET_SECONDARY_OK MONGODB_SET_SECONDARY_OK
MONGODB_DISABLE_ENFORCE_AUTH
MONGODB_CLIENT_EXTRA_FLAGS MONGODB_CLIENT_EXTRA_FLAGS
MONGODB_PRIMARY_HOST MONGODB_PRIMARY_HOST
MONGODB_PRIMARY_PORT_NUMBER MONGODB_PRIMARY_PORT_NUMBER
@ -160,5 +161,6 @@ export MONGODB_INITIAL_PRIMARY_ROOT_PASSWORD="${MONGODB_INITIAL_PRIMARY_ROOT_PAS
MONGODB_INITIAL_PRIMARY_ROOT_USER="${MONGODB_INITIAL_PRIMARY_ROOT_USER:-"${MONGODB_PRIMARY_ROOT_USER:-}"}" MONGODB_INITIAL_PRIMARY_ROOT_USER="${MONGODB_INITIAL_PRIMARY_ROOT_USER:-"${MONGODB_PRIMARY_ROOT_USER:-}"}"
export MONGODB_INITIAL_PRIMARY_ROOT_USER="${MONGODB_INITIAL_PRIMARY_ROOT_USER:-root}" export MONGODB_INITIAL_PRIMARY_ROOT_USER="${MONGODB_INITIAL_PRIMARY_ROOT_USER:-root}"
export MONGODB_SET_SECONDARY_OK="${MONGODB_SET_SECONDARY_OK:-no}" export MONGODB_SET_SECONDARY_OK="${MONGODB_SET_SECONDARY_OK:-no}"
export MONGODB_DISABLE_ENFORCE_AUTH="${MONGODB_DISABLE_ENFORCE_AUTH:-false}"
# Custom environment variables may be defined below # Custom environment variables may be defined below

View File

@ -166,23 +166,46 @@ docker-compose up -d
#### Customizable environment variables #### Customizable environment variables
| Name | Description | Default Value | | Name | Description | Default Value |
|----------------------------------------|-----------------------------------------------------------------------------------------------|-------------------------------------| |-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------|
| `MONGODB_MOUNTED_CONF_DIR` | Directory for including custom configuration files (that override the default generated ones) | `${MONGODB_VOLUME_DIR}/conf` | | `MONGODB_MOUNTED_CONF_DIR` | Directory for including custom configuration files (that override the default generated ones) | `${MONGODB_VOLUME_DIR}/conf` |
| `MONGODB_INIT_RETRY_ATTEMPTS` | Maximum retries for checking the service initialization status | `7` | | `MONGODB_INIT_RETRY_ATTEMPTS` | Maximum retries for checking the service initialization status | `7` |
| `MONGODB_INIT_RETRY_DELAY` | Time (in seconds) to wait between retries for checking the service initialization status | `5` | | `MONGODB_INIT_RETRY_DELAY` | Time (in seconds) to wait between retries for checking the service initialization status | `5` |
| `MONGODB_PORT_NUMBER` | MongoDB port | `$MONGODB_DEFAULT_PORT_NUMBER` | | `MONGODB_PORT_NUMBER` | MongoDB port | `$MONGODB_DEFAULT_PORT_NUMBER` |
| `MONGODB_ENABLE_MAJORITY_READ` | Enable majority read in MongoDB operations | `true` | | `MONGODB_ENABLE_MAJORITY_READ` | Enable majority read in MongoDB operations | `true` |
| `MONGODB_DEFAULT_ENABLE_MAJORITY_READ` | Enable majority read in MongoDB operations set at build time | `true` | | `MONGODB_DEFAULT_ENABLE_MAJORITY_READ` | Enable majority read in MongoDB operations set at build time | `true` |
| `MONGODB_ENABLE_NUMACTL` | Execute commands using numactl | `false` | | `MONGODB_EXTRA_FLAGS` | Extra flags for MongoDB initialization | `nil` |
| `MONGODB_ADVERTISE_IP` | Whether advertised hostname is set to container ip | `false` | | `MONGODB_ENABLE_NUMACTL` | Execute commands using numactl | `false` |
| `MONGODB_DISABLE_JAVASCRIPT` | Disable MongoDB server-side javascript execution | `no` | | `MONGODB_SHELL_EXTRA_FLAGS` | Extra flags when using the mongodb client during initialization (useful when mounting init scripts) | `nil` |
| `MONGODB_ROOT_USER` | User name for the MongoDB root user | `root` | | `MONGODB_ADVERTISED_HOSTNAME` | Hostname to use for advertising the MongoDB service | `nil` |
| `ALLOW_EMPTY_PASSWORD` | Permit accessing MongoDB without setting any password | `no` | | `MONGODB_ADVERTISE_IP` | Whether advertised hostname is set to container ip | `false` |
| `MONGODB_REPLICA_SET_NAME` | Name of the MongoDB replica set | `$MONGODB_DEFAULT_REPLICA_SET_NAME` | | `MONGODB_ADVERTISED_PORT_NUMBER` | MongoDB advertised port number. It is recommended to pass this environment variable if you have a proxy port forwarding requests to container. | `nil` |
| `MONGODB_INITIAL_PRIMARY_PORT_NUMBER` | Port of the replica set primary node (necessary for arbiter and secondary nodes) | `27017` | | `MONGODB_DISABLE_JAVASCRIPT` | Disable MongoDB server-side javascript execution | `no` |
| `MONGODB_INITIAL_PRIMARY_ROOT_USER` | Primary node root username (necessary for arbiter and secondary nodes) | `root` | | `MONGODB_ENABLE_JOURNAL` | Enable MongoDB journal | `nil` |
| `MONGODB_SET_SECONDARY_OK` | Mark node as readable. Necessary for cases where the PVC is lost | `no` | | `MONGODB_DISABLE_SYSTEM_LOG` | Disable MongoDB daemon system log | `nil` |
| `MONGODB_ENABLE_DIRECTORY_PER_DB` | Use a separate folder for storing each database data | `nil` |
| `MONGODB_ENABLE_IPV6` | Use IPv6 for database connections | `nil` |
| `MONGODB_SYSTEM_LOG_VERBOSITY` | MongoDB daemon log level | `nil` |
| `MONGODB_ROOT_USER` | User name for the MongoDB root user | `root` |
| `MONGODB_ROOT_PASSWORD` | Password for the MongoDB root user | `nil` |
| `MONGODB_USERNAME` | User to generate at initialization time | `nil` |
| `MONGODB_PASSWORD` | Password for the non-root user specified in MONGODB_USERNAME | `nil` |
| `MONGODB_DATABASE` | Name of the database to create at initialization time | `nil` |
| `MONGODB_METRICS_USERNAME` | User used for metrics collection, for example with mongodb_exporter | `nil` |
| `MONGODB_METRICS_PASSWORD` | Password for the non-root user specified in MONGODB_METRICS_USERNAME | `nil` |
| `MONGODB_EXTRA_USERNAMES` | Comma or semicolon separated list of extra users to be created. | `nil` |
| `MONGODB_EXTRA_PASSWORDS` | Comma or semicolon separated list of passwords for the users specified in MONGODB_EXTRA_USERNAMES. | `nil` |
| `MONGODB_EXTRA_DATABASES` | Comma or semicolon separated list of databases to create at initialization time for the users specified in MONGODB_EXTRA_USERNAMES. | `nil` |
| `ALLOW_EMPTY_PASSWORD` | Permit accessing MongoDB without setting any password | `no` |
| `MONGODB_REPLICA_SET_MODE` | MongoDB replica set mode. Can be one of primary, secondary or arbiter | `nil` |
| `MONGODB_REPLICA_SET_NAME` | Name of the MongoDB replica set | `$MONGODB_DEFAULT_REPLICA_SET_NAME` |
| `MONGODB_REPLICA_SET_KEY` | MongoDB replica set key | `nil` |
| `MONGODB_INITIAL_PRIMARY_HOST` | Hostname of the replica set primary node (necessary for arbiter and secondary nodes) | `nil` |
| `MONGODB_INITIAL_PRIMARY_PORT_NUMBER` | Port of the replica set primary node (necessary for arbiter and secondary nodes) | `27017` |
| `MONGODB_INITIAL_PRIMARY_ROOT_PASSWORD` | Primary node root user password (necessary for arbiter and secondary nodes) | `nil` |
| `MONGODB_INITIAL_PRIMARY_ROOT_USER` | Primary node root username (necessary for arbiter and secondary nodes) | `root` |
| `MONGODB_SET_SECONDARY_OK` | Mark node as readable. Necessary for cases where the PVC is lost | `no` |
| `MONGODB_DISABLE_ENFORCE_AUTH` | By default, MongoDB authentication will be enforced. If set to true, MongoDB will not enforce authentication | `false` |
#### Read-only environment variables #### Read-only environment variables