From 8074eaafd5f8bf8f3c474c3a59a293b6d9fc9b9f Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Fri, 30 Aug 2024 17:26:37 +0100 Subject: [PATCH] Avoid printing warning messages twice -- bin/up does not print itself --- bin/docker-compose | 26 +++++++++++++++++--------- bin/up | 8 ++++---- lib/shared-functions.sh | 2 +- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/bin/docker-compose b/bin/docker-compose index 92e2b62..7515772 100755 --- a/bin/docker-compose +++ b/bin/docker-compose @@ -32,11 +32,13 @@ function build_environment() { if [[ $SERVER_PRO == "true" ]]; then set_sibling_containers_vars else - echo "WARNING: SIBLING_CONTAINERS_ENABLED=true is not supported in Overleaf Community Edition." >&2 - echo " Sibling containers are not available in Community Edition, which is intended for use in environments where all users are trusted. Community Edition is not appropriate for scenarios where isolation of users is required." >&2 - echo " When not using Sibling containers, users have full read and write access to the 'sharelatex' container resources (filesystem, network, environment variables) when running LaTeX compiles." >&2 - echo " Sibling containers are offered as part of our Server Pro offering and you can read more about the differences at https://www.overleaf.com/for/enterprises/features." >&2 - echo " Falling back using insecure in-container compiles. Set SIBLING_CONTAINERS_ENABLED=false in config/overleaf.rc to silence this warning." >&2 + if [[ ${SKIP_WARNINGS:-null} != "true" ]]; then + echo "WARNING: SIBLING_CONTAINERS_ENABLED=true is not supported in Overleaf Community Edition." >&2 + echo " Sibling containers are not available in Community Edition, which is intended for use in environments where all users are trusted. Community Edition is not appropriate for scenarios where isolation of users is required." >&2 + echo " When not using Sibling containers, users have full read and write access to the 'sharelatex' container resources (filesystem, network, environment variables) when running LaTeX compiles." >&2 + echo " Sibling containers are offered as part of our Server Pro offering and you can read more about the differences at https://www.overleaf.com/for/enterprises/features." >&2 + echo " Falling back using insecure in-container compiles. Set SIBLING_CONTAINERS_ENABLED=false in config/overleaf.rc to silence this warning." >&2 + fi fi fi if [[ $NGINX_ENABLED == "true" ]]; then @@ -80,7 +82,9 @@ function set_base_vars() { if [[ ${OVERLEAF_LISTEN_IP:-null} == "null" ]]; then - echo "WARNING: the value of OVERLEAF_LISTEN_IP is not set in config/overleaf.rc. This value must be set to the public IP address for direct container access. Defaulting to 0.0.0.0" >&2 + if [[ ${SKIP_WARNINGS:-null} != "true" ]]; then + echo "WARNING: the value of OVERLEAF_LISTEN_IP is not set in config/overleaf.rc. This value must be set to the public IP address for direct container access. Defaulting to 0.0.0.0" >&2 + fi OVERLEAF_LISTEN_IP="0.0.0.0" fi export OVERLEAF_LISTEN_IP @@ -119,8 +123,10 @@ function set_redis_vars() { export REDIS_DATA_PATH if [[ -z "${REDIS_AOF_PERSISTENCE:-}" ]]; then - echo "WARNING: the value of REDIS_AOF_PERSISTENCE is not set in config/overleaf.rc" - echo " See https://github.com/overleaf/overleaf/wiki/Release-Notes-5.x.x#redis-aof-persistence-enabled-by-default" + if [[ ${SKIP_WARNINGS:-null} != "true" ]]; then + echo "WARNING: the value of REDIS_AOF_PERSISTENCE is not set in config/overleaf.rc" + echo " See https://github.com/overleaf/overleaf/wiki/Release-Notes-5.x.x#redis-aof-persistence-enabled-by-default" + fi REDIS_COMMAND="redis-server" elif [[ $REDIS_AOF_PERSISTENCE == "true" ]]; then REDIS_COMMAND="redis-server --appendonly yes" @@ -219,7 +225,9 @@ function docker_compose() { exec docker compose "${flags[@]}" elif command -v docker-compose >/dev/null; then # Fall back to docker-compose v1 - echo "WARNING: docker-compose v1 has reached its End Of Life in July 2023 (https://docs.docker.com/compose/migrate/). Support for docker-compose v1 in the Overleaf Toolkit will be dropped with the release of Server Pro 5.2. We recommend upgrading to Docker Compose v2 before then." >&2 + if [[ ${SKIP_WARNINGS:-null} != "true" ]]; then + echo "WARNING: docker-compose v1 has reached its End Of Life in July 2023 (https://docs.docker.com/compose/migrate/). Support for docker-compose v1 in the Overleaf Toolkit will be dropped with the release of Server Pro 5.2. We recommend upgrading to Docker Compose v2 before then." >&2 + fi exec docker-compose "${flags[@]}" else echo "ERROR: Could not find Docker Compose." >&2 diff --git a/bin/up b/bin/up index b5c619b..6efb621 100755 --- a/bin/up +++ b/bin/up @@ -37,8 +37,8 @@ function check_config() { function initiate_mongo_replica_set() { echo "Initiating Mongo replica set..." - SKIP_WARNINGS=true "$TOOLKIT_ROOT/bin/docker-compose" up -d mongo - SKIP_WARNINGS=true "$TOOLKIT_ROOT/bin/docker-compose" exec -T mongo sh -c ' + env SKIP_WARNINGS=true "$TOOLKIT_ROOT/bin/docker-compose" up -d mongo + env SKIP_WARNINGS=true "$TOOLKIT_ROOT/bin/docker-compose" exec -T mongo sh -c ' while ! '$MONGOSH' --eval "db.version()" > /dev/null; do echo "Waiting for Mongo..." sleep 1 @@ -76,7 +76,7 @@ function __main__() { fi read_image_version - read_mongo_version + SKIP_WARNINGS=true read_mongo_version check_config read_config @@ -88,7 +88,7 @@ function __main__() { pull_sandboxed_compiles fi - exec env SKIP_WARNINGS=true "$TOOLKIT_ROOT/bin/docker-compose" up "$@" + exec "$TOOLKIT_ROOT/bin/docker-compose" up "$@" } __main__ "$@" diff --git a/lib/shared-functions.sh b/lib/shared-functions.sh index 59239eb..6ca7c21 100644 --- a/lib/shared-functions.sh +++ b/lib/shared-functions.sh @@ -26,7 +26,7 @@ function read_mongo_version() { if [[ "$mongo_image" =~ ^mongo:([0-9]+)\.(.*)$ ]]; then # when running a chain of commands (example: bin/up -> bin/docker-compose) we're passing # SKIP_WARNINGS=true to prevent the warning message to be printed several times - if [[ -z ${SKIP_WARNINGS:-} ]]; then + if [[ ${SKIP_WARNINGS:-null} != "true" ]]; then echo "------------------- WARNING ----------------------" echo " Deprecation warning: the mongo image is now split between MONGO_IMAGE" echo " and MONGO_VERSION configurations. Please update your config/overleaf.rc as"