26 lines
740 B
Bash
26 lines
740 B
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
: "${SITE_DB_PASSWORD:?SITE_DB_PASSWORD is required}"
|
|
: "${BOT_DB_PASSWORD:?BOT_DB_PASSWORD is required}"
|
|
|
|
psql -v ON_ERROR_STOP=1 \
|
|
--username "$POSTGRES_USER" \
|
|
--dbname "$POSTGRES_DB" \
|
|
--set=site_password="$SITE_DB_PASSWORD" \
|
|
--set=bot_password="$BOT_DB_PASSWORD" <<'SQL'
|
|
DO $roles$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'site_role') THEN
|
|
CREATE ROLE site_role NOLOGIN;
|
|
END IF;
|
|
IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'bot_role') THEN
|
|
CREATE ROLE bot_role NOLOGIN;
|
|
END IF;
|
|
END
|
|
$roles$;
|
|
|
|
CREATE ROLE site_app LOGIN PASSWORD :'site_password' IN ROLE site_role;
|
|
CREATE ROLE bot_app LOGIN PASSWORD :'bot_password' IN ROLE bot_role;
|
|
SQL
|