# ==============================================================================
# Goa GEL Platform - Environment Configuration
# ==============================================================================
#
# LOCAL DEV:  No config needed, just run: docker-compose up -d
# REMOTE/VM:  Set the [REQUIRED FOR REMOTE] values below
# PRODUCTION: Set ALL security values with strong passwords
#
# ==============================================================================


# ==============================================================================
# [REQUIRED FOR REMOTE] External Access URLs
# ==============================================================================
# Set these when deploying to a VM, server, or Kubernetes
# These are the URLs that browsers/external clients use to reach your services

# Public URL where the API is accessible (used by frontend in browser)
# Examples: http://192.168.1.100:3001, https://api.goagel.gov.in
API_BASE_URL=http://localhost:3001/api/v1

# Allowed origins for CORS (frontend URL)
# Examples: http://192.168.1.100:4200, https://goagel.gov.in
CORS_ORIGIN=http://localhost:4200


# ==============================================================================
# [REQUIRED FOR PRODUCTION] Security Credentials
# ==============================================================================
# Change ALL of these for production - do not use defaults!

# JWT secret (minimum 32 characters)
# Generate: openssl rand -base64 32
JWT_SECRET=dev_jwt_secret_change_in_production_min32chars

# Database password
DATABASE_PASSWORD=postgres_dev_password

# MinIO storage credentials
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minio_dev_password

# Blockscout explorer secret
# Generate: openssl rand -base64 64
BLOCKSCOUT_SECRET_KEY_BASE=RMgI4C1HSkxsEjdhtGMfwAHfyT6CKWXOgzCboJflfSm4jeAlic52io05KB6mqzc5


# ==============================================================================
# [AUTO-GENERATED] Blockchain Contract Addresses
# ==============================================================================
# Populated after deploying smart contracts: cd blockchain && npm run deploy

CONTRACT_ADDRESS_LICENSE_NFT=
CONTRACT_ADDRESS_APPROVAL_MANAGER=
CONTRACT_ADDRESS_DEPARTMENT_REGISTRY=
CONTRACT_ADDRESS_WORKFLOW_REGISTRY=
PLATFORM_WALLET_PRIVATE_KEY=


# ==============================================================================
# [OPTIONAL] Advanced Settings
# ==============================================================================

# NODE_ENV=production
# FORCE_RESEED=false

# Production API URL for Swagger documentation
# Only set this when you have a production domain configured
# Example: https://api.goagel.gov.in
# PRODUCTION_API_URL=

# External ports (if defaults conflict)
# API_PORT=3001
# FRONTEND_PORT=4200
# BLOCKSCOUT_PORT=4000
