livrare lot 2

This commit is contained in:
EVOTECH IT SRL 2026-07-10 03:39:53 -07:00
commit 8ecc78e729
763 changed files with 164593 additions and 0 deletions

View file

@ -0,0 +1,112 @@
#!/bin/bash
# =============================================================================
# Migration Script: Move Kong & Keycloak DBs to PostgreSQL Cluster
# =============================================================================
set -e
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
# Cluster connection
CLUSTER_HOST="10.11.50.167"
CLUSTER_PORT="5000"
CLUSTER_USER="bos_interface"
CLUSTER_PASS="interface"
# Local postgres container
LOCAL_PG="staging-dataLayer-postgres"
echo -e "${YELLOW}=== DIDI Database Migration to Cluster ===${NC}"
echo ""
# Step 1: Create users in cluster
echo -e "${YELLOW}[1/6] Creating users in cluster...${NC}"
docker exec -e PGPASSWORD=$CLUSTER_PASS $LOCAL_PG psql -h $CLUSTER_HOST -p $CLUSTER_PORT -U $CLUSTER_USER -d DIDI << 'EOF'
-- Create kong user if not exists
DO $$
BEGIN
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = 'kong') THEN
CREATE ROLE kong WITH LOGIN PASSWORD 'kong123';
END IF;
END $$;
-- Create keycloak user if not exists
DO $$
BEGIN
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = 'keycloak') THEN
CREATE ROLE keycloak WITH LOGIN PASSWORD 'keycloak123';
END IF;
END $$;
SELECT rolname FROM pg_roles WHERE rolname IN ('kong', 'keycloak');
EOF
echo -e "${GREEN}✓ Users created${NC}"
# Step 2: Dump local databases
echo -e "${YELLOW}[2/6] Dumping local databases...${NC}"
mkdir -p /tmp/db-migration
docker exec $LOCAL_PG pg_dump -U postgres -Fc kong_db > /tmp/db-migration/kong_db.dump
echo " - kong_db dumped ($(du -h /tmp/db-migration/kong_db.dump | cut -f1))"
docker exec $LOCAL_PG pg_dump -U postgres -Fc keycloak_db > /tmp/db-migration/keycloak_db.dump
echo " - keycloak_db dumped ($(du -h /tmp/db-migration/keycloak_db.dump | cut -f1))"
echo -e "${GREEN}✓ Dumps complete${NC}"
# Step 3: Create databases in cluster
echo -e "${YELLOW}[3/6] Creating databases in cluster...${NC}"
docker exec -e PGPASSWORD=$CLUSTER_PASS $LOCAL_PG psql -h $CLUSTER_HOST -p $CLUSTER_PORT -U $CLUSTER_USER -d DIDI << 'EOF'
-- Create kong_db if not exists
SELECT 'CREATE DATABASE kong_db OWNER kong'
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'kong_db')\gexec
-- Create keycloak_db if not exists
SELECT 'CREATE DATABASE keycloak_db OWNER keycloak'
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'keycloak_db')\gexec
\l kong_db keycloak_db
EOF
echo -e "${GREEN}✓ Databases created${NC}"
# Step 4: Restore to cluster
echo -e "${YELLOW}[4/6] Restoring databases to cluster...${NC}"
# Copy dumps to container
docker cp /tmp/db-migration/kong_db.dump $LOCAL_PG:/tmp/
docker cp /tmp/db-migration/keycloak_db.dump $LOCAL_PG:/tmp/
# Restore kong_db
echo " - Restoring kong_db..."
docker exec -e PGPASSWORD=$CLUSTER_PASS $LOCAL_PG pg_restore -h $CLUSTER_HOST -p $CLUSTER_PORT -U $CLUSTER_USER -d kong_db --no-owner --no-acl --clean --if-exists /tmp/kong_db.dump 2>/dev/null || true
# Restore keycloak_db
echo " - Restoring keycloak_db..."
docker exec -e PGPASSWORD=$CLUSTER_PASS $LOCAL_PG pg_restore -h $CLUSTER_HOST -p $CLUSTER_PORT -U $CLUSTER_USER -d keycloak_db --no-owner --no-acl --clean --if-exists /tmp/keycloak_db.dump 2>/dev/null || true
echo -e "${GREEN}✓ Databases restored${NC}"
# Step 5: Grant permissions
echo -e "${YELLOW}[5/6] Granting permissions...${NC}"
docker exec -e PGPASSWORD=$CLUSTER_PASS $LOCAL_PG psql -h $CLUSTER_HOST -p $CLUSTER_PORT -U $CLUSTER_USER -d kong_db -c "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO kong; GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO kong;"
docker exec -e PGPASSWORD=$CLUSTER_PASS $LOCAL_PG psql -h $CLUSTER_HOST -p $CLUSTER_PORT -U $CLUSTER_USER -d keycloak_db -c "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO keycloak; GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO keycloak;"
echo -e "${GREEN}✓ Permissions granted${NC}"
# Step 6: Verify
echo -e "${YELLOW}[6/6] Verifying migration...${NC}"
echo "Kong tables:"
docker exec -e PGPASSWORD=$CLUSTER_PASS $LOCAL_PG psql -h $CLUSTER_HOST -p $CLUSTER_PORT -U $CLUSTER_USER -d kong_db -c "SELECT count(*) as tables FROM information_schema.tables WHERE table_schema = 'public';"
echo "Keycloak tables:"
docker exec -e PGPASSWORD=$CLUSTER_PASS $LOCAL_PG psql -h $CLUSTER_HOST -p $CLUSTER_PORT -U $CLUSTER_USER -d keycloak_db -c "SELECT count(*) as tables FROM information_schema.tables WHERE table_schema = 'public';"
echo ""
echo -e "${GREEN}=== Migration Complete ===${NC}"
echo ""
echo "Next steps:"
echo " 1. Stop old containers: docker stop kong keycloak"
echo " 2. Remove old containers: docker rm kong keycloak"
echo " 3. Start new services: cd /home/admin365/didi_mono/backend/production && docker compose up -d"
echo ""