• v0.1.5 3e9adc9596

    ric released this 2026-01-29 11:13:22 +00:00 | 12 commits to main since this release

    Added

    • Configurable Redis Connection Pooling: New configuration options to prevent Redis connection exhaustion under high load
      • redisPoolSize (default: 10) - Size of the idle connection pool per cache instance
      • redisMaxConnections (default: 20) - Maximum total connections allowed per cache instance
      • redisConnWaitTimeout (default: 5) - Seconds to wait for a connection when pool is exhausted
      • Implements semaphore-based connection limiting with blocking
      • Graceful fallback to in-memory cache when connection wait times out
      • Prevents unbounded connection creation that could exhaust Redis server resources
      • Note: With 3 cache instances (content, custom domain, password), total max connections = 3 × redisMaxConnections

    Fixed

    • Redis Connection Exhaustion: Fixed issue where unlimited connections could be created under high load
      • Previously, when the connection pool was empty, new connections were created without limit
      • Now respects redisMaxConnections limit and waits for available connections
      • Connections are properly reused from the pool instead of creating new ones unnecessarily

    Installation

    Update your Traefik static configuration:

    experimental:
      plugins:
        pages-server:
          moduleName: github.com/sqcows/pages-server
          version: v0.1.5
    

    Configuration Example

    http:
      middlewares:
        pages-server:
          plugin:
            pages-server:
              redisHost: localhost
              redisPort: 6379
              redisPoolSize: 10          # Idle connections per cache
              redisMaxConnections: 20    # Max connections per cache
              redisConnWaitTimeout: 5    # Seconds to wait before fallback
    

    Full Changelog

    https://github.com/sqcows/pages-server/compare/v0.1.4...v0.1.5

    Downloads