{ "name": "stock-bot", "version": "1.0.0", "environment": "development", "service": { "name": "default-service", "port": 3000, "host": "0.0.0.0", "healthCheckPath": "/health", "metricsPath": "/metrics", "shutdownTimeout": 30000, "cors": { "enabled": true, "origin": "*", "credentials": true } }, "database": { "postgres": { "host": "localhost", "port": 5432, "database": "trading_bot", "user": "trading_user", "password": "trading_pass_dev", "ssl": false, "poolSize": 10, "connectionTimeout": 30000, "idleTimeout": 10000 }, "questdb": { "host": "localhost", "ilpPort": 9009, "httpPort": 9000, "pgPort": 8812, "database": "questdb", "user": "admin", "password": "quest", "bufferSize": 65536, "flushInterval": 1000 }, "mongodb": { "uri": "mongodb://trading_admin:trading_mongo_dev@localhost:27017/stock?authSource=admin", "host": "localhost", "port": 27017, "database": "stock", "user": "trading_admin", "password": "trading_mongo_dev", "authSource": "admin", "poolSize": 10 }, "dragonfly": { "host": "localhost", "port": 6379, "db": 0, "keyPrefix": "stock-bot:", "maxRetries": 3, "retryDelay": 100 } }, "logging": { "level": "info", "format": "json", "prettyPrint": true }, "providers": { "yahoo": { "name": "yahoo", "enabled": true, "rateLimit": { "maxRequests": 5, "windowMs": 60000 }, "timeout": 30000, "baseUrl": "https://query1.finance.yahoo.com" } }, "queue": { "redis": { "host": "localhost", "port": 6379, "db": 1 }, "defaultJobOptions": { "attempts": 3, "backoff": { "type": "exponential", "delay": 1000 }, "removeOnComplete": true, "removeOnFail": false } }, "features": { "realtime": true, "backtesting": true, "paperTrading": true, "notifications": false } }