Metadata-Version: 1.0
Name: nova_limits
Version: 0.5
Summary: Nova-specific rate-limit class for turnstile
Home-page: https://github.com/klmitch/nova_limits
Author: Kevin L. Mitchell
Author-email: kevin.mitchell@rackspace.com
License: Apache License (2.0)
Description: ============================================
        Nova-specific Rate Limit Class for Turnstile
        ============================================
        
        This package provides the ``nova_limits`` Python module, which
        contains the ``nova_preprocess()`` preprocessor, the
        ``NovaClassLimit`` limit class, and the ``NovaTurnstileMiddleware``
        replacement middleware class, all for use with Turnstile.  These
        pieces work together to provide class-based rate limiting integration
        with nova.  To use, you must configure the Turnstile middleware with
        the following configuration::
        
            [filter:turnstile]
            paste.filter_factory = turnstile.middleware:turnstile_filter
            turnstile = nova_limits:NovaTurnstileMiddleware
            preprocess = nova_limits:nova_preprocess
            redis.host = <your Redis database host>
        
        Then, simply use the ``nova_limits:NovaClassLimit`` rate limit class
        in your configuration.
        
        Using ``NovaClassLimit``
        ========================
        
        In addition to the other attributes provided by
        ``turnstile.limits:Limit``, the ``NovaClassLimit`` limit class
        provides one additional required argument: the ``rate_class``.  Each
        tenant is associated with a given rate-limit class through the Redis
        database.  (If no such association is present, the rate-limit class
        for a tenant is ``default``.)  Setting ``rate_class`` on
        ``NovaClassLimit`` restricts the limiting action to only those tenants
        in the given rate-limit class.
        
        Also note that, for nova, the URIs used in configuring rate limiting
        must include the version identifier, i.e.,
        "/v2/{tenant}/servers/detail".
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Paste
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware
