diff --git a/src/pgsql/bin/postgres/entrypoint.sh b/src/pgsql/bin/postgres/entrypoint.sh index 7f6da843..1298dcb9 100755 --- a/src/pgsql/bin/postgres/entrypoint.sh +++ b/src/pgsql/bin/postgres/entrypoint.sh @@ -42,7 +42,26 @@ else fi fi -chown -R postgres $PGDATA && chmod -R 0700 $PGDATA + +echo ">>> Trying to configure SSL" +# Tweak keys to avoid permission issues: +ORIGKEYS=$(echo $CONFIGS|tr "," "\n"|egrep '(ssl_cert_file|ssl_key_file)'|cut -d ":" -f 2-|tr "\n" " "|tr -d "\'") +KEYS="" + +echo ">>> Trying to move ${ORIGKEYS} to proper folder" +for file in ${ORIGKEYS}; do + # Check for file or link pointing to file + if [ -e /pg-ssl/$(basename ${file}) ]; then + echo ">>> Copying SSL file from /pg-ssl/$(basename ${file}) to ${file}" + mkdir -p $(dirname ${file}) + cat /pg-ssl/$(basename ${file}) > ${file} + KEYS="$KEYS ${file}" + else + echo ">>> ERROR: SSL File ${file} doesn't exist on disk" + fi +done + +chown -R postgres $PGDATA $KEYS && chmod -R 0700 $PGDATA $KEYS source /usr/local/bin/cluster/repmgr/configure.sh