From a6c969d4b7de174fb620c947eeae285aa3cd07d6 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Thu, 21 Jan 2021 10:11:37 +0000 Subject: [PATCH] 8.9.13-debian-10-r0 release --- bitnami/drupal/8/debian-10/Dockerfile | 4 +- .../opt/bitnami/.bitnami_components.json | 4 +- .../opt/bitnami/scripts/libmysqlclient.sh | 145 ++++++++++++++---- .../opt/bitnami/scripts/mysql-client-env.sh | 21 ++- bitnami/drupal/README.md | 14 +- 5 files changed, 142 insertions(+), 46 deletions(-) diff --git a/bitnami/drupal/8/debian-10/Dockerfile b/bitnami/drupal/8/debian-10/Dockerfile index ebe58f2202ec..b98078faab92 100644 --- a/bitnami/drupal/8/debian-10/Dockerfile +++ b/bitnami/drupal/8/debian-10/Dockerfile @@ -15,7 +15,7 @@ RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "mysql-client" "1 RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "libphp" "7.3.26-0" --checksum 2011a6ddd6853afd60b0399ff5c334f7b6b131f90c0e326115d28a06de6b262b RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "render-template" "1.0.0-3" --checksum 8179ad1371c9a7d897fe3b1bf53bbe763f94edafef19acad2498dd48b3674efe RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "gosu" "1.12.0-2" --checksum 4d858ac600c38af8de454c27b7f65c0074ec3069880cb16d259a6e40a46bbc50 -RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "drupal" "8.9.12-0" --checksum 264681e52dec5d5d7a9d89ce2b3ce0aed7a3b13f184c9656dd84aa7ddb3cf531 +RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "drupal" "8.9.13-0" --checksum 09f9642c346843989e47350f0065111a0356e2e9ad99be27f618ca93731d3d84 RUN apt-get update && apt-get upgrade -y && \ rm -r /var/lib/apt/lists /var/cache/apt/archives RUN chmod g+rwX /opt/bitnami @@ -31,7 +31,7 @@ ENV ALLOW_EMPTY_PASSWORD="no" \ APACHE_HTTPS_PORT_NUMBER="" \ APACHE_HTTP_PORT_NUMBER="" \ BITNAMI_APP_NAME="drupal" \ - BITNAMI_IMAGE_VERSION="8.9.12-debian-10-r8" \ + BITNAMI_IMAGE_VERSION="8.9.13-debian-10-r0" \ MARIADB_HOST="mariadb" \ MARIADB_PORT_NUMBER="3306" \ MARIADB_ROOT_PASSWORD="" \ diff --git a/bitnami/drupal/8/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/drupal/8/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json index 7fb8cb2243a0..381857b6e4da 100644 --- a/bitnami/drupal/8/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json +++ b/bitnami/drupal/8/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json @@ -8,10 +8,10 @@ }, "drupal": { "arch": "amd64", - "digest": "264681e52dec5d5d7a9d89ce2b3ce0aed7a3b13f184c9656dd84aa7ddb3cf531", + "digest": "09f9642c346843989e47350f0065111a0356e2e9ad99be27f618ca93731d3d84", "distro": "debian-10", "type": "NAMI", - "version": "8.9.12-0" + "version": "8.9.13-0" }, "gosu": { "arch": "amd64", diff --git a/bitnami/drupal/8/debian-10/rootfs/opt/bitnami/scripts/libmysqlclient.sh b/bitnami/drupal/8/debian-10/rootfs/opt/bitnami/scripts/libmysqlclient.sh index e7e95782e827..bcded330aff4 100644 --- a/bitnami/drupal/8/debian-10/rootfs/opt/bitnami/scripts/libmysqlclient.sh +++ b/bitnami/drupal/8/debian-10/rootfs/opt/bitnami/scripts/libmysqlclient.sh @@ -45,7 +45,7 @@ mysql_client_validate() { } # Only validate environment variables if any action needs to be performed - check_yes_no_value "DB_TLS_ENABLED" + check_yes_no_value "DB_ENABLE_SSL_WRAPPER" if [[ -n "$DB_CREATE_DATABASE_USER" || -n "$DB_CREATE_DATABASE_NAME" ]]; then if is_boolean_yes "$ALLOW_EMPTY_PASSWORD"; then @@ -78,9 +78,9 @@ mysql_client_validate() { # None ######################### mysql_client_initialize() { - # Wrap binary to force the usage of TLS - if is_boolean_yes "$DB_TLS_ENABLED"; then - mysql_client_wrap_binary_for_tls + # Wrap binary to force the usage of SSL + if is_boolean_yes "$DB_ENABLE_SSL_WRAPPER"; then + mysql_client_wrap_binary_for_ssl fi # Wait for the database to be accessible if any action needs to be performed if [[ -n "$DB_CREATE_DATABASE_USER" || -n "$DB_CREATE_DATABASE_NAME" ]]; then @@ -113,7 +113,7 @@ mysql_client_initialize() { } ######################## -# Wrap binary to force the usage of TLS +# Wrap binary to force the usage of SSL # Globals: # DB_* # Arguments: @@ -121,14 +121,16 @@ mysql_client_initialize() { # Returns: # None ######################### -mysql_client_wrap_binary_for_tls() { +mysql_client_wrap_binary_for_ssl() { local -r wrapper_file="${DB_BIN_DIR}/mysql" local -r wrapped_binary_file="${DB_BASE_DIR}/.bin/mysql" + local -a ssl_opts=() + read -r -a ssl_opts <<< "$(mysql_client_extra_opts)" mv "$wrapper_file" "$wrapped_binary_file" cat >"$wrapper_file" <&1 | grep -q MariaDB; then + echo "mariadb" + else + echo "mysql" + fi +} + +######################## +# Prints extra options for MySQL client calls (i.e. SSL options) +# Globals: +# DB_* +# Arguments: +# None +# Returns: +# List of options to pass to "mysql" CLI +######################### +mysql_client_extra_opts() { + # Helper to get the proper value for the MySQL client environment variable + mysql_client_env_value() { + local env_name="MYSQL_CLIENT_${1:?missing name}" + if [[ -n "${!env_name:-}" ]]; then + echo "${!env_name:-}" + else + env_name="DB_CLIENT_${1}" + echo "${!env_name:-}" + fi + } + local -a opts=() + local key value + if is_boolean_yes "$DB_ENABLE_SSL"; then + if [[ "$(mysql_client_flavor)" = "mysql" ]]; then + opts+=("--ssl-mode=REQUIRED") + else + opts+=("--ssl=TRUE") + fi + # Add "--ssl-ca", "--ssl-key" and "--ssl-cert" options if the env vars are defined + for key in ca key cert; do + value="$(mysql_client_env_value "SSL_${key^^}_FILE")" + [[ -n "${value}" ]] && opts+=("--ssl-${key}=${value}") + done + fi + echo "${opts[@]:-}" +} diff --git a/bitnami/drupal/8/debian-10/rootfs/opt/bitnami/scripts/mysql-client-env.sh b/bitnami/drupal/8/debian-10/rootfs/opt/bitnami/scripts/mysql-client-env.sh index 2d364c1d33fb..ae42e8827305 100644 --- a/bitnami/drupal/8/debian-10/rootfs/opt/bitnami/scripts/mysql-client-env.sh +++ b/bitnami/drupal/8/debian-10/rootfs/opt/bitnami/scripts/mysql-client-env.sh @@ -29,7 +29,12 @@ mysql_env_vars=( MYSQL_CLIENT_CREATE_DATABASE_PASSWORD MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET MYSQL_CLIENT_CREATE_DATABASE_COLLATE - MYSQL_CLIENT_TLS_ENABLED + MYSQL_CLIENT_ENABLE_SSL_WRAPPER + MYSQL_CLIENT_ENABLE_SSL + MYSQL_CLIENT_SSL_CA_FILE + MYSQL_CLIENT_SSL_CERT_FILE + MYSQL_CLIENT_SSL_KEY_FILE + MYSQL_CLIENT_EXTRA_FLAGS ) for env_var in "${mysql_env_vars[@]}"; do file_env_var="${env_var}_FILE" @@ -79,7 +84,17 @@ export MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET="${MYSQL_CLIENT_CREATE_DATABAS export DB_CREATE_DATABASE_CHARACTER_SET="$MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET" export MYSQL_CLIENT_CREATE_DATABASE_COLLATE="${MYSQL_CLIENT_CREATE_DATABASE_COLLATE:-}" export DB_CREATE_DATABASE_COLLATE="$MYSQL_CLIENT_CREATE_DATABASE_COLLATE" -export MYSQL_CLIENT_TLS_ENABLED="${MYSQL_CLIENT_TLS_ENABLED:-no}" -export DB_TLS_ENABLED="$MYSQL_CLIENT_TLS_ENABLED" +export MYSQL_CLIENT_ENABLE_SSL_WRAPPER="${MYSQL_CLIENT_ENABLE_SSL_WRAPPER:-no}" +export DB_ENABLE_SSL_WRAPPER="$MYSQL_CLIENT_ENABLE_SSL_WRAPPER" +export MYSQL_CLIENT_ENABLE_SSL="${MYSQL_CLIENT_ENABLE_SSL:-no}" +export DB_ENABLE_SSL="$MYSQL_CLIENT_ENABLE_SSL" +export MYSQL_CLIENT_SSL_CA_FILE="${MYSQL_CLIENT_SSL_CA_FILE:-}" +export DB_SSL_CA_FILE="$MYSQL_CLIENT_SSL_CA_FILE" +export MYSQL_CLIENT_SSL_CERT_FILE="${MYSQL_CLIENT_SSL_CERT_FILE:-}" +export DB_SSL_CERT_FILE="$MYSQL_CLIENT_SSL_CERT_FILE" +export MYSQL_CLIENT_SSL_KEY_FILE="${MYSQL_CLIENT_SSL_KEY_FILE:-}" +export DB_SSL_KEY_FILE="$MYSQL_CLIENT_SSL_KEY_FILE" +export MYSQL_CLIENT_EXTRA_FLAGS="${MYSQL_CLIENT_EXTRA_FLAGS:-no}" +export DB_EXTRA_FLAGS="$MYSQL_CLIENT_EXTRA_FLAGS" # Custom environment variables may be defined below diff --git a/bitnami/drupal/README.md b/bitnami/drupal/README.md index 70a363158372..cbce4f946bad 100644 --- a/bitnami/drupal/README.md +++ b/bitnami/drupal/README.md @@ -41,8 +41,8 @@ Bitnami containers can be used with [Kubeapps](https://kubeapps.com/) for deploy Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`9`, `9-debian-10`, `9.1.2`, `9.1.2-debian-10-r8`, `latest` (9/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-drupal/blob/9.1.2-debian-10-r8/9/debian-10/Dockerfile) -* [`8`, `8-debian-10`, `8.9.12`, `8.9.12-debian-10-r8` (8/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-drupal/blob/8.9.12-debian-10-r8/8/debian-10/Dockerfile) +* [`9`, `9-debian-10`, `9.1.3`, `9.1.3-debian-10-r-1`, `latest` (9/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-drupal/blob/9.1.3-debian-10-r-1/9/debian-10/Dockerfile) +* [`8`, `8-debian-10`, `8.9.13`, `8.9.13-debian-10-r0` (8/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-drupal/blob/8.9.13-debian-10-r0/8/debian-10/Dockerfile) Subscribe to project updates by watching the [bitnami/drupal GitHub repo](https://github.com/bitnami/bitnami-docker-drupal). @@ -244,12 +244,14 @@ Available environment variables: ##### Create a database for Drupal using mysql-client - `MYSQL_CLIENT_DATABASE_HOST`: Hostname for MariaDB server. Default: **mariadb** -- `MYSQL_CLIENT_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** -- `MYSQL_CLIENT_ROOT_USER`: Database admin user. Default: **root** -- `MYSQL_CLIENT_ROOT_PASSWORD`: Database password for the `MARIADB_ROOT_USER` user. No defaults. +- `MYSQL_CLIENT_DATABASE_PORT_NUMBER`: Port used by MariaDB server. Default: **3306** +- `MYSQL_CLIENT_DATABASE_ROOT_USER`: Database admin user. Default: **root** +- `MYSQL_CLIENT_DATABASE_ROOT_PASSWORD`: Database password for the database admin user. No defaults. - `MYSQL_CLIENT_CREATE_DATABASE_NAME`: New database to be created by the mysql client module. No defaults. - `MYSQL_CLIENT_CREATE_DATABASE_USER`: New database user to be created by the mysql client module. No defaults. - `MYSQL_CLIENT_CREATE_DATABASE_PASSWORD`: Database password for the `MYSQL_CLIENT_CREATE_DATABASE_USER` user. No defaults. +- `MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET`: Character set to use for the new database. No defaults. +- `MYSQL_CLIENT_CREATE_DATABASE_COLLATE`: Database collation to use for the new database. No defaults. - `ALLOW_EMPTY_PASSWORD`: It can be used to allow blank passwords. Default: **no** ##### SMTP Configuration @@ -264,13 +266,13 @@ To configure Drupal to send email using SMTP you can set the following environme ##### PHP configuration +- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. - `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. - `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. - `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. - `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** - `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. - `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. ##### Example