apache-airflow-providers-fab 2.4.3rc1__tar.gz → 2.4.4rc1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of apache-airflow-providers-fab might be problematic. Click here for more details.
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/PKG-INFO +6 -6
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/README.rst +3 -3
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/auth-manager/index.rst +1 -0
- apache_airflow_providers_fab-2.4.4rc1/docs/auth-manager/sso.rst +247 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/changelog.rst +23 -0
- apache_airflow_providers_fab-2.4.4rc1/docs/cli-ref.rst +24 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/index.rst +3 -3
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/provider.yaml +2 -1
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/pyproject.toml +3 -3
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/__init__.py +1 -1
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/fab_auth_manager.py +61 -1
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/security_manager/override.py +1 -1
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/airflow_flask_app.py +6 -1
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/package-lock.json +8 -8
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/package.json +1 -1
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.ff5a35f322070b094aa2.css +1 -1
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/materialIcons.3e67dd6fbfcc4f3b5105.css +1 -1
- apache_airflow_providers_fab-2.4.4rc1/tests/unit/fab/auth_manager/api/auth/backend/test_kerberos_auth.py +24 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api_endpoints/api_connexion_utils.py +1 -5
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api_endpoints/test_role_and_permission_endpoint.py +2 -5
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api_endpoints/test_user_endpoint.py +1 -4
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/cli_commands/test_definition.py +5 -8
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/cli_commands/test_permissions_command.py +2 -5
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/cli_commands/test_role_command.py +3 -7
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/cli_commands/test_sync_perm_command.py +1 -4
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/cli_commands/test_user_command.py +2 -5
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/cli_commands/test_utils.py +1 -4
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/models/test_anonymous_user.py +1 -4
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/schemas/test_user_schema.py +5 -9
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/security_manager/test_constants.py +1 -4
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/security_manager/test_override.py +1 -4
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/test_fab_auth_manager.py +21 -7
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/test_models.py +4 -7
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/test_security.py +15 -12
- apache_airflow_providers_fab-2.4.4rc1/www-hash.txt +1 -0
- apache_airflow_providers_fab-2.4.3rc1/docs/cli-ref.rst +0 -29
- apache_airflow_providers_fab-2.4.3rc1/tests/unit/fab/auth_manager/api/auth/backend/test_kerberos_auth.py +0 -27
- apache_airflow_providers_fab-2.4.3rc1/www-hash.txt +0 -1
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/3rd-party-licenses/LICENSES-ui.txt +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/NOTICE +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/api-ref/fab-public-api-ref.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/api-ref/fab-token-api-ref.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/auth-manager/access-control.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/auth-manager/api-authentication.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/auth-manager/configuring-flask-app.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/auth-manager/security.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/auth-manager/token.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/auth-manager/webserver-authentication.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/commits.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/conf.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/configurations-ref.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/img/add-role.png +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/img/diagram_fab_auth_manager_airflow_architecture.md5sum +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/img/diagram_fab_auth_manager_airflow_architecture.png +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/img/diagram_fab_auth_manager_airflow_architecture.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/img/new-role.png +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/migrations-ref.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/security.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/upgrading.rst +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/3rd-party-licenses/LICENSES-ui.txt +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/LICENSE +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/alembic.ini +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api/auth/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api/auth/backend/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api/auth/backend/session.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api_endpoints/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api_fastapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api_fastapi/datamodels/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api_fastapi/datamodels/login.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api_fastapi/openapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api_fastapi/openapi/v2-fab-auth-manager-generated.yaml +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api_fastapi/routes/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api_fastapi/routes/login.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api_fastapi/services/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/api_fastapi/services/login.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/cli_commands/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/cli_commands/db_command.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/cli_commands/definition.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/cli_commands/permissions_command.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/cli_commands/role_command.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/cli_commands/user_command.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/cli_commands/utils.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/models/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/models/anonymous_user.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/models/db.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/openapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/openapi/v1-flask-api.yaml +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/schemas/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/schemas/role_and_permission_schema.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/schemas/user_schema.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/security_manager/constants.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/views/permissions.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/views/roles_list.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/views/user.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/views/user_edit.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/auth_manager/views/user_stats.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/get_provider_info.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/migrations/README +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/migrations/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/migrations/env.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/migrations/script.py.mako +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/migrations/versions/0001_1_4_0_create_ab_tables_if_missing.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/migrations/versions/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/version_compat.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/api_connexion/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/api_connexion/exceptions.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/api_connexion/parameters.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/api_connexion/security.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/api_connexion/types.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/app.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/auth.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/constants.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/extensions/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/extensions/init_appbuilder.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/extensions/init_jinja_globals.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/extensions/init_manifest_files.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/extensions/init_security.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/extensions/init_session.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/extensions/init_views.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/extensions/init_wsgi_middlewares.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/security/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/security/permissions.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/security_appless.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/security_manager.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/session.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/css/bootstrap-theme.css +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/css/flash.css +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/css/loading-dots.css +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/css/main.css +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/css/material-icons.css +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/48f0ea180c40270a5b05.png +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/649c0b07771e68fafdeb.png +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/743.fc7a7c6ef9d09365976e.js +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/743.fc7a7c6ef9d09365976e.js.LICENSE.txt +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.ff5a35f322070b094aa2.js +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/f7490d556a6c42e49ba4.png +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/flash.5583a9e0cf11f2be93da.css +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/flash.5583a9e0cf11f2be93da.js +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.css +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/loadingDots.2e5f555f0753107b0300.css +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/loadingDots.2e5f555f0753107b0300.js +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/main.3cf3be1a0c5439bb640d.css +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/main.3cf3be1a0c5439bb640d.js +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/main.3cf3be1a0c5439bb640d.js.LICENSE.txt +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/manifest.json +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/materialIcons.3e67dd6fbfcc4f3b5105.js +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/moment.9baee5ec3d7639a10897.js +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/oss-licenses.json +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/dist/runtime.ad800fc1845ad5c6ddeb.js +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/js/datetime_utils.js +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/js/main.js +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/pin_100.png +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/pin_32.png +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/sort_asc.png +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/sort_both.png +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/static/sort_desc.png +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/templates/airflow/_messages.html +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/templates/airflow/error.html +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/templates/airflow/main.html +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/templates/airflow/traceback.html +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/templates/appbuilder/flash.html +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/templates/appbuilder/index.html +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/templates/appbuilder/navbar.html +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/templates/appbuilder/navbar_menu.html +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/templates/appbuilder/navbar_right.html +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/utils.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/views.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/src/airflow/providers/fab/www/webpack.config.js +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/conftest.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api/auth/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api/auth/backend/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api/auth/backend/test_basic_auth.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api/auth/backend/test_session.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api_endpoints/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api_endpoints/remote_user_api_auth_backend.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api_endpoints/test_auth.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api_fastapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api_fastapi/conftest.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api_fastapi/routes/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api_fastapi/routes/test_login.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api_fastapi/services/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/api_fastapi/services/test_login.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/cli_commands/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/cli_commands/test_db_command.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/conftest.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/models/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/models/test_db.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/models/test_user_model.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/schemas/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/schemas/test_role_and_permission_schema.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/views/test_permissions.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/views/test_roles_list.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/views/test_user.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/views/test_user_edit.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/auth_manager/views/test_user_stats.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/db_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/db_manager/test_fab_db_manager.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/decorators.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/plugins/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/plugins/conftest.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/plugins/test_plugin.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/utils.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/www/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/www/test_auth.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/www/test_utils.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/www/views/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/www/views/conftest.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/www/views/test_connection_form_fields.py +0 -0
- {apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/tests/unit/fab/www/views/test_views_custom_user_views.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-fab
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.4rc1
|
|
4
4
|
Summary: Provider package apache-airflow-providers-fab for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,fab,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
@@ -36,8 +36,8 @@ Requires-Dist: wtforms>=3.0,<4; python_version < '3.13'
|
|
|
36
36
|
Requires-Dist: flask_limiter>3,<4,!=3.13
|
|
37
37
|
Requires-Dist: kerberos>=1.3.0 ; extra == "kerberos" and ( python_version < '3.13')
|
|
38
38
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
39
|
-
Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-fab/2.4.
|
|
40
|
-
Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-fab/2.4.
|
|
39
|
+
Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-fab/2.4.4/changelog.html
|
|
40
|
+
Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-fab/2.4.4
|
|
41
41
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
42
42
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
43
43
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -69,7 +69,7 @@ Provides-Extra: kerberos
|
|
|
69
69
|
|
|
70
70
|
Package ``apache-airflow-providers-fab``
|
|
71
71
|
|
|
72
|
-
Release: ``2.4.
|
|
72
|
+
Release: ``2.4.4``
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
|
@@ -82,7 +82,7 @@ This is a provider package for ``fab`` provider. All classes for this provider p
|
|
|
82
82
|
are in ``airflow.providers.fab`` python package.
|
|
83
83
|
|
|
84
84
|
You can find package information and changelog for the provider
|
|
85
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.
|
|
85
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.4/>`_.
|
|
86
86
|
|
|
87
87
|
Installation
|
|
88
88
|
------------
|
|
@@ -143,5 +143,5 @@ Extra Dependencies
|
|
|
143
143
|
============ ============================================
|
|
144
144
|
|
|
145
145
|
The changelog for the provider package can be found in the
|
|
146
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.
|
|
146
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.4/changelog.html>`_.
|
|
147
147
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
Package ``apache-airflow-providers-fab``
|
|
25
25
|
|
|
26
|
-
Release: ``2.4.
|
|
26
|
+
Release: ``2.4.4``
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
|
@@ -36,7 +36,7 @@ This is a provider package for ``fab`` provider. All classes for this provider p
|
|
|
36
36
|
are in ``airflow.providers.fab`` python package.
|
|
37
37
|
|
|
38
38
|
You can find package information and changelog for the provider
|
|
39
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.
|
|
39
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.4/>`_.
|
|
40
40
|
|
|
41
41
|
Installation
|
|
42
42
|
------------
|
|
@@ -97,4 +97,4 @@ Extra Dependencies
|
|
|
97
97
|
============ ============================================
|
|
98
98
|
|
|
99
99
|
The changelog for the provider package can be found in the
|
|
100
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.
|
|
100
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.4/changelog.html>`_.
|
|
@@ -30,6 +30,7 @@ Follow the below topics as well to understand other aspects of FAB auth manager:
|
|
|
30
30
|
* :doc:`access-control`. How FAB auth manager manage users and permissions
|
|
31
31
|
* :doc:`webserver-authentication`. To learn the different options available in FAB auth manager to authenticate users
|
|
32
32
|
* :doc:`security`. To learn the different options available in FAB auth manager to secure the UI provided by FAB auth manager
|
|
33
|
+
* :doc:`sso`. How to configure Single Sign-On (SSO) with OAuth2 providers using FAB auth manager
|
|
33
34
|
* :doc:`configuring-flask-app`. To learn the configuration options available for the flask app used by ``FabAuthManager``.
|
|
34
35
|
|
|
35
36
|
.. toctree::
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
.. Licensed to the Apache Software Foundation (ASF) under one
|
|
2
|
+
or more contributor license agreements. See the NOTICE file
|
|
3
|
+
distributed with this work for additional information
|
|
4
|
+
regarding copyright ownership. The ASF licenses this file
|
|
5
|
+
to you under the Apache License, Version 2.0 (the
|
|
6
|
+
"License"); you may not use this file except in compliance
|
|
7
|
+
with the License. You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
.. http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
.. Unless required by applicable law or agreed to in writing,
|
|
12
|
+
software distributed under the License is distributed on an
|
|
13
|
+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
+
KIND, either express or implied. See the License for the
|
|
15
|
+
specific language governing permissions and limitations
|
|
16
|
+
under the License.
|
|
17
|
+
|
|
18
|
+
================================
|
|
19
|
+
Single Sign-On (SSO) Integration
|
|
20
|
+
================================
|
|
21
|
+
|
|
22
|
+
The FAB Auth Manager supports Single Sign-On (SSO) through OAuth2 providers.
|
|
23
|
+
This guide shows how to configure SSO with various OAuth2 providers such as
|
|
24
|
+
Google, Okta, Azure Entra ID, and others.
|
|
25
|
+
|
|
26
|
+
This guide shows how to configure SSO with the FAB Auth Manager using a
|
|
27
|
+
generic OAuth2 provider. The process is similar for providers such as
|
|
28
|
+
Okta, Azure Entra ID, Google, or Auth0.
|
|
29
|
+
|
|
30
|
+
.. contents:: Table of Contents
|
|
31
|
+
:local:
|
|
32
|
+
:depth: 2
|
|
33
|
+
|
|
34
|
+
Prerequisites
|
|
35
|
+
-------------
|
|
36
|
+
- Apache Airflow installed and running with FAB Auth Manager
|
|
37
|
+
- Access to an OAuth2 SSO provider (e.g., Google, Okta, Auth0, Azure Entra ID)
|
|
38
|
+
- Admin access to Airflow and your SSO provider
|
|
39
|
+
|
|
40
|
+
.. note::
|
|
41
|
+
For provider-specific authentication setup (obtaining client IDs, secrets, etc.),
|
|
42
|
+
refer to the relevant provider documentation:
|
|
43
|
+
|
|
44
|
+
- **Google**: :doc:`apache-airflow-providers-google:api-auth-backend/google-openid` and :doc:`apache-airflow-providers-google:connections/gcp`
|
|
45
|
+
- **Microsoft Azure**: :doc:`apache-airflow-providers-microsoft-azure:connections/azure`
|
|
46
|
+
- **Amazon**: :doc:`apache-airflow-providers-amazon:auth-manager/setup/identity-center`
|
|
47
|
+
|
|
48
|
+
Configuration Steps
|
|
49
|
+
-------------------
|
|
50
|
+
|
|
51
|
+
1. **Enable the FAB Auth Manager**
|
|
52
|
+
|
|
53
|
+
Add the following to your ``airflow.cfg`` (or set as env var):
|
|
54
|
+
|
|
55
|
+
.. code-block:: ini
|
|
56
|
+
|
|
57
|
+
[webserver]
|
|
58
|
+
auth_manager = airflow.providers.fab.auth_manager.fab_auth_manager.FabAuthManager
|
|
59
|
+
|
|
60
|
+
This replaces the default ``SimpleAuthManager``.
|
|
61
|
+
|
|
62
|
+
2. **Install Required Packages**
|
|
63
|
+
|
|
64
|
+
If not already installed, ensure the FAB provider is available:
|
|
65
|
+
|
|
66
|
+
.. code-block:: bash
|
|
67
|
+
|
|
68
|
+
pip install 'apache-airflow-providers-fab'
|
|
69
|
+
|
|
70
|
+
.. note::
|
|
71
|
+
The FAB Auth Manager provider is not installed by default in Airflow 3.
|
|
72
|
+
You must install it explicitly to use OAuth2-based SSO.
|
|
73
|
+
|
|
74
|
+
3. **Configure OAuth2 Provider**
|
|
75
|
+
|
|
76
|
+
FAB Auth Manager reads provider configuration from the ``[fab]`` section
|
|
77
|
+
of ``airflow.cfg`` or from environment variables.
|
|
78
|
+
|
|
79
|
+
**Option A: Environment Variables (Recommended)**
|
|
80
|
+
|
|
81
|
+
.. code-block:: bash
|
|
82
|
+
|
|
83
|
+
export AIRFLOW__FAB__OAUTH_PROVIDERS='[{
|
|
84
|
+
"name": "generic",
|
|
85
|
+
"icon": "fa-circle",
|
|
86
|
+
"token_key": "access_token",
|
|
87
|
+
"remote_app": {
|
|
88
|
+
"client_id": "your-client-id",
|
|
89
|
+
"client_secret": "your-client-secret",
|
|
90
|
+
"api_base_url": "https://provider.com/oauth/",
|
|
91
|
+
"request_token_url": null,
|
|
92
|
+
"access_token_url": "https://provider.com/oauth/token",
|
|
93
|
+
"authorize_url": "https://provider.com/oauth/authorize"
|
|
94
|
+
}
|
|
95
|
+
}]'
|
|
96
|
+
|
|
97
|
+
**Option B: Configuration File**
|
|
98
|
+
|
|
99
|
+
Add to your ``airflow.cfg``:
|
|
100
|
+
|
|
101
|
+
.. code-block:: ini
|
|
102
|
+
|
|
103
|
+
[fab]
|
|
104
|
+
oauth_providers = [
|
|
105
|
+
{
|
|
106
|
+
"name": "generic",
|
|
107
|
+
"icon": "fa-circle",
|
|
108
|
+
"token_key": "access_token",
|
|
109
|
+
"remote_app": {
|
|
110
|
+
"client_id": "your-client-id",
|
|
111
|
+
"client_secret": "your-client-secret",
|
|
112
|
+
"api_base_url": "https://provider.com/oauth/",
|
|
113
|
+
"request_token_url": null,
|
|
114
|
+
"access_token_url": "https://provider.com/oauth/token",
|
|
115
|
+
"authorize_url": "https://provider.com/oauth/authorize"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
|
|
120
|
+
Adjust these values according to your provider's documentation.
|
|
121
|
+
|
|
122
|
+
4. **Restart Airflow Webserver**
|
|
123
|
+
|
|
124
|
+
.. code-block:: bash
|
|
125
|
+
|
|
126
|
+
airflow webserver --reload
|
|
127
|
+
|
|
128
|
+
5. **Test SSO Login**
|
|
129
|
+
|
|
130
|
+
Open the Airflow UI. You should see a login option for your SSO provider.
|
|
131
|
+
|
|
132
|
+
Provider Examples
|
|
133
|
+
-----------------
|
|
134
|
+
|
|
135
|
+
**Okta**
|
|
136
|
+
|
|
137
|
+
.. code-block:: bash
|
|
138
|
+
|
|
139
|
+
export AIRFLOW__FAB__OAUTH_PROVIDERS='[{
|
|
140
|
+
"name": "okta",
|
|
141
|
+
"icon": "fa-circle",
|
|
142
|
+
"token_key": "access_token",
|
|
143
|
+
"remote_app": {
|
|
144
|
+
"client_id": "your-client-id",
|
|
145
|
+
"client_secret": "your-client-secret",
|
|
146
|
+
"api_base_url": "https://your-org.okta.com/oauth2/default",
|
|
147
|
+
"request_token_url": null,
|
|
148
|
+
"access_token_url": "https://your-org.okta.com/oauth2/default/v1/token",
|
|
149
|
+
"authorize_url": "https://your-org.okta.com/oauth2/default/v1/authorize"
|
|
150
|
+
}
|
|
151
|
+
}]'
|
|
152
|
+
|
|
153
|
+
.. seealso::
|
|
154
|
+
For detailed Okta setup instructions, see the `Okta OAuth2 documentation <https://developer.okta.com/docs/guides/implement-oauth/>`_.
|
|
155
|
+
|
|
156
|
+
**Azure Entra ID (Azure AD)**
|
|
157
|
+
|
|
158
|
+
.. code-block:: bash
|
|
159
|
+
|
|
160
|
+
export AIRFLOW__FAB__OAUTH_PROVIDERS='[{
|
|
161
|
+
"name": "azure",
|
|
162
|
+
"icon": "fa-circle",
|
|
163
|
+
"token_key": "access_token",
|
|
164
|
+
"remote_app": {
|
|
165
|
+
"client_id": "your-client-id",
|
|
166
|
+
"client_secret": "your-client-secret",
|
|
167
|
+
"api_base_url": "https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/",
|
|
168
|
+
"request_token_url": null,
|
|
169
|
+
"access_token_url": "https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token",
|
|
170
|
+
"authorize_url": "https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize",
|
|
171
|
+
"client_kwargs": {
|
|
172
|
+
"scope": "openid email profile"
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}]'
|
|
176
|
+
|
|
177
|
+
.. seealso::
|
|
178
|
+
For Azure app registration and OAuth setup, see :doc:`apache-airflow-providers-microsoft-azure:connections/azure`
|
|
179
|
+
and the `Azure OAuth2 documentation <https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow>`_.
|
|
180
|
+
|
|
181
|
+
**Google OAuth2**
|
|
182
|
+
|
|
183
|
+
.. code-block:: bash
|
|
184
|
+
|
|
185
|
+
export AIRFLOW__FAB__OAUTH_PROVIDERS='[{
|
|
186
|
+
"name": "google",
|
|
187
|
+
"icon": "fa-google",
|
|
188
|
+
"token_key": "access_token",
|
|
189
|
+
"remote_app": {
|
|
190
|
+
"client_id": "your-client-id.googleusercontent.com",
|
|
191
|
+
"client_secret": "your-client-secret",
|
|
192
|
+
"api_base_url": "https://www.googleapis.com/oauth2/v2/",
|
|
193
|
+
"request_token_url": null,
|
|
194
|
+
"access_token_url": "https://oauth2.googleapis.com/token",
|
|
195
|
+
"authorize_url": "https://accounts.google.com/o/oauth2/auth",
|
|
196
|
+
"client_kwargs": {
|
|
197
|
+
"scope": "openid email profile"
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}]'
|
|
201
|
+
|
|
202
|
+
.. seealso::
|
|
203
|
+
For Google OAuth setup and credential configuration, see :doc:`apache-airflow-providers-google:connections/gcp`
|
|
204
|
+
and :doc:`apache-airflow-providers-google:api-auth-backend/google-openid`.
|
|
205
|
+
|
|
206
|
+
Troubleshooting
|
|
207
|
+
---------------
|
|
208
|
+
|
|
209
|
+
**Common Issues**
|
|
210
|
+
|
|
211
|
+
- **Authentication fails after configuration**:
|
|
212
|
+
|
|
213
|
+
- Check Airflow and webserver logs for detailed error messages
|
|
214
|
+
- Ensure all environment variables are set and exported correctly
|
|
215
|
+
- Verify callback URLs in your SSO provider match your Airflow webserver URL (typically ``http://your-airflow-domain/oauth-authorized``)
|
|
216
|
+
|
|
217
|
+
- **Redirect URI mismatch**:
|
|
218
|
+
|
|
219
|
+
- In your OAuth provider, set the redirect URI to: ``http://your-airflow-domain/oauth-authorized``
|
|
220
|
+
- For development, this might be: ``http://localhost:8080/oauth-authorized``
|
|
221
|
+
|
|
222
|
+
- **Scope-related errors**:
|
|
223
|
+
|
|
224
|
+
- Confirm that scopes (``openid email profile`` or similar) are allowed in your OAuth provider
|
|
225
|
+
- Some providers require specific scopes to be explicitly configured
|
|
226
|
+
|
|
227
|
+
- **Token validation errors**:
|
|
228
|
+
|
|
229
|
+
- Ensure your OAuth provider's clock is synchronized
|
|
230
|
+
- Check if your client secret matches exactly (no extra spaces/characters)
|
|
231
|
+
|
|
232
|
+
- **User creation issues**:
|
|
233
|
+
|
|
234
|
+
- FAB Auth Manager creates users automatically on first login
|
|
235
|
+
- Check if your OAuth provider returns the expected user information fields
|
|
236
|
+
|
|
237
|
+
References
|
|
238
|
+
----------
|
|
239
|
+
- `Airflow Authentication <https://airflow.apache.org/docs/apache-airflow/stable/security/authentication.html>`_
|
|
240
|
+
- `FAB Auth Manager Provider Docs <https://airflow.apache.org/docs/apache-airflow-providers-fab/stable/auth_manager.html>`_
|
|
241
|
+
- `Flask AppBuilder Security <https://flask-appbuilder.readthedocs.io/en/latest/security.html>`_
|
|
242
|
+
- `Okta OAuth2 Docs <https://developer.okta.com/docs/guides/implement-oauth/>`_
|
|
243
|
+
- `Azure OAuth2 Docs <https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow>`_
|
|
244
|
+
|
|
245
|
+
.. note::
|
|
246
|
+
This example uses the **Flask AppBuilder Auth Manager**.
|
|
247
|
+
If you use a different authentication manager, configuration may differ.
|
{apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/changelog.rst
RENAMED
|
@@ -20,6 +20,29 @@
|
|
|
20
20
|
Changelog
|
|
21
21
|
---------
|
|
22
22
|
|
|
23
|
+
2.4.4
|
|
24
|
+
.....
|
|
25
|
+
|
|
26
|
+
Bug Fixes
|
|
27
|
+
~~~~~~~~~
|
|
28
|
+
|
|
29
|
+
* ``Override 'get_authorized_connections', 'get_authorized_pools' and 'get_authorized_variables' in Fab auth manager (#55682)``
|
|
30
|
+
|
|
31
|
+
Misc
|
|
32
|
+
~~~~
|
|
33
|
+
|
|
34
|
+
* ``Bump eslint from 9.35.0 to 9.36.0 in /providers/fab/src/airflow/providers/fab/www in the fab-ui-package-updates group across 1 directory (#55895)``
|
|
35
|
+
* ``Move DagBag to airflow/dag_processing (#55139)``
|
|
36
|
+
|
|
37
|
+
Doc-only
|
|
38
|
+
~~~~~~~~
|
|
39
|
+
|
|
40
|
+
* ``Add SSO integration guide for Apache Airflow (#55281)``
|
|
41
|
+
* ``Remove useless Airflow version compatibility checks (#55852)``
|
|
42
|
+
|
|
43
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
44
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
45
|
+
|
|
23
46
|
2.4.3
|
|
24
47
|
.....
|
|
25
48
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
.. Licensed to the Apache Software Foundation (ASF) under one
|
|
2
|
+
or more contributor license agreements. See the NOTICE file
|
|
3
|
+
distributed with this work for additional information
|
|
4
|
+
regarding copyright ownership. The ASF licenses this file
|
|
5
|
+
to you under the Apache License, Version 2.0 (the
|
|
6
|
+
"License"); you may not use this file except in compliance
|
|
7
|
+
with the License. You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
.. http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
.. Unless required by applicable law or agreed to in writing,
|
|
12
|
+
software distributed under the License is distributed on an
|
|
13
|
+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
+
KIND, either express or implied. See the License for the
|
|
15
|
+
specific language governing permissions and limitations
|
|
16
|
+
under the License.
|
|
17
|
+
|
|
18
|
+
FAB CLI Commands
|
|
19
|
+
================
|
|
20
|
+
|
|
21
|
+
.. argparse::
|
|
22
|
+
:module: airflow.providers.fab.auth_manager.fab_auth_manager
|
|
23
|
+
:func: get_parser
|
|
24
|
+
:prog: airflow
|
{apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/docs/index.rst
RENAMED
|
@@ -84,7 +84,7 @@ apache-airflow-providers-fab package
|
|
|
84
84
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
|
85
85
|
|
|
86
86
|
|
|
87
|
-
Release: 2.4.
|
|
87
|
+
Release: 2.4.4
|
|
88
88
|
|
|
89
89
|
Provider package
|
|
90
90
|
----------------
|
|
@@ -147,5 +147,5 @@ Downloading official packages
|
|
|
147
147
|
You can download officially released packages and verify their checksums and signatures from the
|
|
148
148
|
`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
|
|
149
149
|
|
|
150
|
-
* `The apache-airflow-providers-fab 2.4.
|
|
151
|
-
* `The apache-airflow-providers-fab 2.4.
|
|
150
|
+
* `The apache-airflow-providers-fab 2.4.4 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.4.4.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.4.4.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.4.4.tar.gz.sha512>`__)
|
|
151
|
+
* `The apache-airflow-providers-fab 2.4.4 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.4.4-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.4.4-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.4.4-py3-none-any.whl.sha512>`__)
|
{apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/provider.yaml
RENAMED
|
@@ -28,13 +28,14 @@ description: |
|
|
|
28
28
|
# For providers until we think it should be released.
|
|
29
29
|
state: ready
|
|
30
30
|
|
|
31
|
-
source-date-epoch:
|
|
31
|
+
source-date-epoch: 1758734932
|
|
32
32
|
|
|
33
33
|
# Note that those versions are maintained by release manager - do not update them manually
|
|
34
34
|
# with the exception of case where other provider in sources has >= new provider version.
|
|
35
35
|
# In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
|
|
36
36
|
# to be done in the same PR
|
|
37
37
|
versions:
|
|
38
|
+
- 2.4.4
|
|
38
39
|
- 2.4.3
|
|
39
40
|
- 2.4.2
|
|
40
41
|
- 2.4.1
|
{apache_airflow_providers_fab-2.4.3rc1 → apache_airflow_providers_fab-2.4.4rc1}/pyproject.toml
RENAMED
|
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
|
|
|
25
25
|
|
|
26
26
|
[project]
|
|
27
27
|
name = "apache-airflow-providers-fab"
|
|
28
|
-
version = "2.4.
|
|
28
|
+
version = "2.4.4rc1"
|
|
29
29
|
description = "Provider package apache-airflow-providers-fab for Apache Airflow"
|
|
30
30
|
readme = "README.rst"
|
|
31
31
|
authors = [
|
|
@@ -130,8 +130,8 @@ apache-airflow-providers-common-sql = {workspace = true}
|
|
|
130
130
|
apache-airflow-providers-standard = {workspace = true}
|
|
131
131
|
|
|
132
132
|
[project.urls]
|
|
133
|
-
"Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-fab/2.4.
|
|
134
|
-
"Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-fab/2.4.
|
|
133
|
+
"Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-fab/2.4.4"
|
|
134
|
+
"Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-fab/2.4.4/changelog.html"
|
|
135
135
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
|
136
136
|
"Source Code" = "https://github.com/apache/airflow"
|
|
137
137
|
"Slack Chat" = "https://s.apache.org/airflow-slack"
|
|
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
|
|
|
29
29
|
|
|
30
30
|
__all__ = ["__version__"]
|
|
31
31
|
|
|
32
|
-
__version__ = "2.4.
|
|
32
|
+
__version__ = "2.4.4"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
35
|
"3.0.2"
|
|
@@ -57,7 +57,7 @@ from airflow.cli.cli_config import (
|
|
|
57
57
|
)
|
|
58
58
|
from airflow.configuration import conf
|
|
59
59
|
from airflow.exceptions import AirflowConfigException, AirflowException
|
|
60
|
-
from airflow.models import DagModel
|
|
60
|
+
from airflow.models import Connection, DagModel, Pool, Variable
|
|
61
61
|
from airflow.providers.fab.auth_manager.cli_commands.definition import (
|
|
62
62
|
DB_COMMANDS,
|
|
63
63
|
PERMISSIONS_CLEANUP_COMMAND,
|
|
@@ -437,6 +437,26 @@ class FabAuthManager(BaseAuthManager[User]):
|
|
|
437
437
|
)
|
|
438
438
|
]
|
|
439
439
|
|
|
440
|
+
@provide_session
|
|
441
|
+
def get_authorized_connections(
|
|
442
|
+
self,
|
|
443
|
+
*,
|
|
444
|
+
user: User,
|
|
445
|
+
method: ResourceMethod = "GET",
|
|
446
|
+
session: Session = NEW_SESSION,
|
|
447
|
+
) -> set[str]:
|
|
448
|
+
"""
|
|
449
|
+
Get connection ids (``conn_id``) the user has access to.
|
|
450
|
+
|
|
451
|
+
Fab auth manager does not allow fine-grained access with connections. Thus, return all the connection ids.
|
|
452
|
+
|
|
453
|
+
:param user: the user
|
|
454
|
+
:param method: the method to filter on
|
|
455
|
+
:param session: the session
|
|
456
|
+
"""
|
|
457
|
+
rows = session.execute(select(Connection.conn_id)).scalars().all()
|
|
458
|
+
return set(rows)
|
|
459
|
+
|
|
440
460
|
@provide_session
|
|
441
461
|
def get_authorized_dag_ids(
|
|
442
462
|
self,
|
|
@@ -477,6 +497,46 @@ class FabAuthManager(BaseAuthManager[User]):
|
|
|
477
497
|
resources.add(resource[len(permissions.RESOURCE_DAG_PREFIX) :])
|
|
478
498
|
return set(session.scalars(select(DagModel.dag_id).where(DagModel.dag_id.in_(resources))))
|
|
479
499
|
|
|
500
|
+
@provide_session
|
|
501
|
+
def get_authorized_pools(
|
|
502
|
+
self,
|
|
503
|
+
*,
|
|
504
|
+
user: User,
|
|
505
|
+
method: ResourceMethod = "GET",
|
|
506
|
+
session: Session = NEW_SESSION,
|
|
507
|
+
) -> set[str]:
|
|
508
|
+
"""
|
|
509
|
+
Get pools the user has access to.
|
|
510
|
+
|
|
511
|
+
Fab auth manager does not allow fine-grained access with pools. Thus, return all the pool names.
|
|
512
|
+
|
|
513
|
+
:param user: the user
|
|
514
|
+
:param method: the method to filter on
|
|
515
|
+
:param session: the session
|
|
516
|
+
"""
|
|
517
|
+
rows = session.execute(select(Pool.pool)).scalars().all()
|
|
518
|
+
return set(rows)
|
|
519
|
+
|
|
520
|
+
@provide_session
|
|
521
|
+
def get_authorized_variables(
|
|
522
|
+
self,
|
|
523
|
+
*,
|
|
524
|
+
user: User,
|
|
525
|
+
method: ResourceMethod = "GET",
|
|
526
|
+
session: Session = NEW_SESSION,
|
|
527
|
+
) -> set[str]:
|
|
528
|
+
"""
|
|
529
|
+
Get variable keys the user has access to.
|
|
530
|
+
|
|
531
|
+
Fab auth manager does not allow fine-grained access with variables. Thus, return all the variable keys.
|
|
532
|
+
|
|
533
|
+
:param user: the user
|
|
534
|
+
:param method: the method to filter on
|
|
535
|
+
:param session: the session
|
|
536
|
+
"""
|
|
537
|
+
rows = session.execute(select(Variable.key)).scalars().all()
|
|
538
|
+
return set(rows)
|
|
539
|
+
|
|
480
540
|
@cached_property
|
|
481
541
|
def security_manager(self) -> FabAirflowSecurityManagerOverride:
|
|
482
542
|
"""Return the security manager specific to FAB."""
|
|
@@ -127,7 +127,7 @@ if AIRFLOW_V_3_1_PLUS:
|
|
|
127
127
|
with create_session() as session:
|
|
128
128
|
yield from DBDagBag().iter_all_latest_version_dags(session=session)
|
|
129
129
|
else:
|
|
130
|
-
from airflow.models.dagbag import DagBag
|
|
130
|
+
from airflow.models.dagbag import DagBag # type: ignore[attr-defined, no-redef]
|
|
131
131
|
|
|
132
132
|
def _iter_dags() -> Iterable[DAG | SerializedDAG]:
|
|
133
133
|
dagbag = DagBag(read_dags_from_db=True) # type: ignore[call-arg]
|
|
@@ -21,7 +21,12 @@ from typing import TYPE_CHECKING, Any
|
|
|
21
21
|
from flask import Flask
|
|
22
22
|
|
|
23
23
|
if TYPE_CHECKING:
|
|
24
|
-
from airflow.
|
|
24
|
+
from airflow.providers.fab.version_compat import AIRFLOW_V_3_1_PLUS
|
|
25
|
+
|
|
26
|
+
if AIRFLOW_V_3_1_PLUS:
|
|
27
|
+
from airflow.models.dagbag import DBDagBag as DagBag
|
|
28
|
+
else:
|
|
29
|
+
from airflow.models.dagbag import DagBag # type: ignore[no-redef]
|
|
25
30
|
|
|
26
31
|
|
|
27
32
|
class AirflowApp(Flask):
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"copy-webpack-plugin": "^13.0.1",
|
|
23
23
|
"css-loader": "7.1.2",
|
|
24
24
|
"css-minimizer-webpack-plugin": "^7.0.2",
|
|
25
|
-
"eslint": "^9.
|
|
25
|
+
"eslint": "^9.36.0",
|
|
26
26
|
"eslint-config-prettier": "^10.1.8",
|
|
27
27
|
"eslint-plugin-html": "^8.1.3",
|
|
28
28
|
"eslint-plugin-import": "^2.32.0",
|
|
@@ -1807,9 +1807,9 @@
|
|
|
1807
1807
|
}
|
|
1808
1808
|
},
|
|
1809
1809
|
"node_modules/@eslint/js": {
|
|
1810
|
-
"version": "9.
|
|
1811
|
-
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.
|
|
1812
|
-
"integrity": "sha512-
|
|
1810
|
+
"version": "9.36.0",
|
|
1811
|
+
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz",
|
|
1812
|
+
"integrity": "sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==",
|
|
1813
1813
|
"dev": true,
|
|
1814
1814
|
"license": "MIT",
|
|
1815
1815
|
"engines": {
|
|
@@ -3998,9 +3998,9 @@
|
|
|
3998
3998
|
}
|
|
3999
3999
|
},
|
|
4000
4000
|
"node_modules/eslint": {
|
|
4001
|
-
"version": "9.
|
|
4002
|
-
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.
|
|
4003
|
-
"integrity": "sha512-
|
|
4001
|
+
"version": "9.36.0",
|
|
4002
|
+
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.36.0.tgz",
|
|
4003
|
+
"integrity": "sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==",
|
|
4004
4004
|
"dev": true,
|
|
4005
4005
|
"license": "MIT",
|
|
4006
4006
|
"dependencies": {
|
|
@@ -4010,7 +4010,7 @@
|
|
|
4010
4010
|
"@eslint/config-helpers": "^0.3.1",
|
|
4011
4011
|
"@eslint/core": "^0.15.2",
|
|
4012
4012
|
"@eslint/eslintrc": "^3.3.1",
|
|
4013
|
-
"@eslint/js": "9.
|
|
4013
|
+
"@eslint/js": "9.36.0",
|
|
4014
4014
|
"@eslint/plugin-kit": "^0.3.5",
|
|
4015
4015
|
"@humanfs/node": "^0.16.6",
|
|
4016
4016
|
"@humanwhocodes/module-importer": "^1.0.1",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"copy-webpack-plugin": "^13.0.1",
|
|
49
49
|
"css-loader": "7.1.2",
|
|
50
50
|
"css-minimizer-webpack-plugin": "^7.0.2",
|
|
51
|
-
"eslint": "^9.
|
|
51
|
+
"eslint": "^9.36.0",
|
|
52
52
|
"eslint-config-prettier": "^10.1.8",
|
|
53
53
|
"eslint-plugin-html": "^8.1.3",
|
|
54
54
|
"eslint-plugin-import": "^2.32.0",
|