#!/usr/bin/env sh # PANELS · Fase 0 · aprovisiona roles/bases/esquemas/ACLs contra un # Postgres/Redis alcanzables por red (uso: contenedor de docker-compose # para desarrollo local -- ver el servicio "provision" en # docker-compose.yml). Requiere psql y redis-cli en la imagen (usa la # imagen postgres:16-alpine + redis-cli instalado, o dos pasos separados). set -eu cd "$(dirname "$0")" : "${PGHOST:?}"; : "${PGPORT:=5432}"; : "${PGUSER:=postgres}"; : "${PGPASSWORD:?}" export PGPASSWORD SUPERUSER_URL="postgresql://${PGUSER}@${PGHOST}:${PGPORT}/postgres" echo "== 1/4: roles ==" psql "$SUPERUSER_URL" -v ON_ERROR_STOP=1 \ -v platform_owner_pw="${PLATFORM_OWNER_PASSWORD}" -v platform_app_pw="${PLATFORM_APP_PASSWORD}" \ -v iam_owner_pw="${IAM_OWNER_PASSWORD}" -v iam_app_pw="${IAM_APP_PASSWORD}" \ -v core_owner_pw="${CORE_OWNER_PASSWORD}" -v core_app_pw="${CORE_APP_PASSWORD}" \ -f 01-roles.sql echo "== 2/4: bases de datos ==" psql "$SUPERUSER_URL" -v ON_ERROR_STOP=1 -f 02-databases.sql echo "== 3/4: privilegios panels_platform ==" psql "postgresql://${PGUSER}@${PGHOST}:${PGPORT}/panels_platform" -v ON_ERROR_STOP=1 -f 03-platform-database.sql echo "== 4/4: esquemas + privilegios panels_product ==" psql "postgresql://${PGUSER}@${PGHOST}:${PGPORT}/panels_product" -v ON_ERROR_STOP=1 -f 04-product-database.sql echo "Roles/bases/esquemas listos."