feat(dev): hybrid local dev setup — remote PostgreSQL/MinIO, local Redis/RabbitMQ
Some checks are pending
Build & Deploy to K8s / build-and-deploy (push) Waiting to run
Some checks are pending
Build & Deploy to K8s / build-and-deploy (push) Waiting to run
Configure all 24 services to connect to remote staging PostgreSQL (212.28.186.239:30992) and MinIO (minio.techbi.org) while running Redis and RabbitMQ locally on non-standard ports (16379, 25672) to avoid conflicts with other projects. - Add .env.remote with hybrid connection strings - Add docker-compose.dev.yml (lightweight Redis + RabbitMQ only) - Add scripts/dev/start-dev.sh for one-command infra startup - Update all appsettings.Development.json with remote DB + timeout - Add .claude/launch.json for Claude Code preview (pos-web only) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
17
.claude/launch.json
Normal file
17
.claude/launch.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"version": "0.0.1",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "pos-web",
|
||||||
|
"runtimeExecutable": "dotnet",
|
||||||
|
"runtimeArgs": ["run", "--project", "apps/web-client-tpos-net/src/WebClientTpos.Server", "--launch-profile", "http"],
|
||||||
|
"port": 5092
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "enterprise-web",
|
||||||
|
"runtimeExecutable": "dotnet",
|
||||||
|
"runtimeArgs": ["run", "--project", "apps/web-client-base-net/src/WebClientBase.Server", "--launch-profile", "http"],
|
||||||
|
"port": 5091
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
82
deployments/local/.env.remote
Normal file
82
deployments/local/.env.remote
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# GoodGo Platform - Hybrid Dev Environment (Remote DB + MinIO, Local Redis + RabbitMQ)
|
||||||
|
# =============================================================================
|
||||||
|
# EN: Points PostgreSQL and MinIO to remote staging servers.
|
||||||
|
# Redis and RabbitMQ run locally on non-standard ports to avoid conflicts.
|
||||||
|
# VI: Trỏ PostgreSQL và MinIO lên remote staging servers.
|
||||||
|
# Redis và RabbitMQ chạy local trên port khác để tránh xung đột.
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
ASPNETCORE_ENVIRONMENT=Development
|
||||||
|
NODE_ENV=development
|
||||||
|
LOG_LEVEL=Information
|
||||||
|
API_VERSION=v1
|
||||||
|
|
||||||
|
# JWT / Auth
|
||||||
|
JWT_SECRET=GoodGo-Local-Dev-JWT-Secret-2024-Min32Chars!!
|
||||||
|
JWT_REFRESH_SECRET=GoodGo-Local-Dev-Refresh-Secret-2024-32Ch!!
|
||||||
|
JWT_ID_SECRET=GoodGo-Local-Dev-ID-Secret-2024-Min32Char!!
|
||||||
|
JWT_EXPIRES_IN=15m
|
||||||
|
JWT_REFRESH_EXPIRES_IN=7d
|
||||||
|
JWT_ID_EXPIRES_IN=1h
|
||||||
|
JWT_ISSUER=goodgo-platform
|
||||||
|
JWT_AUDIENCE=goodgo-services
|
||||||
|
JWT_ACCESS_TOKEN_EXPIRY_MINUTES=15
|
||||||
|
JWT_REFRESH_TOKEN_EXPIRY_DAYS=7
|
||||||
|
|
||||||
|
# Security
|
||||||
|
ENCRYPTION_KEY=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2
|
||||||
|
|
||||||
|
# Redis (LOCAL container on non-standard port to avoid conflict with ga-redis)
|
||||||
|
REDIS_HOST=localhost
|
||||||
|
REDIS_PORT=16379
|
||||||
|
REDIS_PASSWORD=goodgo-redis-dev
|
||||||
|
REDIS_DATABASE=0
|
||||||
|
REDIS_CONNECTION_STRING=localhost:16379,password=goodgo-redis-dev
|
||||||
|
|
||||||
|
# MinIO (REMOTE - staging server via HTTPS)
|
||||||
|
MINIO_ENDPOINT=minio.techbi.org
|
||||||
|
MINIO_ACCESS_KEY=admin
|
||||||
|
MINIO_SECRET_KEY=Velik@2026
|
||||||
|
MINIO_USE_SSL=true
|
||||||
|
MINIO_BUCKET=goodgo-staging
|
||||||
|
|
||||||
|
# RabbitMQ (LOCAL container on non-standard port to avoid conflict with ga-rabbitmq)
|
||||||
|
RABBITMQ_HOST=localhost
|
||||||
|
RABBITMQ_PORT=25672
|
||||||
|
RABBITMQ_MANAGEMENT_PORT=35672
|
||||||
|
RABBITMQ_USERNAME=guest
|
||||||
|
RABBITMQ_PASSWORD=goodgo-rabbitmq-dev
|
||||||
|
|
||||||
|
# Feature flags
|
||||||
|
FEATURE_SWAGGER_ENABLED=true
|
||||||
|
FEATURE_DETAILED_ERRORS=true
|
||||||
|
CORS_ORIGIN=http://localhost:3000,http://localhost:3001,http://localhost,http://admin.localhost
|
||||||
|
TRACING_ENABLED=false
|
||||||
|
METRICS_ENABLED=false
|
||||||
|
|
||||||
|
# Database connection strings (REMOTE PostgreSQL - Staging Neon via NodePort)
|
||||||
|
IAM_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=iam_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
STORAGE_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=storage_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
MEMBERSHIP_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=membership_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
MERCHANT_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=merchant_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
WALLET_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=wallet_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
CHAT_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=chat_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
SOCIAL_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=social_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
MINING_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=mining_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
MISSION_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=mission_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
PROMOTION_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=promotion_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
CATALOG_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=catalog_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
ORDER_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=order_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
INVENTORY_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=inventory_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
FNB_ENGINE_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=fnb_engine;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
BOOKING_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=booking_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
ADS_MANAGER_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=ads_manager_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
ADS_ANALYTICS_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=ads_analytics_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
ADS_SERVING_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=ads_serving_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
ADS_BILLING_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=ads_billing_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
ADS_TRACKING_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=ads_tracking_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
MKT_FACEBOOK_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=mkt_facebook_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
MKT_WHATSAPP_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=mkt_whatsapp_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
MKT_X_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=mkt_x_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
|
MKT_ZALO_DATABASE_URL=Host=212.28.186.239;Port=30992;Database=mkt_zalo_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer
|
||||||
57
deployments/local/docker-compose.dev.yml
Normal file
57
deployments/local/docker-compose.dev.yml
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# GoodGo Platform - Lightweight Dev Infrastructure
|
||||||
|
# =============================================================================
|
||||||
|
# EN: Only Redis + RabbitMQ for local dev. PostgreSQL and MinIO are on remote.
|
||||||
|
# VI: Chỉ Redis + RabbitMQ cho local dev. PostgreSQL và MinIO ở remote server.
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# docker compose -f docker-compose.dev.yml up -d
|
||||||
|
# docker compose -f docker-compose.dev.yml down
|
||||||
|
#
|
||||||
|
# Ports (non-standard to avoid conflicts):
|
||||||
|
# Redis: 16379 (instead of 6379)
|
||||||
|
# RabbitMQ: 25672 (AMQP), 35672 (Management UI)
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
services:
|
||||||
|
# Redis 7 - Cache & SignalR Backplane (dev)
|
||||||
|
redis-dev:
|
||||||
|
image: redis:7-alpine
|
||||||
|
container_name: goodgo-redis-dev
|
||||||
|
command: redis-server --requirepass goodgo-redis-dev --maxmemory 256mb --maxmemory-policy allkeys-lru
|
||||||
|
ports:
|
||||||
|
- "16379:6379"
|
||||||
|
volumes:
|
||||||
|
- redis_dev_data:/data
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "redis-cli", "-a", "goodgo-redis-dev", "ping"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
|
||||||
|
# RabbitMQ 3 - Message Broker (dev)
|
||||||
|
rabbitmq-dev:
|
||||||
|
image: rabbitmq:3-management-alpine
|
||||||
|
container_name: goodgo-rabbitmq-dev
|
||||||
|
environment:
|
||||||
|
- RABBITMQ_DEFAULT_USER=guest
|
||||||
|
- RABBITMQ_DEFAULT_PASS=goodgo-rabbitmq-dev
|
||||||
|
ports:
|
||||||
|
- "25672:5672" # AMQP
|
||||||
|
- "35672:15672" # Management UI
|
||||||
|
volumes:
|
||||||
|
- rabbitmq_dev_data:/var/lib/rabbitmq
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "rabbitmq-diagnostics", "-q", "ping"]
|
||||||
|
interval: 15s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 5
|
||||||
|
start_period: 30s
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
redis_dev_data:
|
||||||
|
driver: local
|
||||||
|
rabbitmq_dev_data:
|
||||||
|
driver: local
|
||||||
165
scripts/dev/start-dev.sh
Executable file
165
scripts/dev/start-dev.sh
Executable file
@@ -0,0 +1,165 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# =============================================================================
|
||||||
|
# GoodGo Platform - Start Dev Infrastructure
|
||||||
|
# =============================================================================
|
||||||
|
# EN: Starts lightweight local infra (Redis + RabbitMQ) and verifies remote
|
||||||
|
# connections (PostgreSQL + MinIO). No need to run full docker-compose.
|
||||||
|
# VI: Khởi động infra local nhẹ (Redis + RabbitMQ) và kiểm tra kết nối
|
||||||
|
# remote (PostgreSQL + MinIO). Không cần chạy docker-compose đầy đủ.
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# ./scripts/dev/start-dev.sh # Start infra + check connections
|
||||||
|
# ./scripts/dev/start-dev.sh stop # Stop local containers
|
||||||
|
# ./scripts/dev/start-dev.sh status # Check status
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||||
|
COMPOSE_FILE="$PROJECT_ROOT/deployments/local/docker-compose.dev.yml"
|
||||||
|
|
||||||
|
# Colors
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
BLUE='\033[0;34m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
print_header() {
|
||||||
|
echo ""
|
||||||
|
echo -e "${BLUE}═══════════════════════════════════════════════════${NC}"
|
||||||
|
echo -e "${BLUE} GoodGo Platform - Dev Infrastructure${NC}"
|
||||||
|
echo -e "${BLUE}═══════════════════════════════════════════════════${NC}"
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
|
||||||
|
check_remote_pg() {
|
||||||
|
echo -e "${YELLOW}[PostgreSQL]${NC} Testing remote connection (212.28.186.239:30992)..."
|
||||||
|
if nc -z -w3 212.28.186.239 30992 2>/dev/null; then
|
||||||
|
echo -e " ${GREEN}✓${NC} PostgreSQL remote is reachable"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo -e " ${RED}✗${NC} PostgreSQL remote is NOT reachable"
|
||||||
|
echo -e " ${RED} Check your network / VPN connection${NC}"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_remote_minio() {
|
||||||
|
echo -e "${YELLOW}[MinIO]${NC} Testing remote connection (minio.techbi.org)..."
|
||||||
|
if nc -z -w3 minio.techbi.org 443 2>/dev/null; then
|
||||||
|
echo -e " ${GREEN}✓${NC} MinIO remote is reachable"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo -e " ${RED}✗${NC} MinIO remote is NOT reachable"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_local_redis() {
|
||||||
|
echo -e "${YELLOW}[Redis]${NC} Testing local connection (localhost:16379)..."
|
||||||
|
if nc -z -w3 localhost 16379 2>/dev/null; then
|
||||||
|
echo -e " ${GREEN}✓${NC} Redis local is running"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo -e " ${RED}✗${NC} Redis local is NOT running"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_local_rabbitmq() {
|
||||||
|
echo -e "${YELLOW}[RabbitMQ]${NC} Testing local connection (localhost:25672)..."
|
||||||
|
if nc -z -w3 localhost 25672 2>/dev/null; then
|
||||||
|
echo -e " ${GREEN}✓${NC} RabbitMQ local is running"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo -e " ${RED}✗${NC} RabbitMQ local is NOT running"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
start_infra() {
|
||||||
|
print_header
|
||||||
|
|
||||||
|
echo -e "${BLUE}Starting local containers (Redis + RabbitMQ)...${NC}"
|
||||||
|
docker compose -f "$COMPOSE_FILE" up -d
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Wait for containers to be healthy
|
||||||
|
echo -e "${BLUE}Waiting for containers to be ready...${NC}"
|
||||||
|
sleep 3
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "${BLUE}Checking all connections:${NC}"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
local all_ok=true
|
||||||
|
check_remote_pg || all_ok=false
|
||||||
|
check_remote_minio || all_ok=false
|
||||||
|
check_local_redis || all_ok=false
|
||||||
|
check_local_rabbitmq || all_ok=false
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
if [ "$all_ok" = true ]; then
|
||||||
|
echo -e "${GREEN}═══════════════════════════════════════════════════${NC}"
|
||||||
|
echo -e "${GREEN} All infrastructure is ready!${NC}"
|
||||||
|
echo -e "${GREEN}═══════════════════════════════════════════════════${NC}"
|
||||||
|
else
|
||||||
|
echo -e "${YELLOW}═══════════════════════════════════════════════════${NC}"
|
||||||
|
echo -e "${YELLOW} Some connections failed. Check above for details.${NC}"
|
||||||
|
echo -e "${YELLOW}═══════════════════════════════════════════════════${NC}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "${BLUE}Infrastructure endpoints:${NC}"
|
||||||
|
echo -e " PostgreSQL : ${GREEN}212.28.186.239:30992${NC} (remote)"
|
||||||
|
echo -e " MinIO : ${GREEN}minio.techbi.org${NC} (remote, HTTPS)"
|
||||||
|
echo -e " Redis : ${GREEN}localhost:16379${NC} (local)"
|
||||||
|
echo -e " RabbitMQ : ${GREEN}localhost:25672${NC} (local, UI: localhost:35672)"
|
||||||
|
echo ""
|
||||||
|
echo -e "${BLUE}Run a service:${NC}"
|
||||||
|
echo -e " cd services/iam-service-net/src/IamService.API"
|
||||||
|
echo -e " dotnet run"
|
||||||
|
echo ""
|
||||||
|
echo -e "${BLUE}Service ports:${NC}"
|
||||||
|
echo -e " IAM Service : http://localhost:5001"
|
||||||
|
echo -e " Storage Service : http://localhost:5002"
|
||||||
|
echo -e " Wallet Service : http://localhost:5003"
|
||||||
|
echo -e " Merchant Service: http://localhost:5005"
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_infra() {
|
||||||
|
echo -e "${BLUE}Stopping local containers...${NC}"
|
||||||
|
docker compose -f "$COMPOSE_FILE" down
|
||||||
|
echo -e "${GREEN}Done.${NC}"
|
||||||
|
}
|
||||||
|
|
||||||
|
show_status() {
|
||||||
|
print_header
|
||||||
|
echo -e "${BLUE}Container status:${NC}"
|
||||||
|
docker compose -f "$COMPOSE_FILE" ps 2>/dev/null || echo " No containers running"
|
||||||
|
echo ""
|
||||||
|
echo -e "${BLUE}Connection checks:${NC}"
|
||||||
|
check_remote_pg
|
||||||
|
check_remote_minio
|
||||||
|
check_local_redis
|
||||||
|
check_local_rabbitmq
|
||||||
|
}
|
||||||
|
|
||||||
|
case "${1:-start}" in
|
||||||
|
start)
|
||||||
|
start_infra
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
stop_infra
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
show_status
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|status}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=ads_analytics_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=ads_billing_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=ads_manager_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=ads_serving_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=ads_tracking_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=booking_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=catalog_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=chat_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=fnb_engine;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,15 +30,15 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"DefaultConnection": "Host=localhost;Database=iam_service;Username=goodgo;Password=goodgo-local-2024"
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=iam_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
},
|
},
|
||||||
"IdentityServer": {
|
"IdentityServer": {
|
||||||
"Authority": "http://localhost:5001"
|
"Authority": "http://localhost:5001"
|
||||||
},
|
},
|
||||||
"Redis": {
|
"Redis": {
|
||||||
"Host": "localhost",
|
"Host": "localhost",
|
||||||
"Port": 6379,
|
"Port": 16379,
|
||||||
"Password": "",
|
"Password": "goodgo-redis-dev",
|
||||||
"Database": 0,
|
"Database": 0,
|
||||||
"ConnectTimeout": 5000,
|
"ConnectTimeout": 5000,
|
||||||
"SyncTimeout": 5000
|
"SyncTimeout": 5000
|
||||||
@@ -76,4 +76,4 @@
|
|||||||
"CallbackUrl": "/api/auth/external-callback"
|
"CallbackUrl": "/api/auth/external-callback"
|
||||||
},
|
},
|
||||||
"AllowedHosts": "*"
|
"AllowedHosts": "*"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=inventory_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,12 +17,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"DefaultConnection": "Host=localhost;Database=membership_service;Username=goodgo;Password=goodgo-local-2024"
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=membership_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
},
|
},
|
||||||
"Redis": {
|
"Redis": {
|
||||||
"Host": "localhost",
|
"Host": "localhost",
|
||||||
"Port": 6379,
|
"Port": 16379,
|
||||||
"Password": "",
|
"Password": "goodgo-redis-dev",
|
||||||
"Database": 0,
|
"Database": 0,
|
||||||
"ConnectTimeout": 5000,
|
"ConnectTimeout": 5000,
|
||||||
"SyncTimeout": 5000
|
"SyncTimeout": 5000
|
||||||
@@ -34,4 +34,4 @@
|
|||||||
"AccessTokenExpiryMinutes": 15,
|
"AccessTokenExpiryMinutes": 15,
|
||||||
"RefreshTokenExpiryDays": 7
|
"RefreshTokenExpiryDays": 7
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=merchant_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=mining_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=mission_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=mkt_facebook_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=mkt_whatsapp_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=mkt_x_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=mkt_zalo_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=order_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"DefaultConnection": "Host=localhost;Database=promotion_service;Username=goodgo;Password=goodgo-local-2024"
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=promotion_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
},
|
},
|
||||||
"WalletService": {
|
"WalletService": {
|
||||||
"BaseUrl": "http://localhost:5003",
|
"BaseUrl": "http://localhost:5003",
|
||||||
@@ -29,14 +29,17 @@
|
|||||||
},
|
},
|
||||||
"RabbitMQ": {
|
"RabbitMQ": {
|
||||||
"Host": "localhost",
|
"Host": "localhost",
|
||||||
"Port": 5672,
|
"Port": 25672,
|
||||||
"Username": "guest",
|
"Username": "guest",
|
||||||
"Password": "guest",
|
"Password": "goodgo-rabbitmq-dev",
|
||||||
"VirtualHost": "/"
|
"VirtualHost": "/"
|
||||||
},
|
},
|
||||||
"Jwt": {
|
"Jwt": {
|
||||||
"Authority": "http://localhost:5001",
|
"Authority": "http://localhost:5001",
|
||||||
"Audience": "goodgo-api",
|
"Audience": "goodgo-api",
|
||||||
"RequireHttpsMetadata": false
|
"RequireHttpsMetadata": false
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,11 @@
|
|||||||
"System": "Information"
|
"System": "Information"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=social_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,18 +31,18 @@
|
|||||||
},
|
},
|
||||||
"AllowedHosts": "*",
|
"AllowedHosts": "*",
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"DefaultConnection": "Host=localhost;Database=storage_service;Username=goodgo;Password=goodgo-local-2024"
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=storage_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
},
|
},
|
||||||
"Storage": {
|
"Storage": {
|
||||||
"Provider": "minio",
|
"Provider": "minio",
|
||||||
"DefaultBucket": "goodgo",
|
"DefaultBucket": "goodgo-staging",
|
||||||
"PreSignedUrlExpirationSeconds": 3600,
|
"PreSignedUrlExpirationSeconds": 3600,
|
||||||
"MaxFileSizeBytes": 104857600,
|
"MaxFileSizeBytes": 104857600,
|
||||||
"MinIO": {
|
"MinIO": {
|
||||||
"Endpoint": "localhost:9000",
|
"Endpoint": "minio.techbi.org",
|
||||||
"AccessKey": "minioadmin",
|
"AccessKey": "admin",
|
||||||
"SecretKey": "minioadmin",
|
"SecretKey": "Velik@2026",
|
||||||
"UseSSL": false,
|
"UseSSL": true,
|
||||||
"Region": "us-east-1"
|
"Region": "us-east-1"
|
||||||
},
|
},
|
||||||
"AliyunOSS": {
|
"AliyunOSS": {
|
||||||
@@ -61,8 +61,8 @@
|
|||||||
},
|
},
|
||||||
"Redis": {
|
"Redis": {
|
||||||
"Host": "localhost",
|
"Host": "localhost",
|
||||||
"Port": 6379,
|
"Port": 16379,
|
||||||
"Password": "",
|
"Password": "goodgo-redis-dev",
|
||||||
"Database": 0,
|
"Database": 0,
|
||||||
"ConnectTimeout": 5000,
|
"ConnectTimeout": 5000,
|
||||||
"SyncTimeout": 5000
|
"SyncTimeout": 5000
|
||||||
@@ -74,4 +74,4 @@
|
|||||||
"AccessTokenExpiryMinutes": 15,
|
"AccessTokenExpiryMinutes": 15,
|
||||||
"RefreshTokenExpiryDays": 7
|
"RefreshTokenExpiryDays": 7
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,5 +22,11 @@
|
|||||||
"PaymentUrl": "https://sandbox.vnpayment.vn/paymentv2/vpcpay.html",
|
"PaymentUrl": "https://sandbox.vnpayment.vn/paymentv2/vpcpay.html",
|
||||||
"ReturnUrl": "http://localhost:3001/payment/return",
|
"ReturnUrl": "http://localhost:3001/payment/return",
|
||||||
"ApiUrl": "https://sandbox.vnpayment.vn/merchant_webapi/api/transaction"
|
"ApiUrl": "https://sandbox.vnpayment.vn/merchant_webapi/api/transaction"
|
||||||
|
},
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Host=212.28.186.239;Port=30992;Database=wallet_service;Username=cloud_admin;Password=XbnKQ2ONe6pMxxCh;SSL Mode=Prefer;Timeout=60;Command Timeout=120"
|
||||||
|
},
|
||||||
|
"Redis": {
|
||||||
|
"ConnectionString": "localhost:16379,password=goodgo-redis-dev"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user