From 89b3b138b6d728ee904eaeaf5c0cd1e317c34c69 Mon Sep 17 00:00:00 2001 From: jbpaux <9682558+jbpaux@users.noreply.github.com> Date: Tue, 9 Aug 2022 15:27:10 +0200 Subject: [PATCH] GUACAMOLE-1572: Make POSTGRESQL env variable backward comp dynamic --- guacamole-docker/bin/start.sh | 76 ++++++++++------------------------- 1 file changed, 21 insertions(+), 55 deletions(-) diff --git a/guacamole-docker/bin/start.sh b/guacamole-docker/bin/start.sh index ef55d5737..ff0762d04 100755 --- a/guacamole-docker/bin/start.sh +++ b/guacamole-docker/bin/start.sh @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/bash -e # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -265,60 +265,26 @@ END ## Provide backward compatibility on POSTGRES_* environment variables ## In case of new deployment, please use POSTGRESQL_* equivalent variables. -if [ -n "$POSTGRES_HOSTNAME" ]; then - POSTGRESQL_HOSTNAME=$POSTGRES_HOSTNAME; -fi -if [ -n "$POSTGRES_PORT" ]; then - POSTGRESQL_PORT=$POSTGRES_PORT; -fi -if [ -n "$POSTGRES_DATABASE" ]; then - POSTGRESQL_DATABASE=$POSTGRES_DATABASE; -fi -if [ -n "$POSTGRES_DATABASE_FILE" ]; then - POSTGRESQL_DATABASE=$POSTGRES_DATABASE_FILE; -fi -if [ -n "$POSTGRES_USER_FILE" ]; then - POSTGRESQL_USER_FILE=$POSTGRES_USER_FILE; -fi -if [ -n "$POSTGRES_USER" ]; then - POSTGRESQL_USER=$POSTGRES_USER; -fi -if [ -n "$POSTGRES_PASSWORD_FILE" ]; then - POSTGRESQL_PASSWORD_FILE=$POSTGRES_PASSWORD_FILE; -fi -if [ -n "$POSTGRES_PASSWORD" ]; then - POSTGRESQL_PASSWORD=$POSTGRES_PASSWORD; -fi -if [ -n "$POSTGRES_ABSOLUTE_MAX_CONNECTIONS" ]; then - POSTGRESQL_ABSOLUTE_MAX_CONNECTIONS=$POSTGRES_ABSOLUTE_MAX_CONNECTIONS; -fi -if [ -n "$POSTGRES_DEFAULT_MAX_CONNECTIONS" ]; then - POSTGRESQL_DEFAULT_MAX_CONNECTIONS=$POSTGRES_DEFAULT_MAX_CONNECTIONS; -fi -if [ -n "$POSTGRES_DEFAULT_MAX_GROUP_CONNECTIONS" ]; then - POSTGRESQL_DEFAULT_MAX_GROUP_CONNECTIONS=$POSTGRES_DEFAULT_MAX_GROUP_CONNECTIONS; -fi -if [ -n "$POSTGRES_DEFAULT_MAX_CONNECTIONS_PER_USER" ]; then - POSTGRESQL_DEFAULT_MAX_CONNECTIONS_PER_USER=$POSTGRES_DEFAULT_MAX_CONNECTIONS_PER_USER; -fi -if [ -n "$POSTGRES_DEFAULT_MAX_GROUP_CONNECTIONS_PER_USER" ]; then - POSTGRESQL_DEFAULT_MAX_GROUP_CONNECTIONS_PER_USER=$POSTGRES_DEFAULT_MAX_GROUP_CONNECTIONS_PER_USER; -fi -if [ -n "$POSTGRES_DEFAULT_STATEMENT_TIMEOUT" ]; then - POSTGRESQL_DEFAULT_STATEMENT_TIMEOUT=$POSTGRES_DEFAULT_STATEMENT_TIMEOUT; -fi -if [ -n "$POSTGRES_USER_REQUIRED" ]; then - POSTGRESQL_USER_REQUIRED=$POSTGRES_USER_REQUIRED; -fi -if [ -n "$POSTGRES_SOCKET_TIMEOUT" ]; then - POSTGRESQL_SOCKET_TIMEOUT=$POSTGRES_SOCKET_TIMEOUT; -fi -if [ -n "$POSTGRES_SSL_KEY_PASSWORD_FILE" ]; then - POSTGRESQL_SSL_KEY_PASSWORD_FILE=$POSTGRES_SSL_KEY_PASSWORD_FILE; -fi -if [ -n "$POSTGRES_SSL_KEY_PASSWORD" ]; then - POSTGRESQL_SSL_KEY_PASSWORD=$POSTGRES_SSL_KEY_PASSWORD; -fi +for VAR_BASE in \ + HOSTNAME PORT \ + DATABASE USER PASSWORD \ + DATABASE_FILE USER_FILE PASSWORD_FILE \ + ABSOLUTE_MAX_CONNECTIONS DEFAULT_MAX_CONNECTIONS \ + DEFAULT_MAX_GROUP_CONNECTIONS DEFAULT_MAX_CONNECTIONS_PER_USER \ + DEFAULT_MAX_GROUP_CONNECTIONS_PER_USER \ + DEFAULT_STATEMENT_TIMEOUT SOCKET_TIMEOUT \ + USER_REQUIRED \ + SSL_KEY_PASSWORD_FILE SSL_KEY_PASSWORD; do + + OLD_VAR="POSTGRES_$VAR_BASE" + NEW_VAR="POSTGRESQL_$VAR_BASE" + + if [ -n "${!OLD_VAR}" ]; then + printf -v "$NEW_VAR" "%s" "${!OLD_VAR}" + echo "WARNING: ${OLD_VAR} detected, please use ${NEW_VAR} for further deployments." + fi + +done ## ## Adds properties to guacamole.properties which select the PostgreSQL