pass infra roles to auth file via pooler entrypoint

This commit is contained in:
Felix Kunde
2026-04-21 16:50:26 +02:00
parent 4fa363750e
commit 8c8ebd2304
3 changed files with 17 additions and 4 deletions
+13
View File
@@ -17,4 +17,17 @@ fi
envsubst < /etc/pgbouncer/pgbouncer.ini.tmpl > /etc/pgbouncer/pgbouncer.ini
envsubst < /etc/pgbouncer/auth_file.txt.tmpl > /etc/pgbouncer/auth_file.txt
# --- Append Infrastructure Roles ---
if [ -n "${INFRASTRUCTURE_ROLES}" ]; then
# Use a loop to read each line from the multi-line variable
echo "${INFRASTRUCTURE_ROLES}" | while IFS= read -r line; do
# Skip empty lines
[ -z "${line}" ] && continue
# Append formatted "user" "password" pair to the auth file
# This assumes each line of $INFRASTRUCTURE_ROLES is "user password"
echo "${line}" | awk '{printf "\"%s\" \"%s\"\n", $1, $2}' >> /etc/pgbouncer/auth_file.txt
done
fi
exec /bin/pgbouncer /etc/pgbouncer/pgbouncer.ini
-1
View File
@@ -9,7 +9,6 @@ pool_mode = $CONNECTION_POOLER_MODE
listen_port = $CONNECTION_POOLER_PORT
listen_addr = *
admin_users = $PGUSER
stats_users = $INFRASTRUCTURE_ROLES
auth_dbname = postgres
auth_file = /etc/pgbouncer/auth_file.txt
auth_query = SELECT * FROM $PGSCHEMA.user_lookup($1)