From d07f2e9ed2bde423be6190caa6452cd2f3968207 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Wed, 23 Oct 2024 18:26:32 +0200 Subject: [PATCH] Upgrade FAB to 4.5.1 (#43251) (#43316) FAB 4.5.1 has been released in September with a few small fixes. This change updates fab to 4.5.1 including changing the rate limiter creation that is vendored in. It has been changed in https://github.com/dpgaspar/Flask-AppBuilder/pull/2254 and relased in 4.5.1. That's the only dfference in security manager between 4.5.0 and 4.5.1. (cherry picked from commit 84ff10bf06cf1a529169990d25c00a33d06e740e) --- airflow/providers/fab/provider.yaml | 2 +- airflow/www/security_manager.py | 5 +++-- dev/breeze/tests/test_packages.py | 6 +++--- generated/provider_dependencies.json | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/airflow/providers/fab/provider.yaml b/airflow/providers/fab/provider.yaml index 57cce91c754f7..ed8131cdb224c 100644 --- a/airflow/providers/fab/provider.yaml +++ b/airflow/providers/fab/provider.yaml @@ -51,7 +51,7 @@ dependencies: # Every time we update FAB version here, please make sure that you review the classes and models in # `airflow/providers/fab/auth_manager/security_manager/override.py` with their upstream counterparts. # In particular, make sure any breaking changes, for example any new methods, are accounted for. - - flask-appbuilder==4.5.0 + - flask-appbuilder==4.5.1 - flask-login>=0.6.2 - google-re2>=1.0 - jmespath>=0.7.0 diff --git a/airflow/www/security_manager.py b/airflow/www/security_manager.py index 926148f7eba86..3b1b98f495250 100644 --- a/airflow/www/security_manager.py +++ b/airflow/www/security_manager.py @@ -108,8 +108,9 @@ def before_request(): g.user = get_auth_manager().get_user() def create_limiter(self) -> Limiter: - limiter = Limiter(key_func=get_remote_address) - limiter.init_app(self.appbuilder.get_app) + app = self.appbuilder.get_app + limiter = Limiter(key_func=app.config.get("RATELIMIT_KEY_FUNC", get_remote_address)) + limiter.init_app(app) return limiter def register_views(self): diff --git a/dev/breeze/tests/test_packages.py b/dev/breeze/tests/test_packages.py index 228a1ca0dc5ed..aad2428be7ede 100644 --- a/dev/breeze/tests/test_packages.py +++ b/dev/breeze/tests/test_packages.py @@ -166,7 +166,7 @@ def test_get_documentation_package_path(): "", """ "apache-airflow>=2.9.0", - "flask-appbuilder==4.5.0", + "flask-appbuilder==4.5.1", "flask-login>=0.6.2", "flask>=2.2,<2.3", "google-re2>=1.0", @@ -179,7 +179,7 @@ def test_get_documentation_package_path(): "dev0", """ "apache-airflow>=2.9.0.dev0", - "flask-appbuilder==4.5.0", + "flask-appbuilder==4.5.1", "flask-login>=0.6.2", "flask>=2.2,<2.3", "google-re2>=1.0", @@ -192,7 +192,7 @@ def test_get_documentation_package_path(): "beta0", """ "apache-airflow>=2.9.0b0", - "flask-appbuilder==4.5.0", + "flask-appbuilder==4.5.1", "flask-login>=0.6.2", "flask>=2.2,<2.3", "google-re2>=1.0", diff --git a/generated/provider_dependencies.json b/generated/provider_dependencies.json index 5680f4c8b7cce..ef1f83af72e5b 100644 --- a/generated/provider_dependencies.json +++ b/generated/provider_dependencies.json @@ -550,7 +550,7 @@ "fab": { "deps": [ "apache-airflow>=2.9.0", - "flask-appbuilder==4.5.0", + "flask-appbuilder==4.5.1", "flask-login>=0.6.2", "flask>=2.2,<2.3", "google-re2>=1.0",