docker compose componenti
This commit is contained in:
38
develop/init-db.sh
Executable file
38
develop/init-db.sh
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Funzione per creare un database e un utente limitato
|
||||
# Argomenti: NOME_DB, NOME_UTENTE, PASSWORD_UTENTE
|
||||
create_limited_user_and_db() {
|
||||
local database=$1
|
||||
local user=$2
|
||||
local password=$3
|
||||
|
||||
echo " Configurazione database: $database per l'utente: $user"
|
||||
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "postgres" <<-EOSQL
|
||||
CREATE DATABASE $database;
|
||||
CREATE USER $user WITH PASSWORD '$password';
|
||||
\c $database
|
||||
REVOKE ALL ON SCHEMA public FROM PUBLIC;
|
||||
GRANT USAGE ON SCHEMA public TO $user;
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO $user;
|
||||
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO $user;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO $user;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO $user;
|
||||
EOSQL
|
||||
}
|
||||
|
||||
echo "Inizio inizializzazione database multipli..."
|
||||
|
||||
# 1. Database per Keycloak (L'utente admin ha già i permessi perché proprietario del DB principale)
|
||||
# Non serve crearlo qui se è già definito in POSTGRES_DB nel docker-compose,
|
||||
# ma assicuriamoci che esista.
|
||||
echo "Verifica database Keycloak..."
|
||||
|
||||
# 2. Creazione Microservizi con permessi LIMITATI (Sola gestione DATI, no struttura)
|
||||
# Formato: nome_db, nome_utente, password
|
||||
create_limited_user_and_db "negozi" "user_negozi" "Anker26!"
|
||||
create_limited_user_and_db "keycloak" "user_keycloak" "Anker26!"
|
||||
|
||||
echo "Inizializzazione completata con successo!"
|
||||
Reference in New Issue
Block a user