Files
bot-pontos/postgres/init/01-create-app-role.sh
2026-10-23 22:31:02 -03:00

20 lines
713 B
Bash

#!/bin/sh
# Executado pelo entrypoint oficial do Postgres apenas na PRIMEIRA inicialização
# do volume (pasta de dados vazia). Cria o usuário da aplicação, sem privilégios
# de superusuário. As permissões nas tabelas são concedidas pela migration inicial.
#
# Este arquivo é "sourced" pelo entrypoint quando não é executável, por isso
# não usa `set -e` nem `exit`.
APP_PASSWORD="$(cat /run/secrets/pg_app_password)"
psql -v ON_ERROR_STOP=1 \
--username "$POSTGRES_USER" \
--dbname "$POSTGRES_DB" \
--set app_password="$APP_PASSWORD" <<'EOSQL'
CREATE ROLE botpontos_app LOGIN PASSWORD :'app_password';
GRANT CONNECT ON DATABASE botpontos TO botpontos_app;
EOSQL
unset APP_PASSWORD