Skip to content

Add configurable rate limiter storage options to FAB provider #58256

@aeroyorch

Description

@aeroyorch

Description

We would like to extend the Flask AppBuilder (FAB) provider in Airflow to support configuring the rate_storage_uri and rate_storage_options parameters without the need to modify the webserver_config.py file directly.

This enhancement would allow these configurations to be set via environment variables or Airflow configuration options.

Currently, users must manually edit the webserver_config.py file to adjust the rate limiter’s backend storage settings, which is cumbersome and less suitable for automated or containerized deployments, like Helm deployments.

Use case/motivation

This feature aims to improve production deployments of Airflow by enabling seamless integration with external rate-limiting backends (e.g., Redis).

By allowing rate_storage_uri and rate_storage_options to be set dynamically, Airflow users could easily switch from in-memory rate limiting to more scalable backends such as Redis.

A first proposal would be:

  • Adding both auth_rate_limit_storage_uri (string) and auth_rate_limit_storage_options (string - JSON) configuration parameters to the [fab] section. Default: memory://.
  • (¿) Only support redis and redis+cluster storage backends.

Related issues

No response

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions