# =============================================================================
# GoodGo Platform - Shared Environment Variables
# =============================================================================
# EN: This file contains shared configuration for all services
# VI: File này chứa cấu hình chung cho tất cả các services
# =============================================================================

# Environment / Môi Trường
ASPNETCORE_ENVIRONMENT=Development
NODE_ENV=development

# =============================================================================
# DATABASE / CƠ SỞ DỮ LIỆU - Neon PostgreSQL
# =============================================================================
# EN: Each service can have its own database or share with schema isolation
# VI: Mỗi service có thể có database riêng hoặc dùng chung với schema isolation

# IAM Service Database
IAM_DATABASE_URL="Host=ep-holy-glitter-a4hongg7-pooler.us-east-1.aws.neon.tech;Port=5432;Database=iam_service;Username=neondb_owner;Password=npg_Ssfy6HKO0cXI;SSL Mode=Require"

# Storage Service Database (if separate)
STORAGE_DATABASE_URL="Host=ep-holy-glitter-a4hongg7-pooler.us-east-1.aws.neon.tech;Port=5432;Database=storage_service;Username=neondb_owner;Password=npg_Ssfy6HKO0cXI;SSL Mode=Require"

# Social Service Database (if separate)
SOCIAL_DATABASE_URL="Host=ep-holy-glitter-a4hongg7-pooler.us-east-1.aws.neon.tech;Port=5432;Database=social_service;Username=neondb_owner;Password=npg_Ssfy6HKO0cXI;SSL Mode=Require"

# Wallet Service Database
WALLET_DATABASE_URL="Host=ep-holy-glitter-a4hongg7-pooler.us-east-1.aws.neon.tech;Port=5432;Database=wallet_service;Username=neondb_owner;Password=npg_Ssfy6HKO0cXI;SSL Mode=Require"

# =============================================================================
# REDIS CACHE / BỘ NHỚ ĐỆM REDIS
# =============================================================================
# EN: External Redis server shared by all services
# VI: Redis server bên ngoài dùng chung cho tất cả services

REDIS_HOST=167.114.174.113
REDIS_PORT=6379
REDIS_PASSWORD=Velik@2026
REDIS_DATABASE=0

# =============================================================================
# JWT AUTHENTICATION / XÁC THỰC JWT
# =============================================================================
# EN: Shared JWT configuration - MUST be identical across all services
# VI: Cấu hình JWT chung - PHẢI giống nhau trên tất cả services

JWT_SECRET=goodgo-iam-service-secret-key-32chars!
JWT_ISSUER=goodgo-platform
JWT_AUDIENCE=goodgo-services
JWT_ACCESS_TOKEN_EXPIRY_MINUTES=15
JWT_REFRESH_TOKEN_EXPIRY_DAYS=7

# Legacy format (for Node.js services)
JWT_EXPIRES_IN=15m
JWT_REFRESH_EXPIRES_IN=7d
JWT_REFRESH_SECRET=goodgo-iam-service-secret-key-32chars!
JWT_ID_SECRET=goodgo-iam-service-secret-key-32chars!
JWT_ID_EXPIRES_IN=1h

# =============================================================================
# ENCRYPTION / MÃ HÓA
# =============================================================================
ENCRYPTION_KEY=460d261122522a6da8df4b9116a55d97432102a524cf055c04118265f0e51693

# =============================================================================
# API CONFIGURATION / CẤU HÌNH API
# =============================================================================
API_VERSION=v1
CORS_ORIGIN=http://localhost:3000,http://localhost:3001,http://localhost,http://admin.localhost

# =============================================================================
# OBSERVABILITY / QUAN SÁT
# =============================================================================
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
TRACING_ENABLED=false
JAEGER_ENDPOINT=http://jaeger:14268/api/traces
METRICS_ENABLED=true

# Logging
LOG_LEVEL=Information

# Seq (optional)
SEQ_URL=http://localhost:5341

# =============================================================================
# FEATURE FLAGS / CỜ TÍNH NĂNG
# =============================================================================
FEATURE_SWAGGER_ENABLED=true
FEATURE_DETAILED_ERRORS=true

# =============================================================================
# RATE LIMITING / GIỚI HẠN TỐC ĐỘ
# =============================================================================
RATE_LIMIT_PERMITS_PER_MINUTE=100
RATE_LIMIT_QUEUE_LIMIT=10

# =============================================================================
# HEALTH CHECKS / KIỂM TRA SỨC KHỎE
# =============================================================================
HEALTHCHECK_TIMEOUT_SECONDS=5

# =============================================================================
# MINIO / OBJECT STORAGE
# =============================================================================
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
STORAGE_PROVIDER=minio
STORAGE_DEFAULT_BUCKET=storage
