Files
kalendartool/docker/postgres/init/01-app-user.sh

17 lines
509 B
Bash

#!/bin/sh
set -eu
: "${CALENDAR_DB_PASSWORD:?CALENDAR_DB_PASSWORD must be configured}"
psql -v ON_ERROR_STOP=1 \
--username "$POSTGRES_USER" \
--dbname "$POSTGRES_DB" \
-v calendar_db_password="$CALENDAR_DB_PASSWORD" <<'SQL'
SELECT format('CREATE ROLE calendar_app LOGIN PASSWORD %L', :'calendar_db_password')
WHERE NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'calendar_app')
\gexec
GRANT CONNECT ON DATABASE calendar TO calendar_app;
GRANT USAGE, CREATE ON SCHEMA public TO calendar_app;
SQL