apache-airflow-providers-fab 2.0.2rc1__tar.gz → 2.0.2rc2__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.
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/PKG-INFO +3 -3
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/changelog.rst +4 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/commits.rst +8 -4
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/pyproject.toml +3 -3
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/fab_auth_manager.py +2 -32
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/security_manager/override.py +5 -17
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/package-lock.json +13 -12
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/package.json +2 -2
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/security/permissions.py +0 -13
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/views.py +1 -1
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/3rd-party-licenses/LICENSES-ui.txt +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/NOTICE +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/README.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/api-ref/fab-public-api-ref.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/api-ref/fab-token-api-ref.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/auth-manager/access-control.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/auth-manager/api-authentication.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/auth-manager/configuring-flask-app.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/auth-manager/index.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/auth-manager/security.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/auth-manager/token.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/auth-manager/webserver-authentication.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/cli-ref.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/conf.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/configurations-ref.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/img/add-role.png +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/img/diagram_fab_auth_manager_airflow_architecture.md5sum +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/img/diagram_fab_auth_manager_airflow_architecture.png +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/img/diagram_fab_auth_manager_airflow_architecture.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/img/new-role.png +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/index.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/migrations-ref.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/security.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/upgrading.rst +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/provider.yaml +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/3rd-party-licenses/LICENSES-ui.txt +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/LICENSE +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/alembic.ini +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api/auth/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api/auth/backend/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api/auth/backend/session.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api_endpoints/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api_fastapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api_fastapi/datamodels/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api_fastapi/datamodels/login.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api_fastapi/openapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api_fastapi/openapi/v1-fab-auth-manager-generated.yaml +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api_fastapi/routes/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api_fastapi/routes/login.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api_fastapi/services/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/api_fastapi/services/login.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/cli_commands/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/cli_commands/db_command.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/cli_commands/definition.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/cli_commands/role_command.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/cli_commands/user_command.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/cli_commands/utils.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/models/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/models/anonymous_user.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/models/db.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/openapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/openapi/v1-flask-api.yaml +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/schemas/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/schemas/role_and_permission_schema.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/schemas/user_schema.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/security_manager/constants.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/views/permissions.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/views/roles_list.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/views/user.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/views/user_edit.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/auth_manager/views/user_stats.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/get_provider_info.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/migrations/README +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/migrations/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/migrations/env.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/migrations/script.py.mako +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/migrations/versions/0001_1_4_0_placeholder_migration.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/migrations/versions/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/airflow_flask_app.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/api_connexion/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/api_connexion/exceptions.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/api_connexion/parameters.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/api_connexion/security.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/api_connexion/types.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/app.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/auth.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/constants.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/extensions/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/extensions/init_appbuilder.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/extensions/init_jinja_globals.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/extensions/init_manifest_files.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/extensions/init_security.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/extensions/init_session.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/extensions/init_views.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/security/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/security_appless.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/security_manager.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/session.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/css/bootstrap-theme.css +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/css/flash.css +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/css/loading-dots.css +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/css/main.css +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/css/material-icons.css +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/48f0ea180c40270a5b05.png +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/649c0b07771e68fafdeb.png +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.css +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.js +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/f7490d556a6c42e49ba4.png +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.css +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.js +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.css +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.css +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.js +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.css +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.js +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.js.LICENSE.txt +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/manifest.json +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.css +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.js +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/moment.624b1f00ba723d39ce06.js +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/moment.624b1f00ba723d39ce06.js.LICENSE.txt +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/dist/oss-licenses.json +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/js/datetime_utils.js +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/js/main.js +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/sort_asc.png +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/sort_both.png +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/static/sort_desc.png +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/templates/airflow/_messages.html +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/templates/airflow/error.html +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/templates/airflow/main.html +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/templates/airflow/traceback.html +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/templates/appbuilder/flash.html +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/templates/appbuilder/index.html +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/templates/appbuilder/navbar.html +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/templates/appbuilder/navbar_menu.html +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/templates/appbuilder/navbar_right.html +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/utils.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/src/airflow/providers/fab/www/webpack.config.js +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/conftest.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api/auth/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api/auth/backend/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api/auth/backend/test_basic_auth.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api/auth/backend/test_kerberos_auth.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api/auth/backend/test_session.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api_endpoints/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api_endpoints/api_connexion_utils.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api_endpoints/remote_user_api_auth_backend.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api_endpoints/test_auth.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api_endpoints/test_role_and_permission_endpoint.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api_endpoints/test_user_endpoint.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api_fastapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api_fastapi/conftest.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api_fastapi/routes/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api_fastapi/routes/test_login.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api_fastapi/services/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/api_fastapi/services/test_login.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/cli_commands/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/cli_commands/test_db_command.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/cli_commands/test_definition.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/cli_commands/test_role_command.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/cli_commands/test_sync_perm_command.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/cli_commands/test_user_command.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/cli_commands/test_utils.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/conftest.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/models/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/models/test_anonymous_user.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/models/test_db.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/schemas/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/schemas/test_role_and_permission_schema.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/schemas/test_user_schema.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/security_manager/test_constants.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/security_manager/test_override.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/test_fab_auth_manager.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/test_models.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/test_security.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/views/test_permissions.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/views/test_roles_list.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/views/test_user.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/views/test_user_edit.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/auth_manager/views/test_user_stats.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/decorators.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/utils.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/www/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/www/test_auth.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/www/test_utils.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/www/views/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/www/views/conftest.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/tests/unit/fab/www/views/test_connection_form_fields.py +0 -0
- {apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/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.0.
|
3
|
+
Version: 2.0.2rc2
|
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>
|
@@ -22,8 +22,8 @@ Classifier: Programming Language :: Python :: 3.12
|
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
23
23
|
License-File: 3rd-party-licenses/LICENSES-ui.txt
|
24
24
|
License-File: NOTICE
|
25
|
-
Requires-Dist: apache-airflow>=3.0.
|
26
|
-
Requires-Dist: apache-airflow-providers-common-compat>=1.2.
|
25
|
+
Requires-Dist: apache-airflow>=3.0.0rc1
|
26
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.2.1rc1
|
27
27
|
Requires-Dist: blinker>=1.6.2
|
28
28
|
Requires-Dist: flask>=2.2.1,<2.3
|
29
29
|
Requires-Dist: flask-appbuilder==4.5.3
|
{apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/changelog.rst
RENAMED
@@ -27,6 +27,7 @@ Bug Fixes
|
|
27
27
|
~~~~~~~~~
|
28
28
|
|
29
29
|
* ``Add read config permission to viewer role in 'FabAuthManager' (#49581)``
|
30
|
+
* ``Fix infinite redirect in FAB AuthManager caused by mistakenly setting token cookie as secure (#49724)``
|
30
31
|
|
31
32
|
Misc
|
32
33
|
~~~~
|
@@ -34,6 +35,7 @@ Misc
|
|
34
35
|
* ``Remove some lingering subdag references (#49663)``
|
35
36
|
* ``Bump stylelint (#49638)``
|
36
37
|
* ``Bump the fab-ui-package-updates group across 1 directory with 2 updates (#49511)``
|
38
|
+
* ``Remove old dynamic attr accessing re dag resource in FAB provider (#49669)``
|
37
39
|
|
38
40
|
Doc-only
|
39
41
|
~~~~~~~~
|
@@ -44,6 +46,8 @@ Doc-only
|
|
44
46
|
.. Below changes are excluded from the changelog. Move them to
|
45
47
|
appropriate section above if needed. Do not delete the lines(!):
|
46
48
|
* ``capitalize the term airflow (#49450)``
|
49
|
+
* ``Bump the fab-ui-package-updates group across 1 directory with 2 updates (#49792)``
|
50
|
+
* ``Prepare docs for Apr ad hoc release of fab and common.compat providers (#49690)``
|
47
51
|
|
48
52
|
2.0.1
|
49
53
|
.....
|
{apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/commits.rst
RENAMED
@@ -37,11 +37,15 @@ For high-level changelog, see :doc:`package information including changelog <ind
|
|
37
37
|
2.0.2
|
38
38
|
.....
|
39
39
|
|
40
|
-
Latest change: 2025-04-
|
40
|
+
Latest change: 2025-04-25
|
41
41
|
|
42
|
-
================================================================================================== ===========
|
42
|
+
================================================================================================== =========== =========================================================================================================
|
43
43
|
Commit Committed Subject
|
44
|
-
================================================================================================== ===========
|
44
|
+
================================================================================================== =========== =========================================================================================================
|
45
|
+
`36c8975522 <https://github.com/apache/airflow/commit/36c8975522a9241605ff34d0d78daa26f02a360b>`__ 2025-04-25 ``Bump the fab-ui-package-updates group across 1 directory with 2 updates (#49792)``
|
46
|
+
`e3c221d135 <https://github.com/apache/airflow/commit/e3c221d13577b1fbd3d6c54267d50ee11a4ab62e>`__ 2025-04-24 ``Remove old dynamic attr accessing re dag resource in FAB provider (#49669)``
|
47
|
+
`8ad08fa075 <https://github.com/apache/airflow/commit/8ad08fa075ee23f891339fa237a093ea5e52f49c>`__ 2025-04-24 ``Fix infinite redirect in FAB AuthManager caused by mistakenly setting token cookie as secure (#49724)``
|
48
|
+
`c14b3c7407 <https://github.com/apache/airflow/commit/c14b3c74078e523a1623ab461213ec07a3bfac62>`__ 2025-04-24 ``Prepare docs for Apr ad hoc release of fab and common.compat providers (#49690)``
|
45
49
|
`b01e534195 <https://github.com/apache/airflow/commit/b01e534195fff5dea03d000051e6469b83852f6c>`__ 2025-04-23 ``Remove some lingering subdag references (#49663)``
|
46
50
|
`d2755fc52e <https://github.com/apache/airflow/commit/d2755fc52e13db4816fa69409c16ac777b5f7c9f>`__ 2025-04-23 ``Bump stylelint (#49638)``
|
47
51
|
`998f70036b <https://github.com/apache/airflow/commit/998f70036b919a434edd086c0233991c5ff1c736>`__ 2025-04-23 ``Add read config permission to viewer role in 'FabAuthManager' (#49581)``
|
@@ -49,7 +53,7 @@ Commit
|
|
49
53
|
`5595ded129 <https://github.com/apache/airflow/commit/5595ded129e00553df0af735e2513f996b1b524d>`__ 2025-04-22 ``Bump the fab-ui-package-updates group across 1 directory with 2 updates (#49511)``
|
50
54
|
`223a741869 <https://github.com/apache/airflow/commit/223a741869505ad31c38310f307bf2f0f0f193fb>`__ 2025-04-19 ``capitalize the term airflow (#49450)``
|
51
55
|
`f65eeb05f4 <https://github.com/apache/airflow/commit/f65eeb05f48d9ad67cdbbeb81a5db085c519aaba>`__ 2025-04-18 ``Add note in FAB migration doc (#49423)``
|
52
|
-
================================================================================================== ===========
|
56
|
+
================================================================================================== =========== =========================================================================================================
|
53
57
|
|
54
58
|
2.0.1
|
55
59
|
.....
|
{apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/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.0.
|
28
|
+
version = "2.0.2rc2"
|
29
29
|
description = "Provider package apache-airflow-providers-fab for Apache Airflow"
|
30
30
|
readme = "README.rst"
|
31
31
|
authors = [
|
@@ -57,8 +57,8 @@ license-files = ["NOTICE", "*/LICENSE*"]
|
|
57
57
|
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
|
58
58
|
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
|
59
59
|
dependencies = [
|
60
|
-
"apache-airflow>=3.0.
|
61
|
-
"apache-airflow-providers-common-compat>=1.2.
|
60
|
+
"apache-airflow>=3.0.0rc1",
|
61
|
+
"apache-airflow-providers-common-compat>=1.2.1rc1",
|
62
62
|
# Blinker use for signals in Flask, this is an optional dependency in Flask 2.2 and lower.
|
63
63
|
# In Flask 2.3 it becomes a mandatory dependency, and flask signals are always available.
|
64
64
|
"blinker>=1.6.2",
|
@@ -566,7 +566,7 @@ class FabAuthManager(BaseAuthManager[User]):
|
|
566
566
|
|
567
567
|
if details and details.id:
|
568
568
|
# Check whether the user has permissions to access a specific DAG
|
569
|
-
resource_dag_name =
|
569
|
+
resource_dag_name = permissions.resource_name(details.id, RESOURCE_DAG)
|
570
570
|
return self._is_authorized(method=method, resource_type=resource_dag_name, user=user)
|
571
571
|
|
572
572
|
return False
|
@@ -592,7 +592,7 @@ class FabAuthManager(BaseAuthManager[User]):
|
|
592
592
|
|
593
593
|
if details and details.id:
|
594
594
|
# Check whether the user has permissions to access a specific DAG Run permission on a DAG Level
|
595
|
-
resource_dag_name =
|
595
|
+
resource_dag_name = permissions.resource_name(details.id, RESOURCE_DAG_RUN)
|
596
596
|
return self._is_authorized(method=method, resource_type=resource_dag_name, user=user)
|
597
597
|
|
598
598
|
return False
|
@@ -624,19 +624,6 @@ class FabAuthManager(BaseAuthManager[User]):
|
|
624
624
|
raise AirflowException(f"Unknown DAG access entity: {dag_access_entity}")
|
625
625
|
return _MAP_DAG_ACCESS_ENTITY_TO_FAB_RESOURCE_TYPE[dag_access_entity]
|
626
626
|
|
627
|
-
def _resource_name(self, dag_id: str, resource_type: str) -> str:
|
628
|
-
"""
|
629
|
-
Return the FAB resource name for a DAG id.
|
630
|
-
|
631
|
-
:param dag_id: the DAG id
|
632
|
-
|
633
|
-
:meta private:
|
634
|
-
"""
|
635
|
-
root_dag_id = self._get_root_dag_id(dag_id)
|
636
|
-
if hasattr(permissions, "resource_name"):
|
637
|
-
return getattr(permissions, "resource_name")(root_dag_id, resource_type)
|
638
|
-
return getattr(permissions, "resource_name_for_dag")(root_dag_id)
|
639
|
-
|
640
627
|
@staticmethod
|
641
628
|
def _get_user_permissions(user: User):
|
642
629
|
"""
|
@@ -651,23 +638,6 @@ class FabAuthManager(BaseAuthManager[User]):
|
|
651
638
|
return []
|
652
639
|
return getattr(user, "perms") or []
|
653
640
|
|
654
|
-
def _get_root_dag_id(self, dag_id: str) -> str:
|
655
|
-
"""
|
656
|
-
Return the root DAG id in case of sub DAG, return the DAG id otherwise.
|
657
|
-
|
658
|
-
:param dag_id: the DAG id
|
659
|
-
|
660
|
-
:meta private:
|
661
|
-
"""
|
662
|
-
if not self.appbuilder:
|
663
|
-
raise AirflowException("AppBuilder is not initialized.")
|
664
|
-
|
665
|
-
if "." in dag_id and hasattr(DagModel, "root_dag_id"):
|
666
|
-
return self.appbuilder.get_session.scalar(
|
667
|
-
select(DagModel.dag_id, DagModel.root_dag_id).where(DagModel.dag_id == dag_id).limit(1)
|
668
|
-
)
|
669
|
-
return dag_id
|
670
|
-
|
671
641
|
def _sync_appbuilder_roles(self):
|
672
642
|
"""
|
673
643
|
Sync appbuilder roles to DB.
|
@@ -921,15 +921,14 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
921
921
|
dags = dagbag.dags.values()
|
922
922
|
|
923
923
|
for dag in dags:
|
924
|
-
root_dag_id = dag.dag_id
|
925
924
|
for resource_name, resource_values in self.RESOURCE_DETAILS_MAP.items():
|
926
|
-
dag_resource_name =
|
925
|
+
dag_resource_name = permissions.resource_name(dag.dag_id, resource_name)
|
927
926
|
for action_name in resource_values["actions"]:
|
928
927
|
if (action_name, dag_resource_name) not in perms:
|
929
928
|
self._merge_perm(action_name, dag_resource_name)
|
930
929
|
|
931
930
|
if dag.access_control is not None:
|
932
|
-
self.sync_perm_for_dag(
|
931
|
+
self.sync_perm_for_dag(dag.dag_id, dag.access_control)
|
933
932
|
|
934
933
|
def sync_perm_for_dag(
|
935
934
|
self,
|
@@ -949,7 +948,7 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
949
948
|
:return:
|
950
949
|
"""
|
951
950
|
for resource_name, resource_values in self.RESOURCE_DETAILS_MAP.items():
|
952
|
-
dag_resource_name =
|
951
|
+
dag_resource_name = permissions.resource_name(dag_id, resource_name)
|
953
952
|
for dag_action_name in resource_values["actions"]:
|
954
953
|
self.create_permission(dag_action_name, dag_resource_name)
|
955
954
|
|
@@ -962,17 +961,6 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
962
961
|
dag_id,
|
963
962
|
)
|
964
963
|
|
965
|
-
def _resource_name(self, dag_id: str, resource_name: str) -> str:
|
966
|
-
"""
|
967
|
-
Get the resource name from permissions.
|
968
|
-
|
969
|
-
This method is to keep compatibility with new FAB versions
|
970
|
-
running with old airflow versions.
|
971
|
-
"""
|
972
|
-
if hasattr(permissions, "resource_name"):
|
973
|
-
return getattr(permissions, "resource_name")(dag_id, resource_name)
|
974
|
-
return getattr(permissions, "resource_name_for_dag")(dag_id)
|
975
|
-
|
976
964
|
def _sync_dag_view_permissions(
|
977
965
|
self,
|
978
966
|
dag_id: str,
|
@@ -1000,7 +988,7 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
1000
988
|
|
1001
989
|
# Revoking stale permissions for all possible DAG level resources
|
1002
990
|
for resource_name in self.RESOURCE_DETAILS_MAP.keys():
|
1003
|
-
dag_resource_name =
|
991
|
+
dag_resource_name = permissions.resource_name(dag_id, resource_name)
|
1004
992
|
if resource := self.get_resource(dag_resource_name):
|
1005
993
|
existing_dag_perms = self.get_resource_permissions(resource)
|
1006
994
|
for perm in existing_dag_perms:
|
@@ -1043,7 +1031,7 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
|
|
1043
1031
|
f"The set of valid resource names is: {self.RESOURCE_DETAILS_MAP.keys()}"
|
1044
1032
|
)
|
1045
1033
|
|
1046
|
-
dag_resource_name =
|
1034
|
+
dag_resource_name = permissions.resource_name(dag_id, resource_name)
|
1047
1035
|
self.log.debug("Syncing DAG-level permissions for DAG '%s'", dag_resource_name)
|
1048
1036
|
|
1049
1037
|
invalid_actions = set(actions) - self.RESOURCE_DETAILS_MAP[resource_name]["actions"]
|
@@ -33,10 +33,10 @@
|
|
33
33
|
"moment": "^2.29.4",
|
34
34
|
"moment-locales-webpack-plugin": "^1.2.0",
|
35
35
|
"prettier": "^3.5.3",
|
36
|
-
"stylelint": "^16.19.
|
36
|
+
"stylelint": "^16.19.1",
|
37
37
|
"terser-webpack-plugin": "<6.0.0",
|
38
38
|
"url-loader": "4.1.1",
|
39
|
-
"webpack": "^5.99.
|
39
|
+
"webpack": "^5.99.7",
|
40
40
|
"webpack-cli": "^6.0.1",
|
41
41
|
"webpack-license-plugin": "^4.2.1",
|
42
42
|
"webpack-manifest-plugin": "^5.0.1"
|
@@ -7445,9 +7445,9 @@
|
|
7445
7445
|
"dev": true
|
7446
7446
|
},
|
7447
7447
|
"node_modules/schema-utils": {
|
7448
|
-
"version": "4.3.
|
7449
|
-
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.
|
7450
|
-
"integrity": "sha512-
|
7448
|
+
"version": "4.3.2",
|
7449
|
+
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz",
|
7450
|
+
"integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==",
|
7451
7451
|
"dev": true,
|
7452
7452
|
"license": "MIT",
|
7453
7453
|
"dependencies": {
|
@@ -7882,9 +7882,9 @@
|
|
7882
7882
|
}
|
7883
7883
|
},
|
7884
7884
|
"node_modules/stylelint": {
|
7885
|
-
"version": "16.19.
|
7886
|
-
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.19.
|
7887
|
-
"integrity": "sha512-
|
7885
|
+
"version": "16.19.1",
|
7886
|
+
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.19.1.tgz",
|
7887
|
+
"integrity": "sha512-C1SlPZNMKl+d/C867ZdCRthrS+6KuZ3AoGW113RZCOL0M8xOGpgx7G70wq7lFvqvm4dcfdGFVLB/mNaLFChRKw==",
|
7888
7888
|
"dev": true,
|
7889
7889
|
"funding": [
|
7890
7890
|
{
|
@@ -8603,14 +8603,15 @@
|
|
8603
8603
|
}
|
8604
8604
|
},
|
8605
8605
|
"node_modules/webpack": {
|
8606
|
-
"version": "5.99.
|
8607
|
-
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.
|
8608
|
-
"integrity": "sha512-
|
8606
|
+
"version": "5.99.7",
|
8607
|
+
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.7.tgz",
|
8608
|
+
"integrity": "sha512-CNqKBRMQjwcmKR0idID5va1qlhrqVUKpovi+Ec79ksW8ux7iS1+A6VqzfZXgVYCFRKl7XL5ap3ZoMpwBJxcg0w==",
|
8609
8609
|
"dev": true,
|
8610
8610
|
"license": "MIT",
|
8611
8611
|
"dependencies": {
|
8612
8612
|
"@types/eslint-scope": "^3.7.7",
|
8613
8613
|
"@types/estree": "^1.0.6",
|
8614
|
+
"@types/json-schema": "^7.0.15",
|
8614
8615
|
"@webassemblyjs/ast": "^1.14.1",
|
8615
8616
|
"@webassemblyjs/wasm-edit": "^1.14.1",
|
8616
8617
|
"@webassemblyjs/wasm-parser": "^1.14.1",
|
@@ -8627,7 +8628,7 @@
|
|
8627
8628
|
"loader-runner": "^4.2.0",
|
8628
8629
|
"mime-types": "^2.1.27",
|
8629
8630
|
"neo-async": "^2.6.2",
|
8630
|
-
"schema-utils": "^4.3.
|
8631
|
+
"schema-utils": "^4.3.2",
|
8631
8632
|
"tapable": "^2.1.1",
|
8632
8633
|
"terser-webpack-plugin": "^5.3.11",
|
8633
8634
|
"watchpack": "^2.4.1",
|
@@ -59,10 +59,10 @@
|
|
59
59
|
"moment": "^2.29.4",
|
60
60
|
"moment-locales-webpack-plugin": "^1.2.0",
|
61
61
|
"prettier": "^3.5.3",
|
62
|
-
"stylelint": "^16.19.
|
62
|
+
"stylelint": "^16.19.1",
|
63
63
|
"terser-webpack-plugin": "<6.0.0",
|
64
64
|
"url-loader": "4.1.1",
|
65
|
-
"webpack": "^5.99.
|
65
|
+
"webpack": "^5.99.7",
|
66
66
|
"webpack-cli": "^6.0.1",
|
67
67
|
"webpack-license-plugin": "^4.2.1",
|
68
68
|
"webpack-manifest-plugin": "^5.0.1"
|
@@ -101,16 +101,3 @@ def resource_name(root_dag_id: str, resource: str) -> str:
|
|
101
101
|
if root_dag_id.startswith(tuple(PREFIX_RESOURCES_MAP.keys())):
|
102
102
|
return root_dag_id
|
103
103
|
return f"{RESOURCE_DETAILS_MAP[resource]['prefix']}{root_dag_id}"
|
104
|
-
|
105
|
-
|
106
|
-
def resource_name_for_dag(root_dag_id: str) -> str:
|
107
|
-
"""
|
108
|
-
Return the resource name for a DAG id.
|
109
|
-
|
110
|
-
Note: This function is kept for backwards compatibility.
|
111
|
-
"""
|
112
|
-
if root_dag_id == RESOURCE_DAG:
|
113
|
-
return root_dag_id
|
114
|
-
if root_dag_id.startswith(RESOURCE_DAG_PREFIX):
|
115
|
-
return root_dag_id
|
116
|
-
return f"{RESOURCE_DAG_PREFIX}{root_dag_id}"
|
@@ -70,7 +70,7 @@ class FabIndexView(IndexView):
|
|
70
70
|
token = get_auth_manager().generate_jwt(g.user)
|
71
71
|
response = make_response(redirect(f"{conf.get('api', 'base_url', fallback='/')}", code=302))
|
72
72
|
|
73
|
-
secure = conf.
|
73
|
+
secure = bool(conf.get("api", "ssl_cert", fallback=""))
|
74
74
|
response.set_cookie(COOKIE_NAME_JWT_TOKEN, token, secure=secure)
|
75
75
|
|
76
76
|
return response
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/cli-ref.rst
RENAMED
File without changes
|
{apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/conf.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/index.rst
RENAMED
File without changes
|
File without changes
|
File without changes
|
{apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/security.rst
RENAMED
File without changes
|
{apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/docs/upgrading.rst
RENAMED
File without changes
|
{apache_airflow_providers_fab-2.0.2rc1 → apache_airflow_providers_fab-2.0.2rc2}/provider.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|