oc_mlops_projet_3 / SQL_db /init_user1.sh
CedM's picture
Déploiement automatique depuis GitLab CI
7cb1544 verified
raw
history blame contribute delete
716 Bytes
#!/bin/bash
# init_user1.sh — Création de l'utilisateur read-only user_1
#
# Ce script est exécuté automatiquement au premier démarrage du conteneur
# par l'image officielle postgres (via /docker-entrypoint-initdb.d/).
# La variable PG_USER_1_PASSWORD doit être transmise via --env-file .env.
set -e
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE ROLE user_1 WITH LOGIN NOINHERIT PASSWORD '${PG_USER_1_PASSWORD}';
GRANT CONNECT ON DATABASE ${POSTGRES_DB} TO user_1;
GRANT USAGE ON SCHEMA public TO user_1;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO user_1;
EOSQL
echo "✅ Utilisateur user_1 créé avec les privilèges en lecture seule."