Update comments for EZ_BALANCER_TRUSTED_PROXIES to include:
- Header resolution priority (CF-Connecting-IP, Ali-CDN-Real-IP, etc.)
- Current Cloudflare IPv4/IPv6 CIDR lists for easier reference
- Specific notes on production configuration guidelines
Add detailed comments explaining production vs development configuration
recommendations, particularly regarding security and retention policies.
Update default values for balancer log sink and stats flush to enabled.
Add explanatory comments for EZ_BALANCER_LOG_SINK_ENABLED and
EZ_BALANCER_STATS_FLUSH_ENABLED to clarify default behavior and
production recommendations regarding monitoring and quota management.
Reorganize configuration variables into logical sections with clear
headers and detailed comments to enhance readability. Add missing log
buffering settings (EZ_LOG_QUEUE, EZ_LOG_BATCH_SIZE, EZ_LOG_FLUSH_MS)
and expand descriptions for authentication and network options.
Update .env.example with new configuration options:
- EZ_INTERNAL_ALLOW_ANON for controlling anonymous internal access
- EZ_BALANCER_ENABLE_TEST_KEYS for testing auth bypass
- EZ_BALANCER_TRUSTED_PROXIES for real IP resolution
Add security configuration section to README explaining internal endpoint
authentication logic and default behaviors.
- Introduce `SyncOutboxService` and model to retry failed CP-to-Redis sync operations
- Update `SyncService` to handle sync failures by enqueuing tasks to the outbox
- Centralize provider group and API key validation logic into `ProviderGroupManager`
- Refactor API handlers to utilize the new manager and robust sync methods
- Add configuration options for sync outbox (interval, batch size, retries)
Add separate log-postgres service to docker-compose stack for storing
API logs independently from the main database.
- Add log-postgres service with PostgreSQL 15 Alpine image
- Configure environment variables for log database credentials
- Update ez-api service to depend on log-postgres health check
- Set default EZ_LOG_PG_DSN to connect to the new log database
- Update .env.example and README with new configuration options