# Enhanced AGR MCP Server - Environment Configuration Template
# Copy this file to .env and customize for your environment
# =============================================================================
# NODE.JS CONFIGURATION
# =============================================================================
# Environment: development, production, test
NODE_ENV=development
# =============================================================================
# LOGGING CONFIGURATION
# =============================================================================
# Logging level: debug, info, warn, error, silent
LOG_LEVEL=info
# Log to file (optional)
# LOG_FILE=logs/agr-mcp-server.log
# Enable pretty logging in development
# LOG_PRETTY=true
# =============================================================================
# SERVER CONFIGURATION
# =============================================================================
# Server port (for health checks and monitoring)
PORT=3000
# Server host
# HOST=localhost
# =============================================================================
# API CONFIGURATION
# =============================================================================
# API request timeout in milliseconds
API_TIMEOUT=30000
# Maximum retry attempts for failed requests
MAX_RETRIES=3
# Retry delay in milliseconds
RETRY_DELAY=1000
# =============================================================================
# CACHING CONFIGURATION
# =============================================================================
# Default cache TTL in seconds
CACHE_TTL=300
# Maximum number of cache keys
CACHE_MAX_KEYS=1000
# Cache check period in seconds
CACHE_CHECK_PERIOD=60
# Enable cache compression (reduces memory usage)
# CACHE_COMPRESSION=true
# =============================================================================
# RATE LIMITING CONFIGURATION
# =============================================================================
# Rate limit window in milliseconds
RATE_LIMIT_WINDOW=60000
# Maximum requests per window per endpoint
RATE_LIMIT_MAX_REQUESTS=100
# =============================================================================
# ALLIANCE GENOME RESOURCES API CONFIGURATION
# =============================================================================
# AGR API base URL (override for testing)
# AGR_BASE_URL=https://www.alliancegenome.org/api
# AGR BLAST service URL
# AGR_BLAST_URL=https://blast.alliancegenome.org
# AGR FMS URL
# AGR_FMS_URL=https://fms.alliancegenome.org/api
# AGR JBrowse URL
# AGR_JBROWSE_URL=https://jbrowse.alliancegenome.org
# AGR Textpresso URL
# AGR_TEXTPRESSO_URL=https://textpresso.alliancegenome.org
# AGR AllianceMine URL
# AGR_ALLIANCEMINE_URL=https://www.alliancegenome.org/alliancemine
# =============================================================================
# EXTERNAL SERVICES (OPTIONAL)
# =============================================================================
# Redis cache URL (optional - for distributed caching)
# REDIS_URL=redis://localhost:6379
# Redis password (if required)
# REDIS_PASSWORD=your-redis-password
# Redis database number
# REDIS_DB=0
# =============================================================================
# MONITORING AND OBSERVABILITY (OPTIONAL)
# =============================================================================
# Enable Prometheus metrics
# PROMETHEUS_ENABLED=false
# Prometheus metrics port
# PROMETHEUS_PORT=9090
# Enable health check endpoint
# HEALTH_CHECK_ENABLED=true
# Health check endpoint path
# HEALTH_CHECK_PATH=/health
# =============================================================================
# SECURITY CONFIGURATION
# =============================================================================
# API key for authenticated requests (if required)
# API_KEY=your-api-key
# Enable CORS (for web interfaces)
# CORS_ENABLED=false
# Allowed CORS origins (comma-separated)
# CORS_ORIGINS=http://localhost:3000,http://localhost:8080
# Enable request sanitization
# SANITIZE_REQUESTS=true
# =============================================================================
# PERFORMANCE TUNING
# =============================================================================
# HTTP connection pool size
# HTTP_POOL_SIZE=10
# HTTP keep-alive timeout
# HTTP_KEEP_ALIVE_TIMEOUT=30000
# Maximum payload size in bytes
# MAX_PAYLOAD_SIZE=1048576
# Enable response compression
# COMPRESSION_ENABLED=true
# =============================================================================
# DEVELOPMENT CONFIGURATION
# =============================================================================
# Enable debug mode (more verbose logging)
# DEBUG=true
# Enable development middleware
# DEV_MIDDLEWARE=true
# Hot reload (for development)
# HOT_RELOAD=true
# Mock API responses (for testing without network)
# MOCK_API=false
# =============================================================================
# TESTING CONFIGURATION
# =============================================================================
# Run integration tests (requires network access)
# RUN_INTEGRATION_TESTS=false
# Test timeout in milliseconds
# TEST_TIMEOUT=30000
# Test AGR API endpoints (for integration tests)
# TEST_AGR_ENDPOINTS=true
# =============================================================================
# DOCKER CONFIGURATION
# =============================================================================
# Container memory limit (for Docker health checks)
# CONTAINER_MEMORY_LIMIT=512M
# Container CPU limit
# CONTAINER_CPU_LIMIT=0.5
# =============================================================================
# CUSTOM CONFIGURATION
# =============================================================================
# Add your custom environment variables here
# CUSTOM_SETTING=value
# Feature flags
# FEATURE_ADVANCED_CACHING=true
# FEATURE_ENHANCED_VALIDATION=true
# FEATURE_PERFORMANCE_METRICS=true
# =============================================================================
# EXAMPLES FOR DIFFERENT ENVIRONMENTS
# =============================================================================
# Development Example:
# NODE_ENV=development
# LOG_LEVEL=debug
# CACHE_TTL=60
# API_TIMEOUT=60000
# Production Example:
# NODE_ENV=production
# LOG_LEVEL=info
# CACHE_TTL=300
# API_TIMEOUT=30000
# REDIS_URL=redis://redis-server:6379
# Testing Example:
# NODE_ENV=test
# LOG_LEVEL=silent
# CACHE_TTL=10
# API_TIMEOUT=5000
# MOCK_API=true