Commit Graph
4 Commits
Author SHA1 Message Date
nutcas3 0bb8571b02 feat: Add IP-based rate limiting to charging engine with configurable RPS and burst size
- Add rate_limit module to lib.rs exports
- Add create_rate_limiter function with SmartIpKeyExtractor for IP-based limiting
- Add RATE_LIMIT_RPS environment variable with 10 requests/second default
- Add RATE_LIMIT_BURST environment variable with 20 burst size default
- Add RateLimitResponse struct with TOO_MANY_REQUESTS status code
- Add GovernorLayer with per_second quota and burst_size configuration to router
2026-04-25 06:01:42 +03:00
nutcas3 d6035c1848 feat: Wrap Redis and PostgreSQL operations in circuit breakers for fault tolerance
- Add CircuitBreakerError import and error mapping to ChargingError::RedisConnection/DatabaseError
- Add redis_circuit_breaker and postgres_circuit_breaker fields to ChargingEngine struct
- Add circuit_breaker field to RatingPlansRepo struct
- Wrap all Redis operations (get_balance, add_credit, deduct_credit, block_user, unblock_user, is_user_blocked, get_subscriber_account, update_subscriber_account, record_usage
2026-04-25 05:49:43 +03:00
nutcas3 201ecdf62f feat: Add auth module export to charging-engine library
- Add public auth module export to lib.rs
2026-04-25 03:33:56 +03:00
nutcas3 4cdecfc932 feat: Add library module exports for charging engine components
- Add public module exports for charging, errors, handlers, routes, models, and monitoring
2026-04-25 03:17:04 +03:00