server: host: "0.0.0.0" port: 8081 timeout: 30s read_timeout: 10s write_timeout: 10s database: mongodb: uri: "mongodb://localhost:27017" name: "tender_management" timeout: 10s max_pool_size: 100 cache: redis: host: "localhost" port: 6379 password: "" db: 0 pool_size: 10 queue: rabbitmq: url: "amqp://guest:guest@localhost:5672/" exchange: "tender_exchange" queues: scraping: "scraping_queue" processing: "processing_queue" notifications: "notifications_queue" search: elasticsearch: urls: ["http://localhost:9200"] username: "" password: "" index_prefix: "tender_" auth: jwt: secret: "your-super-secret-key" access_token_duration: "24h" refresh_token_duration: "168h" # 7 days ai: openai: api_key: "" model: "gpt-3.5-turbo" max_tokens: 1000 scraping: user_agent: "TenderBot/1.0" timeout: 30s max_retries: 3 delay_between_requests: 1s logging: level: "info" format: "json" output: "file" # stdout, stderr, file file: path: "./logs/app.log" max_size: 100 # Max size in MB before rotation max_backups: 5 # Number of backup files to keep max_age: 30 # Max age in days to keep log files compress: true # Compress rotated files rate_limiting: requests_per_minute: 100 burst: 20