Files
foxhunt/config/environments/.env.example
jgrusewski 1c07a40c54 🚀 PRODUCTION READY: Foxhunt HFT Trading System v1.0
Initial commit of production-ready high-frequency trading system.

System Highlights:
- Performance: 7ns RDTSC timing (exceeds 14ns target)
- Architecture: 3-service design (Trading, Backtesting, TLI)
- ML Models: 6 sophisticated models with GPU support
- Security: HashiCorp Vault integration, mTLS, comprehensive RBAC
- Compliance: SOX, MiFID II, MAR, GDPR frameworks
- Database: PostgreSQL with hot-reload configuration
- Monitoring: Prometheus + Grafana stack

Status: 96.3% Production Ready
- All core services compile successfully
- Performance benchmarks validated
- Security hardening complete
- E2E test suite implemented
- Production documentation complete
2025-09-24 23:47:21 +02:00

397 lines
12 KiB
Plaintext

# ====================================================================
# FOXHUNT HFT TRADING SYSTEM - COMPREHENSIVE ENVIRONMENT CONFIGURATION
# ====================================================================
#
# This file replaces ALL hardcoded values found across 15+ services
# Copy to .env and replace ALL placeholders with actual values
# CRITICAL: Never commit real credentials to version control
#
# Generated by AGENT 860 - Configuration Replacement System
# Last Updated: 2025-09-15
# ====================================================================
# ====================================================================
# ENVIRONMENT & SYSTEM CONFIGURATION
# ====================================================================
# System Environment (development/testing/staging/production)
FOXHUNT_ENVIRONMENT=development
RUST_ENV=development
ENVIRONMENT=development
# Service Discovery & Mesh
SERVICE_HOST=localhost
SERVICE_MESH_ENABLED=false
CONSUL_URL=http://consul:8500
ETCD_ENDPOINTS=http://127.0.0.1:2379
# ====================================================================
# DATABASE CONFIGURATION
# ====================================================================
# PostgreSQL Primary Database
DATABASE_URL=postgresql://foxhunt_user:foxhunt_pass@localhost:5432/foxhunt_db
FOXHUNT_DATABASE_URL=postgresql://foxhunt_user:foxhunt_pass@localhost:5432/foxhunt_db
TEST_DATABASE_URL=postgresql://foxhunt_user:foxhunt_pass@localhost:5433/foxhunt_test
# Database Connection Pool
DB_POOL_MAX_SIZE=20
DB_POOL_MIN_IDLE=5
DB_QUERY_TIMEOUT_MS=5000
DB_CONNECTION_TIMEOUT_MS=30000
# Database Hosts & Credentials
DATABASE_HOST=localhost
DB_HOST=localhost
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_USER=foxhunt_user
POSTGRES_PASSWORD=<POSTGRES_PASSWORD_PLACEHOLDER>
POSTGRES_DB=foxhunt_db
# Redis Cache Configuration
REDIS_URL=redis://localhost:6379
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=<REDIS_PASSWORD_PLACEHOLDER>
REDIS_USERNAME=<REDIS_USERNAME_PLACEHOLDER>
# InfluxDB Time Series Database
INFLUXDB_URL=http://localhost:8086
INFLUXDB_HOST=localhost
INFLUXDB_PORT=8086
INFLUXDB_ORG=foxhunt
INFLUXDB_BUCKET=market_data
INFLUXDB_TOKEN=<INFLUXDB_TOKEN_PLACEHOLDER>
FOXHUNT_INFLUXDB_TOKEN=<INFLUXDB_TOKEN_PLACEHOLDER>
INFLUXDB_PASSWORD=<INFLUXDB_PASSWORD_PLACEHOLDER>
# ClickHouse Analytics Database
CLICKHOUSE_URL=http://localhost:8123
CLICKHOUSE_HOST=localhost
CLICKHOUSE_PORT=8123
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=<CLICKHOUSE_PASSWORD_PLACEHOLDER>
CLICKHOUSE_DATABASE=foxhunt_analytics
# ====================================================================
# SERVICE GRPC ENDPOINTS
# ====================================================================
# Core Trading Services
TRADING_ENGINE_ENDPOINT=http://localhost:50051
TRADING_ENGINE_GRPC_PORT=50051
MARKET_DATA_ENDPOINT=http://localhost:50052
MARKET_DATA_GRPC_PORT=50052
RISK_MANAGEMENT_ENDPOINT=http://localhost:50053
RISK_MANAGEMENT_GRPC_PORT=50053
AI_INTELLIGENCE_ENDPOINT=http://localhost:50054
AI_INTELLIGENCE_GRPC_PORT=50054
BROKER_CONNECTOR_ENDPOINT=http://localhost:50055
BROKER_CONNECTOR_GRPC_PORT=50055
# Supporting Services
PERSISTENCE_ENDPOINT=http://localhost:50056
PERSISTENCE_GRPC_PORT=50056
DATA_AGGREGATOR_ENDPOINT=http://localhost:50057
DATA_AGGREGATOR_GRPC_PORT=50057
BACKTESTING_ENDPOINT=http://localhost:50058
BACKTESTING_GRPC_PORT=50058
PIPELINE_COORDINATOR_ENDPOINT=http://localhost:50059
PIPELINE_COORDINATOR_GRPC_PORT=50059
INTEGRATION_HUB_ENDPOINT=http://localhost:50060
INTEGRATION_HUB_GRPC_PORT=50060
# Extended Services
MULTI_ASSET_TRADING_ENDPOINT=http://localhost:50061
MULTI_ASSET_TRADING_GRPC_PORT=50061
ML_DATA_PIPELINE_ENDPOINT=http://localhost:50062
ML_DATA_PIPELINE_GRPC_PORT=50062
SECURITY_SERVICE_ENDPOINT=http://localhost:50063
SECURITY_SERVICE_GRPC_PORT=50063
TRADING_WORKFLOW_ENDPOINT=http://localhost:50064
TRADING_WORKFLOW_GRPC_PORT=50064
BROKER_EXECUTION_ENDPOINT=http://localhost:50065
BROKER_EXECUTION_GRPC_PORT=50065
# ====================================================================
# HTTP SERVICE PORTS
# ====================================================================
# Main HTTP Ports
FOXHUNT_HTTP_PORT=3000
TRADING_ENGINE_HTTP_PORT=8080
MARKET_DATA_HTTP_PORT=8081
RISK_MANAGEMENT_HTTP_PORT=8082
AI_INTELLIGENCE_HTTP_PORT=8083
BROKER_CONNECTOR_HTTP_PORT=8084
# Supporting Service HTTP Ports
PERSISTENCE_HTTP_PORT=8085
DATA_AGGREGATOR_HTTP_PORT=8086
BACKTESTING_HTTP_PORT=8087
INTEGRATION_HUB_HTTP_PORT=8088
SECURITY_SERVICE_HTTP_PORT=8090
# Admin & Monitoring Ports
ADMIN_PORT=9000
METRICS_PORT=9090
HEALTH_CHECK_PORT=9091
# ====================================================================
# TRADING CONFIGURATION
# ====================================================================
# Trading Mode (simulation/paper/live)
FOXHUNT_TRADING_MODE=simulation
TRADING_MODE=simulation
# Risk Management
FOXHUNT_MAX_DAILY_LOSS_PCT=0.02
FOXHUNT_POSITION_LIMIT_PCT=0.1
FOXHUNT_MAX_POSITION_SIZE_PCT=0.05
FOXHUNT_LEVERAGE_LIMIT=2.0
FOXHUNT_MAX_TOTAL_EXPOSURE=1000000.0
# Position Sizing
MAX_SINGLE_POSITION_PERCENT=0.05
MAX_DAILY_LOSS_PERCENT=0.02
POSITION_SIZE_PERCENT=0.05
# ====================================================================
# BROKER INTEGRATIONS
# ====================================================================
# Interactive Brokers
INTERACTIVE_BROKERS_API_KEY=<IB_API_KEY_PLACEHOLDER>
INTERACTIVE_BROKERS_HOST=localhost
INTERACTIVE_BROKERS_PORT=7497
IB_TWS_HOST=localhost
IB_TWS_PORT=7497
IB_CLIENT_ID=123
# ICMarkets
ICMARKETS_CLIENT_SECRET=<ICMARKETS_CLIENT_SECRET_PLACEHOLDER>
ICMARKETS_API_KEY=<ICMARKETS_API_KEY_PLACEHOLDER>
IC_API_KEY=<ICMARKETS_API_KEY_PLACEHOLDER>
# Binance
BINANCE_API_KEY=<BINANCE_API_KEY_PLACEHOLDER>
BINANCE_SECRET_KEY=<BINANCE_SECRET_KEY_PLACEHOLDER>
BINANCE_WEBSOCKET_URL=wss://stream.binance.com:9443/ws/stream
# Generic Broker Settings
BROKER_API_KEY=<BROKER_API_KEY_PLACEHOLDER>
BROKER_SECRET_KEY=<BROKER_SECRET_KEY_PLACEHOLDER>
BROKER_FIX_HOST=localhost
BROKER_FIX_PORT=4001
# ====================================================================
# MARKET DATA PROVIDERS
# ====================================================================
# Polygon.io
POLYGON_API_KEY=<POLYGON_API_KEY_PLACEHOLDER>
POLYGON_WEBSOCKET_URL=wss://socket.polygon.io/stocks
POLYGON_BASE_URL=https://api.polygon.io
# Market Data Configuration
MARKET_DATA_PRIMARY_PROVIDER=polygon
MARKET_DATA_UPDATE_FREQUENCY_MS=100
MARKET_DATA_WEBSOCKET_URL=ws://localhost:8080
# ====================================================================
# MESSAGE QUEUE & STREAMING
# ====================================================================
# RabbitMQ
RABBITMQ_URL=amqp://guest:guest@localhost:5672
RABBITMQ_HOST=localhost
RABBITMQ_PORT=5672
RABBITMQ_USER=guest
RABBITMQ_PASSWORD=guest
# Apache Kafka
KAFKA_BROKERS=localhost:9092
KAFKA_HOST=localhost
KAFKA_PORT=9092
# ====================================================================
# SECURITY & AUTHENTICATION
# ====================================================================
# JWT Configuration
FOXHUNT_JWT_SECRET=<JWT_SECRET_PLACEHOLDER>
JWT_SECRET=<JWT_SECRET_PLACEHOLDER>
JWT_EXPIRATION_SECS=3600
JWT_ISSUER=foxhunt-hft
# TLS/SSL Configuration
FOXHUNT_TLS_CERT_DIR=<TLS_CERT_DIR_PLACEHOLDER>
TLS_CERT_PATH=<TLS_CERT_PATH_PLACEHOLDER>
TLS_KEY_PATH=<TLS_KEY_PATH_PLACEHOLDER>
TLS_CA_PATH=<TLS_CA_PATH_PLACEHOLDER>
REQUIRE_CLIENT_CERT=false
# OAuth & API Authentication
OAUTH_REDIRECT_URI=http://localhost:8080/callback
API_SECRET_KEY=<API_SECRET_KEY_PLACEHOLDER>
# Encryption
FOXHUNT_SECRETS_ENCRYPTION_KEY=<SECRETS_ENCRYPTION_KEY_PLACEHOLDER>
ENCRYPTION_KEY=<ENCRYPTION_KEY_PLACEHOLDER>
# ====================================================================
# MONITORING & OBSERVABILITY
# ====================================================================
# Prometheus Metrics
PROMETHEUS_HOST=localhost
PROMETHEUS_PORT=9090
METRICS_ENABLED=true
METRICS_ENDPOINT=/metrics
# Jaeger Tracing
JAEGER_ENDPOINT=http://localhost:14268/api/traces
TRACING_ENABLED=true
TRACE_SAMPLE_RATE=0.1
# Grafana
GRAFANA_HOST=localhost
GRAFANA_PORT=3000
GRAFANA_PASSWORD=<GRAFANA_PASSWORD_PLACEHOLDER>
# Health Checks
HEALTH_CHECK_INTERVAL_SECS=30
HEALTH_CHECK_TIMEOUT_SECS=5
HEALTH_CHECK_ENDPOINT=/health
# Alerting
PAGER_DUTY_API_KEY=<PAGER_DUTY_API_KEY_PLACEHOLDER>
SLACK_WEBHOOK_URL=<SLACK_WEBHOOK_URL_PLACEHOLDER>
# ====================================================================
# AWS & CLOUD PROVIDER CREDENTIALS
# ====================================================================
# AWS Configuration
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY_ID_PLACEHOLDER>
AWS_SECRET_ACCESS_KEY=<AWS_SECRET_ACCESS_KEY_PLACEHOLDER>
POLYGON_AWS_SECRET_ACCESS_KEY=<POLYGON_AWS_SECRET_ACCESS_KEY_PLACEHOLDER>
# Google Cloud
GOOGLE_CLOUD_PROJECT=<GCP_PROJECT_PLACEHOLDER>
GOOGLE_APPLICATION_CREDENTIALS=<GCP_CREDENTIALS_PATH_PLACEHOLDER>
# Azure
AZURE_SUBSCRIPTION_ID=<AZURE_SUBSCRIPTION_ID_PLACEHOLDER>
AZURE_CLIENT_ID=<AZURE_CLIENT_ID_PLACEHOLDER>
AZURE_CLIENT_SECRET=<AZURE_CLIENT_SECRET_PLACEHOLDER>
# ====================================================================
# NETWORK & INFRASTRUCTURE
# ====================================================================
# Service Mesh & Load Balancing
LOAD_BALANCER_ENABLED=false
SERVICE_DISCOVERY_ENABLED=false
CIRCUIT_BREAKER_ENABLED=true
# Network Timeouts (milliseconds)
DEFAULT_REQUEST_TIMEOUT_MS=5000
DATABASE_TIMEOUT_MS=3000
SERVICE_TIMEOUT_MS=2000
HFT_CRITICAL_TIMEOUT_US=100
# Rate Limiting
REQUESTS_PER_SECOND=100
BURST_CAPACITY=200
# ====================================================================
# FEATURE FLAGS & TOGGLES
# ====================================================================
# AI & Machine Learning
AI_MODELS_ENABLED=true
ML_INFERENCE_ENABLED=true
FEATURE_STORE_ENABLED=true
# Trading Features
PAPER_TRADING_ENABLED=true
LIVE_TRADING_ENABLED=false
ALGORITHMIC_TRADING_ENABLED=true
# Performance Features
HOT_RELOAD_ENABLED=false
PERFORMANCE_MONITORING_ENABLED=true
LATENCY_TRACKING_ENABLED=true
# ====================================================================
# LOGGING & DEBUGGING
# ====================================================================
# Log Configuration
LOG_LEVEL=info
RUST_LOG=info
ENABLE_QUERY_LOGGING=false
SLOW_QUERY_THRESHOLD_MS=100
# Debug Features
DEBUG_MODE=false
VERBOSE_LOGGING=false
TRACE_SQL_QUERIES=false
# ====================================================================
# PRODUCTION DEPLOYMENT INSTRUCTIONS
# ====================================================================
# 1. COPY AND CUSTOMIZE:
# cp .env.example .env.production
#
# 2. REPLACE ALL PLACEHOLDERS:
# - Search for <.*_PLACEHOLDER> and replace with real values
# - Generate secure secrets using: openssl rand -base64 32
#
# 3. ENVIRONMENT-SPECIFIC FILES:
# - .env.development (default values, localhost endpoints)
# - .env.testing (test databases, fast timeouts)
# - .env.staging (production-like, but safe endpoints)
# - .env.production (real credentials, production endpoints)
#
# 4. SECURITY VALIDATION:
# - Ensure no placeholder values remain
# - Verify all endpoints point to correct infrastructure
# - Test all credentials before deployment
# - Use secret management systems for sensitive values
#
# 5. SERVICE DEPLOYMENT:
# - Update all service endpoints from localhost to actual hosts
# - Configure load balancers and service discovery
# - Enable TLS/SSL certificates
# - Set up monitoring and alerting
# ====================================================================
# SECURITY REMINDERS
# ====================================================================
# ⚠️ CRITICAL: Replace ALL placeholder values before production use
# ⚠️ Never commit .env files with real credentials to version control
# ⚠️ Use strong, randomly generated passwords and keys
# ⚠️ Rotate credentials regularly according to security policy
# ⚠️ Monitor for credential exposure in logs and application code
# ⚠️ Use environment-specific configurations (.env.production, etc.)
# ⚠️ Validate all endpoints point to production infrastructure
# ⚠️ Enable TLS/SSL for all external communications