apache-airflow-providers-fab 2.4.1__tar.gz → 2.4.2__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.4.1 → apache_airflow_providers_fab-2.4.2}/PKG-INFO +7 -8
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/README.rst +4 -5
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/auth-manager/access-control.rst +85 -85
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/changelog.rst +35 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/index.rst +4 -6
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/migrations-ref.rst +6 -6
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/provider.yaml +16 -1
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/pyproject.toml +4 -4
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/__init__.py +1 -1
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/fab_auth_manager.py +45 -40
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/models/__init__.py +2 -2
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/security_manager/override.py +71 -45
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/get_provider_info.py +14 -0
- apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/migrations/versions/0001_1_4_0_create_ab_tables_if_missing.py +220 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/package-lock.json +117 -106
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/package.json +8 -8
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/security/permissions.py +7 -8
- apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/743.27a753a06671118f1c5c.js → apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/743.fc7a7c6ef9d09365976e.js +1 -1
- apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/main.810554d06c3e30f2484e.js → apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/main.3cf3be1a0c5439bb640d.js +1 -1
- apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/manifest.json +22 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api_endpoints/test_role_and_permission_endpoint.py +3 -2
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api_endpoints/test_user_endpoint.py +20 -13
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/conftest.py +0 -10
- apache_airflow_providers_fab-2.4.2/tests/unit/fab/auth_manager/models/test_user_model.py +41 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/schemas/test_user_schema.py +4 -3
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/test_fab_auth_manager.py +79 -85
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/test_security.py +115 -26
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/utils.py +21 -27
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/www/views/conftest.py +1 -3
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/www/views/test_views_custom_user_views.py +10 -9
- apache_airflow_providers_fab-2.4.2/www-hash.txt +1 -0
- apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/migrations/versions/0001_1_4_0_placeholder_migration.py +0 -45
- apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/manifest.json +0 -22
- apache_airflow_providers_fab-2.4.1/www-hash.txt +0 -1
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/3rd-party-licenses/LICENSES-ui.txt +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/NOTICE +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/api-ref/fab-public-api-ref.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/api-ref/fab-token-api-ref.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/auth-manager/api-authentication.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/auth-manager/configuring-flask-app.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/auth-manager/index.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/auth-manager/security.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/auth-manager/token.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/auth-manager/webserver-authentication.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/cli-ref.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/commits.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/conf.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/configurations-ref.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/img/add-role.png +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/img/diagram_fab_auth_manager_airflow_architecture.md5sum +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/img/diagram_fab_auth_manager_airflow_architecture.png +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/img/diagram_fab_auth_manager_airflow_architecture.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/img/new-role.png +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/security.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/upgrading.rst +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/3rd-party-licenses/LICENSES-ui.txt +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/LICENSE +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/alembic.ini +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api/auth/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api/auth/backend/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api/auth/backend/session.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api_endpoints/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api_fastapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api_fastapi/datamodels/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api_fastapi/datamodels/login.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api_fastapi/openapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api_fastapi/openapi/v2-fab-auth-manager-generated.yaml +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api_fastapi/routes/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api_fastapi/routes/login.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api_fastapi/services/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/api_fastapi/services/login.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/cli_commands/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/cli_commands/db_command.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/cli_commands/definition.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/cli_commands/role_command.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/cli_commands/user_command.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/cli_commands/utils.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/models/anonymous_user.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/models/db.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/openapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/openapi/v1-flask-api.yaml +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/schemas/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/schemas/role_and_permission_schema.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/schemas/user_schema.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/security_manager/constants.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/views/permissions.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/views/roles_list.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/views/user.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/views/user_edit.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/auth_manager/views/user_stats.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/migrations/README +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/migrations/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/migrations/env.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/migrations/script.py.mako +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/migrations/versions/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/version_compat.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/airflow_flask_app.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/api_connexion/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/api_connexion/exceptions.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/api_connexion/parameters.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/api_connexion/security.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/api_connexion/types.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/app.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/auth.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/constants.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/extensions/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/extensions/init_appbuilder.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/extensions/init_jinja_globals.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/extensions/init_manifest_files.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/extensions/init_security.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/extensions/init_session.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/extensions/init_views.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/extensions/init_wsgi_middlewares.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/security/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/security_appless.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/security_manager.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/session.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/css/bootstrap-theme.css +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/css/flash.css +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/css/loading-dots.css +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/css/main.css +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/css/material-icons.css +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/dist/48f0ea180c40270a5b05.png +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/dist/649c0b07771e68fafdeb.png +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/743.27a753a06671118f1c5c.js.LICENSE.txt → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/743.fc7a7c6ef9d09365976e.js.LICENSE.txt +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.56d4475fdae7883d3454.css → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.ff5a35f322070b094aa2.css +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.56d4475fdae7883d3454.js → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.ff5a35f322070b094aa2.js +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/dist/f7490d556a6c42e49ba4.png +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/flash.0951d47c62bc8906be65.css → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/flash.5583a9e0cf11f2be93da.css +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/flash.0951d47c62bc8906be65.js → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/flash.5583a9e0cf11f2be93da.js +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.css +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/loadingDots.deaad0ce0e7691ed6251.css → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/loadingDots.2e5f555f0753107b0300.css +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/loadingDots.deaad0ce0e7691ed6251.js → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/loadingDots.2e5f555f0753107b0300.js +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/main.810554d06c3e30f2484e.css → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/main.3cf3be1a0c5439bb640d.css +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/main.810554d06c3e30f2484e.js.LICENSE.txt → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/main.3cf3be1a0c5439bb640d.js.LICENSE.txt +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/materialIcons.b0c6cc32cdacff89f7c2.css → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/materialIcons.3e67dd6fbfcc4f3b5105.css +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/materialIcons.b0c6cc32cdacff89f7c2.js → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/materialIcons.3e67dd6fbfcc4f3b5105.js +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/moment.518a43bcfaf149ae2836.js → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/moment.9baee5ec3d7639a10897.js +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/dist/oss-licenses.json +0 -0
- /apache_airflow_providers_fab-2.4.1/src/airflow/providers/fab/www/static/dist/runtime.4a925577de9ab84d8e00.js → /apache_airflow_providers_fab-2.4.2/src/airflow/providers/fab/www/static/dist/runtime.ad800fc1845ad5c6ddeb.js +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/js/datetime_utils.js +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/js/main.js +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/pin_100.png +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/pin_32.png +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/sort_asc.png +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/sort_both.png +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/static/sort_desc.png +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/templates/airflow/_messages.html +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/templates/airflow/error.html +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/templates/airflow/main.html +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/templates/airflow/traceback.html +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/templates/appbuilder/flash.html +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/templates/appbuilder/index.html +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/templates/appbuilder/navbar.html +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/templates/appbuilder/navbar_menu.html +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/templates/appbuilder/navbar_right.html +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/utils.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/views.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/src/airflow/providers/fab/www/webpack.config.js +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/conftest.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api/auth/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api/auth/backend/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api/auth/backend/test_basic_auth.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api/auth/backend/test_kerberos_auth.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api/auth/backend/test_session.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api_endpoints/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api_endpoints/api_connexion_utils.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api_endpoints/remote_user_api_auth_backend.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api_endpoints/test_auth.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api_fastapi/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api_fastapi/conftest.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api_fastapi/routes/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api_fastapi/routes/test_login.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api_fastapi/services/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/api_fastapi/services/test_login.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/cli_commands/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/cli_commands/test_db_command.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/cli_commands/test_definition.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/cli_commands/test_role_command.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/cli_commands/test_sync_perm_command.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/cli_commands/test_user_command.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/cli_commands/test_utils.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/models/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/models/test_anonymous_user.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/models/test_db.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/schemas/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/schemas/test_role_and_permission_schema.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/security_manager/test_constants.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/security_manager/test_override.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/test_models.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/views/test_permissions.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/views/test_roles_list.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/views/test_user.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/views/test_user_edit.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/auth_manager/views/test_user_stats.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/db_manager/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/db_manager/test_fab_db_manager.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/decorators.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/plugins/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/plugins/conftest.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/plugins/test_plugin.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/www/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/www/test_auth.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/www/test_utils.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/www/views/__init__.py +0 -0
- {apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/tests/unit/fab/www/views/test_connection_form_fields.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.2
|
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>
|
@@ -35,8 +35,8 @@ Requires-Dist: werkzeug>=2.2,<4; python_version < '3.13'
|
|
35
35
|
Requires-Dist: wtforms>=3.0,<4; python_version < '3.13'
|
36
36
|
Requires-Dist: kerberos>=1.3.0 ; extra == "kerberos" and ( python_version < '3.13')
|
37
37
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
38
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.
|
39
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.
|
38
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.2/changelog.html
|
39
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.2
|
40
40
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
41
41
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
42
42
|
Project-URL: Source Code, https://github.com/apache/airflow
|
@@ -68,9 +68,8 @@ Provides-Extra: kerberos
|
|
68
68
|
|
69
69
|
Package ``apache-airflow-providers-fab``
|
70
70
|
|
71
|
-
Release: ``2.4.
|
71
|
+
Release: ``2.4.2``
|
72
72
|
|
73
|
-
Release Date: ``|PypiReleaseDate|``
|
74
73
|
|
75
74
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
76
75
|
|
@@ -82,12 +81,12 @@ This is a provider package for ``fab`` provider. All classes for this provider p
|
|
82
81
|
are in ``airflow.providers.fab`` python package.
|
83
82
|
|
84
83
|
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.
|
84
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.2/>`_.
|
86
85
|
|
87
86
|
Installation
|
88
87
|
------------
|
89
88
|
|
90
|
-
You can install this package on top of an existing Airflow
|
89
|
+
You can install this package on top of an existing Airflow installation (see ``Requirements`` below
|
91
90
|
for the minimum Airflow version supported) via
|
92
91
|
``pip install apache-airflow-providers-fab``
|
93
92
|
|
@@ -133,5 +132,5 @@ Dependent package
|
|
133
132
|
================================================================================================================== =================
|
134
133
|
|
135
134
|
The changelog for the provider package can be found in the
|
136
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.
|
135
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.2/changelog.html>`_.
|
137
136
|
|
@@ -23,9 +23,8 @@
|
|
23
23
|
|
24
24
|
Package ``apache-airflow-providers-fab``
|
25
25
|
|
26
|
-
Release: ``2.4.
|
26
|
+
Release: ``2.4.2``
|
27
27
|
|
28
|
-
Release Date: ``|PypiReleaseDate|``
|
29
28
|
|
30
29
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
31
30
|
|
@@ -37,12 +36,12 @@ This is a provider package for ``fab`` provider. All classes for this provider p
|
|
37
36
|
are in ``airflow.providers.fab`` python package.
|
38
37
|
|
39
38
|
You can find package information and changelog for the provider
|
40
|
-
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.2/>`_.
|
41
40
|
|
42
41
|
Installation
|
43
42
|
------------
|
44
43
|
|
45
|
-
You can install this package on top of an existing Airflow
|
44
|
+
You can install this package on top of an existing Airflow installation (see ``Requirements`` below
|
46
45
|
for the minimum Airflow version supported) via
|
47
46
|
``pip install apache-airflow-providers-fab``
|
48
47
|
|
@@ -88,4 +87,4 @@ Dependent package
|
|
88
87
|
================================================================================================================== =================
|
89
88
|
|
90
89
|
The changelog for the provider package can be found in the
|
91
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.
|
90
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.2/changelog.html>`_.
|
@@ -82,12 +82,12 @@ other users. ``Admin`` users have ``Op`` permission plus additional permissions:
|
|
82
82
|
Custom Roles
|
83
83
|
'''''''''''''
|
84
84
|
|
85
|
-
|
85
|
+
Dag Level Role
|
86
86
|
^^^^^^^^^^^^^^
|
87
|
-
``Admin`` can create a set of roles which are only allowed to view a certain set of
|
87
|
+
``Admin`` can create a set of roles which are only allowed to view a certain set of Dags. This is called Dag level access. Each Dag defined in the Dag model table
|
88
88
|
is treated as a ``View`` which has two permissions associated with it (``can_read`` and ``can_edit``. ``can_dag_read`` and ``can_dag_edit`` are deprecated since 2.0.0).
|
89
|
-
There is a special view called ``
|
90
|
-
allows the role to access all the
|
89
|
+
There is a special view called ``Dags`` (it was called ``all_dags`` in versions 1.10.*) which
|
90
|
+
allows the role to access all the Dags. The default ``Admin``, ``Viewer``, ``User``, ``Op`` roles can all access ``Dags`` view.
|
91
91
|
|
92
92
|
.. image:: /img/add-role.png
|
93
93
|
.. image:: /img/new-role.png
|
@@ -135,15 +135,15 @@ Permissions (each consistent of a resource + action pair) are then added to role
|
|
135
135
|
|
136
136
|
There are five default roles: Public, Viewer, User, Op, and Admin. Each one has the permissions of the preceding role, as well as additional permissions.
|
137
137
|
|
138
|
-
|
138
|
+
Dag-level permissions
|
139
139
|
^^^^^^^^^^^^^^^^^^^^^
|
140
140
|
|
141
|
-
For
|
142
|
-
This includes ``DAGs.can_read``, ``DAGs.can_edit
|
143
|
-
When these permissions are listed, access is granted to users who either have the listed permission or the same permission for the specific
|
144
|
-
For individual
|
141
|
+
For Dag-level permissions exclusively, access can be controlled at the level of all Dags or individual Dag objects.
|
142
|
+
This includes ``DAGs.can_read``, ``DAGs.can_edit`` and ``DAGs.can_delete``.
|
143
|
+
When these permissions are listed, access is granted to users who either have the listed permission or the same permission for the specific Dag being acted upon.
|
144
|
+
For individual Dags, the resource name is ``Dag:`` + the Dag ID.
|
145
145
|
|
146
|
-
For example, if a user is trying to view
|
146
|
+
For example, if a user is trying to view Dag information for the ``example_dag_id``, and the endpoint requires ``DAGs.can_read`` access, access will be granted if the user has either ``DAGs.can_read`` or ``DAG:example_dag_id.can_read`` access.
|
147
147
|
|
148
148
|
================================================================================== ====== ================================================================= ============
|
149
149
|
Stable API Permissions
|
@@ -156,19 +156,19 @@ Endpoint
|
|
156
156
|
/connections/{connection_id} DELETE Connections.can_delete Op
|
157
157
|
/connections/{connection_id} PATCH Connections.can_edit Op
|
158
158
|
/connections/{connection_id} GET Connections.can_read Op
|
159
|
-
/dagSources/{file_token} GET
|
160
|
-
/dags GET
|
161
|
-
/dags/{dag_id} GET
|
162
|
-
/dags/{dag_id} PATCH
|
163
|
-
/dags/{dag_id}/clearTaskInstances PUT
|
164
|
-
/dags/{dag_id}/details GET
|
165
|
-
/dags/{dag_id}/tasks GET
|
166
|
-
/dags/{dag_id}/tasks/{task_id} GET
|
167
|
-
/dags/{dag_id}/dagRuns GET
|
168
|
-
/dags/{dag_id}/dagRuns POST
|
169
|
-
/dags/{dag_id}/dagRuns/{dag_run_id} DELETE
|
170
|
-
/dags/{dag_id}/dagRuns/{dag_run_id} GET
|
171
|
-
/dags/~/dagRuns/list POST
|
159
|
+
/dagSources/{file_token} GET Dag Code.can_read Viewer
|
160
|
+
/dags GET Dags.can_read Viewer
|
161
|
+
/dags/{dag_id} GET Dags.can_read Viewer
|
162
|
+
/dags/{dag_id} PATCH Dags.can_edit User
|
163
|
+
/dags/{dag_id}/clearTaskInstances PUT Dags.can_edit, Dag Runs.can_edit, Task Instances.can_edit User
|
164
|
+
/dags/{dag_id}/details GET Dags.can_read Viewer
|
165
|
+
/dags/{dag_id}/tasks GET Dags.can_read, Task Instances.can_read Viewer
|
166
|
+
/dags/{dag_id}/tasks/{task_id} GET Dags.can_read, Task Instances.can_read Viewer
|
167
|
+
/dags/{dag_id}/dagRuns GET Dags.can_read, Dag Runs.can_read Viewer
|
168
|
+
/dags/{dag_id}/dagRuns POST Dags.can_edit, Dag Runs.can_create User
|
169
|
+
/dags/{dag_id}/dagRuns/{dag_run_id} DELETE Dags.can_edit, Dag Runs.can_delete User
|
170
|
+
/dags/{dag_id}/dagRuns/{dag_run_id} GET Dags.can_read, Dag Runs.can_read Viewer
|
171
|
+
/dags/~/dagRuns/list POST Dags.can_edit, Dag Runs.can_read User
|
172
172
|
/assets GET Assets.can_read Viewer
|
173
173
|
/assets/{uri} GET Assets.can_read Viewer
|
174
174
|
/assets/events GET Assets.can_read Viewer
|
@@ -184,19 +184,19 @@ Endpoint
|
|
184
184
|
/pools/{pool_name} GET Pools.can_read Op
|
185
185
|
/pools/{pool_name} PATCH Pools.can_edit Op
|
186
186
|
/providers GET Providers.can_read Op
|
187
|
-
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances GET
|
188
|
-
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} GET
|
189
|
-
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/links GET
|
190
|
-
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{task_try_number} GET
|
191
|
-
/dags/~/dagRuns/~/taskInstances/list POST
|
187
|
+
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances GET Dags.can_read, Dag Runs.can_read, Task Instances.can_read Viewer
|
188
|
+
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} GET Dags.can_read, Dag Runs.can_read, Task Instances.can_read Viewer
|
189
|
+
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/links GET Dags.can_read, Dag Runs.can_read, Task Instances.can_read Viewer
|
190
|
+
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{task_try_number} GET Dags.can_read, Dag Runs.can_read, Task Instances.can_read Viewer
|
191
|
+
/dags/~/dagRuns/~/taskInstances/list POST Dags.can_edit, Dag Runs.can_read, Task Instances.can_read User
|
192
192
|
/variables GET Variables.can_read Op
|
193
193
|
/variables POST Variables.can_create Op
|
194
194
|
/variables/{variable_key} DELETE Variables.can_delete Op
|
195
195
|
/variables/{variable_key} GET Variables.can_read Op
|
196
196
|
/variables/{variable_key} PATCH Variables.can_edit Op
|
197
|
-
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries GET
|
197
|
+
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries GET Dags.can_read, Dag Runs.can_read, Viewer
|
198
198
|
Task Instances.can_read, XComs.can_read
|
199
|
-
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key} GET
|
199
|
+
/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key} GET Dags.can_read, Dag Runs.can_read, Viewer
|
200
200
|
Task Instances.can_read, XComs.can_read
|
201
201
|
/users GET Users.can_read Admin
|
202
202
|
/users POST Users.can_create Admin
|
@@ -219,54 +219,54 @@ Action Permissions
|
|
219
219
|
====================================== ======================================================================= ============
|
220
220
|
Access homepage Website.can_read Viewer
|
221
221
|
Show Browse menu Browse.menu_access Viewer
|
222
|
-
Show
|
223
|
-
Get
|
222
|
+
Show Dags menu Dags.menu_access Viewer
|
223
|
+
Get Dag stats Dags.can_read, Dag Runs.can_read Viewer
|
224
224
|
Show Task Instances menu Task Instances.menu_access Viewer
|
225
|
-
Get Task stats
|
226
|
-
Get last
|
227
|
-
Get
|
228
|
-
Get
|
229
|
-
Show
|
230
|
-
Get
|
231
|
-
Get rendered
|
232
|
-
Get Logs with metadata
|
233
|
-
Get Log
|
234
|
-
Redirect to external Log
|
235
|
-
Get Task
|
225
|
+
Get Task stats Dags.can_read, Dag Runs.can_read, Task Instances.can_read Viewer
|
226
|
+
Get last Dag runs Dags.can_read, Dag Runs.can_read Viewer
|
227
|
+
Get Dag code Dags.can_read, Dag Code.can_read Viewer
|
228
|
+
Get Dag details Dags.can_read, Dag Runs.can_read Viewer
|
229
|
+
Show Dag Dependencies menu Dag Dependencies.menu_access Viewer
|
230
|
+
Get Dag Dependencies Dag Dependencies.can_read Viewer
|
231
|
+
Get rendered Dag Dags.can_read, Task Instances.can_read Viewer
|
232
|
+
Get Logs with metadata Dags.can_read, Task Instances.can_read, Task Logs.can_read Viewer
|
233
|
+
Get Log Dags.can_read, Task Instances.can_read, Task Logs.can_read Viewer
|
234
|
+
Redirect to external Log Dags.can_read, Task Instances.can_read, Task Logs.can_read Viewer
|
235
|
+
Get Task Dags.can_read, Task Instances.can_read Viewer
|
236
236
|
Show XCom menu XComs.menu_access Op
|
237
|
-
Get XCom
|
237
|
+
Get XCom Dags.can_read, Task Instances.can_read, XComs.can_read Viewer
|
238
238
|
Create XCom XComs.can_create Op
|
239
239
|
Delete XCom XComs.can_delete Op
|
240
|
-
Triggers Task Instance
|
241
|
-
Delete
|
242
|
-
Show
|
243
|
-
Trigger
|
244
|
-
Clear
|
245
|
-
Clear
|
246
|
-
Mark
|
247
|
-
Mark
|
248
|
-
Mark
|
249
|
-
Mark Task as failed
|
250
|
-
Mark Task as success
|
251
|
-
Get
|
240
|
+
Triggers Task Instance Dags.can_edit, Task Instances.can_create User
|
241
|
+
Delete Dag Dags.can_delete User
|
242
|
+
Show Dag Runs menu Dag Runs.menu_access Viewer
|
243
|
+
Trigger Dag run Dags.can_edit, Dag Runs.can_create User
|
244
|
+
Clear Dag Dags.can_edit, Task Instances.can_delete User
|
245
|
+
Clear Dag Run Dags.can_edit, Task Instances.can_delete User
|
246
|
+
Mark Dag as blocked DAGS.can_edit, Dag Runs.can_read User
|
247
|
+
Mark Dag Run as failed DAGS.can_edit, Dag Runs.can_edit User
|
248
|
+
Mark Dag Run as success DAGS.can_edit, Dag Runs.can_edit User
|
249
|
+
Mark Task as failed Dags.can_edit, Task Instances.can_edit User
|
250
|
+
Mark Task as success Dags.can_edit, Task Instances.can_edit User
|
251
|
+
Get Dag as tree Dags.can_read, Task Instances.can_read, Viewer
|
252
252
|
Task Logs.can_read
|
253
|
-
Get
|
253
|
+
Get Dag as graph Dags.can_read, Task Instances.can_read, Viewer
|
254
254
|
Task Logs.can_read
|
255
|
-
Get
|
256
|
-
Show all tries
|
257
|
-
Show landing times
|
258
|
-
Toggle
|
259
|
-
Show Gantt Chart
|
260
|
-
Get external links
|
261
|
-
Show Task Instances
|
255
|
+
Get Dag as duration graph Dags.can_read, Task Instances.can_read Viewer
|
256
|
+
Show all tries Dags.can_read, Task Instances.can_read Viewer
|
257
|
+
Show landing times Dags.can_read, Task Instances.can_read Viewer
|
258
|
+
Toggle Dag paused status Dags.can_edit User
|
259
|
+
Show Gantt Chart Dags.can_read, Task Instances.can_read Viewer
|
260
|
+
Get external links Dags.can_read, Task Instances.can_read Viewer
|
261
|
+
Show Task Instances Dags.can_read, Task Instances.can_read Viewer
|
262
262
|
Show Configurations menu Configurations.menu_access Op
|
263
263
|
Show Configs Configurations.can_read Viewer
|
264
|
-
Delete multiple records
|
265
|
-
Set Task Instance as running
|
266
|
-
Set Task Instance as failed
|
267
|
-
Set Task Instance as success
|
268
|
-
Set Task Instance as up_for_retry
|
269
|
-
Autocomplete
|
264
|
+
Delete multiple records Dags.can_edit User
|
265
|
+
Set Task Instance as running Dags.can_edit User
|
266
|
+
Set Task Instance as failed Dags.can_edit User
|
267
|
+
Set Task Instance as success Dags.can_edit User
|
268
|
+
Set Task Instance as up_for_retry Dags.can_edit User
|
269
|
+
Autocomplete Dags.can_read Viewer
|
270
270
|
Show Asset menu Assets.menu_access Viewer
|
271
271
|
Show Assets Assets.can_read Viewer
|
272
272
|
Show Docs menu Docs.menu_access Viewer
|
@@ -305,19 +305,19 @@ Delete Users Users.can_delete
|
|
305
305
|
Reset user Passwords Passwords.can_edit, Passwords.can_read Admin
|
306
306
|
====================================== ======================================================================= ============
|
307
307
|
|
308
|
-
These
|
308
|
+
These Dag-level controls can be set directly through the UI / CLI, or encoded in the dags themselves through the access_control arg.
|
309
309
|
|
310
|
-
Order of precedence for
|
310
|
+
Order of precedence for Dag-level permissions
|
311
311
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
312
312
|
|
313
|
-
Since
|
314
|
-
Airflow considers the ``access_control`` argument supplied on a
|
313
|
+
Since Dag-level access control can be configured in multiple places, conflicts are inevitable and a clear resolution strategy is required. As a result,
|
314
|
+
Airflow considers the ``access_control`` argument supplied on a Dag itself to be completely authoritative if present, which has a few effects:
|
315
315
|
|
316
|
-
Setting ``access_control`` on a
|
316
|
+
Setting ``access_control`` on a Dag will overwrite any previously existing Dag-level permissions if it is any value other than ``None``:
|
317
317
|
|
318
318
|
.. code-block:: python
|
319
319
|
|
320
|
-
|
320
|
+
Dag(
|
321
321
|
dag_id="example_fine_grained_access",
|
322
322
|
start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
|
323
323
|
access_control={
|
@@ -325,38 +325,38 @@ Setting ``access_control`` on a DAG will overwrite any previously existing DAG-l
|
|
325
325
|
},
|
326
326
|
)
|
327
327
|
|
328
|
-
It's also possible to add
|
328
|
+
It's also possible to add Dag Runs resource permissions in a similar way, but explicit adding the resource name to identify which resource the permissions are for:
|
329
329
|
|
330
330
|
.. code-block:: python
|
331
331
|
|
332
|
-
|
332
|
+
Dag(
|
333
333
|
dag_id="example_fine_grained_access",
|
334
334
|
start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
|
335
335
|
access_control={
|
336
|
-
"Viewer": {"
|
336
|
+
"Viewer": {"Dags": {"can_edit", "can_read", "can_delete"}, "Dag Runs": {"can_create"}},
|
337
337
|
},
|
338
338
|
)
|
339
339
|
|
340
|
-
This also means that setting ``access_control={}`` will wipe any existing
|
340
|
+
This also means that setting ``access_control={}`` will wipe any existing Dag-level permissions for a given Dag from the DB:
|
341
341
|
|
342
342
|
.. code-block:: python
|
343
343
|
|
344
|
-
|
344
|
+
Dag(
|
345
345
|
dag_id="example_no_fine_grained_access",
|
346
346
|
start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
|
347
347
|
access_control={},
|
348
348
|
)
|
349
349
|
|
350
|
-
Conversely, removing the access_control block from a
|
350
|
+
Conversely, removing the access_control block from a Dag altogether (or setting it to ``None``) won't make any changes and can leave dangling permissions.
|
351
351
|
|
352
352
|
.. code-block:: python
|
353
353
|
|
354
|
-
|
354
|
+
Dag(
|
355
355
|
dag_id="example_indifferent_to_fine_grained_access",
|
356
356
|
start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
|
357
357
|
)
|
358
358
|
|
359
|
-
In the case that there is no ``access_control`` defined on the
|
360
|
-
may have been set through the UI, CLI or by previous access_control args on the
|
359
|
+
In the case that there is no ``access_control`` defined on the Dag itself, Airflow will defer to existing permissions defined in the DB, which
|
360
|
+
may have been set through the UI, CLI or by previous access_control args on the Dag in question.
|
361
361
|
|
362
362
|
In all cases, system-wide roles such as ``Can edit on DAG`` take precedence over dag-level access controls, such that they can be considered ``Can edit on DAG: *``
|
{apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/changelog.rst
RENAMED
@@ -20,6 +20,41 @@
|
|
20
20
|
Changelog
|
21
21
|
---------
|
22
22
|
|
23
|
+
2.4.2
|
24
|
+
.....
|
25
|
+
|
26
|
+
|
27
|
+
Release Date: ``|PypiReleaseDate|``
|
28
|
+
|
29
|
+
Bug Fixes
|
30
|
+
~~~~~~~~~
|
31
|
+
|
32
|
+
* ``Remove query obj from providers fab (#53953)``
|
33
|
+
* ``fix: Add cookies options into FAB provider.yaml (#54995)``
|
34
|
+
* ``To fix Fab auth manager returns get_id of integer type where str is expected (#54384)``
|
35
|
+
* ``Potential fix for code scanning alert no. 519: Clear-text logging of sensitive information (#54742)``
|
36
|
+
* ``Create FAB's user/role tables on migration, not only on initdb (#54227)``
|
37
|
+
|
38
|
+
Misc
|
39
|
+
~~~~
|
40
|
+
|
41
|
+
* ``Bump the fab-ui-package-updates group across 1 directory with 8 updates (#54517)``
|
42
|
+
* ``Move DagBag to SDK and make it return SDK DAG objects (#53918)``
|
43
|
+
* ``Update 'is_authorized_dag' method in 'FabAuthManager' (#54926)``
|
44
|
+
|
45
|
+
Doc-only
|
46
|
+
~~~~~~~~
|
47
|
+
|
48
|
+
* ``Make term Dag consistent in providers docs (#55101)``
|
49
|
+
* ``Fix Airflow 2 reference in README/index of providers (#55240)``
|
50
|
+
|
51
|
+
.. Below changes are excluded from the changelog. Move them to
|
52
|
+
appropriate section above if needed. Do not delete the lines(!):
|
53
|
+
* ``Remove airflow.models.DAG (#54383)``
|
54
|
+
* ``Move secrets_masker over to airflow_shared distribution (#54449)``
|
55
|
+
* ``Switch pre-commit to prek (#54258)``
|
56
|
+
* ``make bundle_name not nullable (#47592)``
|
57
|
+
|
23
58
|
2.4.1
|
24
59
|
.....
|
25
60
|
|
@@ -84,9 +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.
|
88
|
-
|
89
|
-
Release Date: ``|PypiReleaseDate|``
|
87
|
+
Release: 2.4.2
|
90
88
|
|
91
89
|
Provider package
|
92
90
|
----------------
|
@@ -97,7 +95,7 @@ All classes for this package are included in the ``airflow.providers.fab`` pytho
|
|
97
95
|
Installation
|
98
96
|
------------
|
99
97
|
|
100
|
-
You can install this package on top of an existing Airflow
|
98
|
+
You can install this package on top of an existing Airflow installation via
|
101
99
|
``pip install apache-airflow-providers-fab``.
|
102
100
|
For the minimum Airflow version supported, see ``Requirements`` below.
|
103
101
|
|
@@ -148,5 +146,5 @@ Downloading official packages
|
|
148
146
|
You can download officially released packages and verify their checksums and signatures from the
|
149
147
|
`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
|
150
148
|
|
151
|
-
* `The apache-airflow-providers-fab 2.4.
|
152
|
-
* `The apache-airflow-providers-fab 2.4.
|
149
|
+
* `The apache-airflow-providers-fab 2.4.2 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.4.2.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.4.2.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.4.2.tar.gz.sha512>`__)
|
150
|
+
* `The apache-airflow-providers-fab 2.4.2 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.4.2-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.4.2-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_fab-2.4.2-py3-none-any.whl.sha512>`__)
|
{apache_airflow_providers_fab-2.4.1 → apache_airflow_providers_fab-2.4.2}/docs/migrations-ref.rst
RENAMED
@@ -27,15 +27,15 @@ Here's the list of all the Database Migrations that are executed via when you ru
|
|
27
27
|
"DB conscious" users might perform an analysis on the migrations and draw conclusions about the impact
|
28
28
|
of the migrations on their Airflow database.
|
29
29
|
|
30
|
-
.. This table is automatically updated by
|
30
|
+
.. This table is automatically updated by prek hook: ``scripts/ci/prek/migration_reference.py``
|
31
31
|
.. All table elements are scraped from migration files
|
32
32
|
.. Beginning of auto-generated table
|
33
33
|
|
34
|
-
|
35
|
-
| Revision ID | Revises ID | Fab Version | Description
|
36
|
-
|
37
|
-
| ``6709f7a774b9`` (head) | ``None`` | ``1.4.0`` |
|
38
|
-
|
34
|
+
+-------------------------+--------------+---------------+-----------------------------------------+
|
35
|
+
| Revision ID | Revises ID | Fab Version | Description |
|
36
|
+
+=========================+==============+===============+=========================================+
|
37
|
+
| ``6709f7a774b9`` (head) | ``None`` | ``1.4.0`` | Create User and Role tables if missing. |
|
38
|
+
+-------------------------+--------------+---------------+-----------------------------------------+
|
39
39
|
|
40
40
|
.. End of auto-generated table
|
41
41
|
|
@@ -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: 1756876838
|
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.2
|
38
39
|
- 2.4.1
|
39
40
|
- 2.4.0
|
40
41
|
- 2.3.1
|
@@ -69,6 +70,20 @@ config:
|
|
69
70
|
fab:
|
70
71
|
description: This section contains configs specific to FAB provider.
|
71
72
|
options:
|
73
|
+
cookie_secure:
|
74
|
+
description: |
|
75
|
+
Cookie with the secure attribute is only sent to the server with an HTTPS connection.
|
76
|
+
version_added: 2.4.0
|
77
|
+
type: boolean
|
78
|
+
example: ~
|
79
|
+
default: "False"
|
80
|
+
cookie_samesite:
|
81
|
+
description: |
|
82
|
+
Whether the cookie is restricted to a first-party or same-site context.
|
83
|
+
version_added: 2.4.0
|
84
|
+
type: string
|
85
|
+
example: ~
|
86
|
+
default: "Lax"
|
72
87
|
navbar_color:
|
73
88
|
description: |
|
74
89
|
Define the color of navigation bar
|
@@ -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.2"
|
29
29
|
description = "Provider package apache-airflow-providers-fab for Apache Airflow"
|
30
30
|
readme = "README.rst"
|
31
31
|
authors = [
|
@@ -53,7 +53,7 @@ requires-python = ">=3.10,!=3.13"
|
|
53
53
|
license-files = ["NOTICE", "*/LICENSE*"]
|
54
54
|
# The dependencies should be modified in place in the generated file.
|
55
55
|
# Any change in the dependencies is preserved when the file is regenerated
|
56
|
-
# Make sure to run ``
|
56
|
+
# Make sure to run ``prek update-providers-dependencies --all-files``
|
57
57
|
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
|
58
58
|
dependencies = [
|
59
59
|
"apache-airflow>=3.0.2",
|
@@ -126,8 +126,8 @@ apache-airflow-providers-common-sql = {workspace = true}
|
|
126
126
|
apache-airflow-providers-standard = {workspace = true}
|
127
127
|
|
128
128
|
[project.urls]
|
129
|
-
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.
|
130
|
-
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.
|
129
|
+
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.2"
|
130
|
+
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-fab/2.4.2/changelog.html"
|
131
131
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
132
132
|
"Source Code" = "https://github.com/apache/airflow"
|
133
133
|
"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.2"
|
33
33
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
35
35
|
"3.0.2"
|