feat(setup): T04 setup configuration files

- Create config.py with Pydantic Settings (SettingsConfigDict v2)
- Add all required configuration fields with defaults
- Create .env.example template with all environment variables
- Implement get_settings() with @lru_cache for performance
- Add test_configuration.py with 13 unit tests
- All tests passing (13/13)

Refs: T04
This commit is contained in:
Luca Sacchi Ricciardi
2026-04-07 09:52:33 +02:00
parent 715536033b
commit aece120017
4 changed files with 252 additions and 4 deletions

29
.env.example Normal file
View File

@@ -0,0 +1,29 @@
# ===========================================
# OpenRouter API Key Monitor - Configuration
# ===========================================
# Database
DATABASE_URL=sqlite:///./data/app.db
# Security - REQUIRED
# Generate with: openssl rand -hex 32
SECRET_KEY=your-super-secret-jwt-key-min-32-chars
ENCRYPTION_KEY=your-32-byte-encryption-key-here
# OpenRouter Integration
OPENROUTER_API_URL=https://openrouter.ai/api/v1
# Background Tasks
SYNC_INTERVAL_MINUTES=60
# Limits
MAX_API_KEYS_PER_USER=10
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_WINDOW=3600
# JWT
JWT_EXPIRATION_HOURS=24
# Development
DEBUG=false
LOG_LEVEL=INFO