apache-airflow-providers-edge3 1.3.1rc1__tar.gz → 1.5.0__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_edge3-1.5.0/.pre-commit-config.yaml +55 -0
- apache_airflow_providers_edge3-1.5.0/NOTICE +5 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/PKG-INFO +38 -15
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/README.rst +30 -10
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/architecture.rst +10 -11
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/changelog.rst +85 -6
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/deployment.rst +22 -8
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/edge_executor.rst +11 -6
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/index.rst +37 -8
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/ui_plugin.rst +3 -3
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/provider.yaml +13 -1
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/pyproject.toml +8 -5
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/__init__.py +1 -1
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/cli/api_client.py +9 -3
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/cli/worker.py +21 -11
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/example_dags/win_test.py +1 -1
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/executors/edge_executor.py +37 -6
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/get_provider_info.py +7 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/models/edge_job.py +18 -15
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/models/edge_logs.py +11 -8
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/models/edge_worker.py +44 -26
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/edge_executor_plugin.py +26 -19
- apache_airflow_providers_edge3-1.5.0/src/airflow/providers/edge3/plugins/www/dist/main.umd.cjs +14 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/schemas.gen.ts +4 -4
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/types.gen.ts +1 -1
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/package.json +26 -26
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/pnpm-lock.yaml +1653 -1554
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/layouts/EdgeLayout.tsx +9 -10
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/layouts/NavTabs.tsx +1 -8
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/main.tsx +5 -4
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/pages/JobsPage.tsx +7 -8
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/utils/index.ts +0 -1
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/vite.config.ts +2 -1
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/version_compat.py +5 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/_v2_compat.py +1 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/jobs.py +5 -6
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/ui.py +8 -3
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/worker.py +9 -5
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/cli/test_worker.py +24 -16
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/executors/test_edge_executor.py +86 -3
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/plugins/test_edge_executor_plugin.py +1 -1
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/routes/test_logs.py +1 -1
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/routes/test_worker.py +3 -3
- apache_airflow_providers_edge3-1.5.0/www-hash.txt +1 -0
- apache_airflow_providers_edge3-1.3.1rc1/src/airflow/providers/edge3/plugins/www/dist/main.umd.cjs +0 -142
- apache_airflow_providers_edge3-1.3.1rc1/src/airflow/providers/edge3/plugins/www/src/utils/tokenHandler.ts +0 -51
- apache_airflow_providers_edge3-1.3.1rc1/www-hash.txt +0 -1
- {apache_airflow_providers_edge3-1.3.1rc1/src/airflow/providers/edge3 → apache_airflow_providers_edge3-1.5.0}/LICENSE +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/cli-ref.rst +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/commits.rst +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/conf.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/configurations-ref.rst +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/img/distributed_architecture.svg +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/img/edge_package.svg +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/img/worker_hosts.png +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/install_on_windows.rst +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/security.rst +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/why_edge.rst +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/cli/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/cli/dataclasses.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/cli/edge_command.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/cli/signalling.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/example_dags/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/example_dags/integration_test.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/example_dags/win_notepad.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/executors/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/models/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/openapi/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/openapi/edge_worker_api_v1.yaml +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/openapi/v2-edge-generated.yaml +3 -3
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/templates/edge_worker_hosts.html +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/templates/edge_worker_jobs.html +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/.gitignore +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/.prettierignore +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/.prettierrc +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/README.md +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/dist/main.d.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/eslint.config.js +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/index.html +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/common.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/ensureQueryData.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/index.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/infiniteQueries.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/prefetch.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/queries.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/suspense.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiError.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiRequestOptions.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiResult.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/CancelablePromise.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/OpenAPI.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/request.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/index.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/services.gen.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/AddQueueButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/ErrorAlert.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/MaintenanceEditCommentButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/MaintenanceEnterButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/MaintenanceExitButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/RemoveQueueButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/StateBadge.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/StateIcon.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/WorkerDeleteButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/WorkerOperations.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/WorkerShutdownButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/WorkerStateBadge.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/WorkerStateIcon.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/ui/Alert.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/ui/CloseButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/ui/ScrollToAnchor.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/ui/createToaster.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/components/ui/index.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/context/colorMode/ColorModeProvider.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/context/colorMode/index.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/context/colorMode/useColorMode.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/dev.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/pages/WorkerPage.tsx +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/res/README.md +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/res/cloud-computer-dark.svg +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/res/cloud-computer.svg +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/theme.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/utils/config.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/utils/useContainerWidth.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/src/vite-env.d.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/testsSetup.ts +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/tsconfig.app.json +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/tsconfig.json +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/tsconfig.lib.json +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/plugins/www/tsconfig.node.json +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/app.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/auth.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/datamodels.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/datamodels_ui.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/_v2_routes.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/health.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/src/airflow/providers/edge3/worker_api/routes/logs.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/conftest.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/cli/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/cli/test_api_client.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/cli/test_dataclasses.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/cli/test_edge_command.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/cli/test_signalling.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/executors/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/models/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/plugins/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/routes/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/routes/test_health.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/routes/test_jobs.py +0 -0
- {apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/tests/unit/edge3/worker_api/routes/test_ui.py +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Licensed to the Apache Software Foundation (ASF) under one
|
|
2
|
+
# or more contributor license agreements. See the NOTICE file
|
|
3
|
+
# distributed with this work for additional information
|
|
4
|
+
# regarding copyright ownership. The ASF licenses this file
|
|
5
|
+
# to you under the Apache License, Version 2.0 (the
|
|
6
|
+
# "License"); you may not use this file except in compliance
|
|
7
|
+
# with the License. You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
|
12
|
+
# software distributed under the License is distributed on an
|
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
+
# KIND, either express or implied. See the License for the
|
|
15
|
+
# specific language governing permissions and limitations
|
|
16
|
+
# under the License.
|
|
17
|
+
---
|
|
18
|
+
default_stages: [pre-commit, pre-push]
|
|
19
|
+
minimum_prek_version: '0.0.28'
|
|
20
|
+
default_language_version:
|
|
21
|
+
python: python3
|
|
22
|
+
node: 22.19.0
|
|
23
|
+
golang: 1.24.0
|
|
24
|
+
repos:
|
|
25
|
+
- repo: local
|
|
26
|
+
hooks:
|
|
27
|
+
- id: generate-openapi-spec-edge
|
|
28
|
+
name: Generate the FastAPI API spec for Edge
|
|
29
|
+
language: python
|
|
30
|
+
entry: ../../scripts/ci/prek/generate_openapi_spec_providers.py edge
|
|
31
|
+
pass_filenames: false
|
|
32
|
+
files: ^src/airflow/providers/edge3/worker_api/.*\.py$
|
|
33
|
+
- id: ts-compile-lint-edge-ui
|
|
34
|
+
name: Compile / format / lint edge UI
|
|
35
|
+
description: TS types generation / ESLint / Prettier new UI files in Edge Provider
|
|
36
|
+
language: node
|
|
37
|
+
files: |
|
|
38
|
+
(?x)
|
|
39
|
+
^src/airflow/providers/edge3/plugins/www/.*\.(js|ts|tsx|yaml|css|json)$|
|
|
40
|
+
^src/airflow/providers/edge3/openapi/v2-edge-generated.yaml$
|
|
41
|
+
exclude: |
|
|
42
|
+
(?x)
|
|
43
|
+
^src/airflow/providers/edge3/plugins/www/node-modules/.*|
|
|
44
|
+
^src/airflow/providers/edge3/plugins/www/.pnpm-store
|
|
45
|
+
entry: ../../scripts/ci/prek/ts_compile_lint_edge.py
|
|
46
|
+
additional_dependencies: ['pnpm@9.7.1']
|
|
47
|
+
pass_filenames: true
|
|
48
|
+
require_serial: true
|
|
49
|
+
- id: compile-edge-assets
|
|
50
|
+
name: Compile Edge provider assets
|
|
51
|
+
language: node
|
|
52
|
+
files: ^src/airflow/providers/edge3/plugins/www
|
|
53
|
+
entry: ../../scripts/ci/prek/compile_provider_assets.py edge
|
|
54
|
+
pass_filenames: false
|
|
55
|
+
additional_dependencies: ['yarn@1.22.21']
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-edge3
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.5.0
|
|
4
4
|
Summary: Provider package apache-airflow-providers-edge3 for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,edge3,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
7
7
|
Maintainer-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
8
8
|
Requires-Python: >=3.10
|
|
9
9
|
Description-Content-Type: text/x-rst
|
|
10
|
+
License-Expression: Apache-2.0
|
|
10
11
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
12
|
Classifier: Environment :: Console
|
|
12
13
|
Classifier: Environment :: Web Environment
|
|
@@ -14,18 +15,20 @@ Classifier: Intended Audience :: Developers
|
|
|
14
15
|
Classifier: Intended Audience :: System Administrators
|
|
15
16
|
Classifier: Framework :: Apache Airflow
|
|
16
17
|
Classifier: Framework :: Apache Airflow :: Provider
|
|
17
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
|
23
|
-
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
License-File: NOTICE
|
|
25
|
+
Requires-Dist: apache-airflow>=2.10.0,!=3.1.0
|
|
26
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.8.0
|
|
24
27
|
Requires-Dist: pydantic>=2.11.0
|
|
25
28
|
Requires-Dist: retryhttp>=1.2.0,!=1.3.0
|
|
26
29
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
27
|
-
Project-URL: Changelog, https://airflow.
|
|
28
|
-
Project-URL: Documentation, https://airflow.
|
|
30
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/changelog.html
|
|
31
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0
|
|
29
32
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
30
33
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
31
34
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -56,7 +59,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
|
56
59
|
|
|
57
60
|
Package ``apache-airflow-providers-edge3``
|
|
58
61
|
|
|
59
|
-
Release: ``1.
|
|
62
|
+
Release: ``1.5.0``
|
|
60
63
|
|
|
61
64
|
|
|
62
65
|
Handle edge workers on remote sites via HTTP(s) connection and orchestrates work over distributed sites.
|
|
@@ -81,7 +84,7 @@ This is a provider package for ``edge3`` provider. All classes for this provider
|
|
|
81
84
|
are in ``airflow.providers.edge3`` python package.
|
|
82
85
|
|
|
83
86
|
You can find package information and changelog for the provider
|
|
84
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.
|
|
87
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/>`_.
|
|
85
88
|
|
|
86
89
|
Installation
|
|
87
90
|
------------
|
|
@@ -95,14 +98,34 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13
|
|
|
95
98
|
Requirements
|
|
96
99
|
------------
|
|
97
100
|
|
|
98
|
-
|
|
99
|
-
PIP package
|
|
100
|
-
|
|
101
|
-
``apache-airflow``
|
|
102
|
-
``
|
|
103
|
-
``
|
|
104
|
-
|
|
101
|
+
========================================== ====================
|
|
102
|
+
PIP package Version required
|
|
103
|
+
========================================== ====================
|
|
104
|
+
``apache-airflow`` ``>=2.10.0,!=3.1.0``
|
|
105
|
+
``apache-airflow-providers-common-compat`` ``>=1.8.0``
|
|
106
|
+
``pydantic`` ``>=2.11.0``
|
|
107
|
+
``retryhttp`` ``>=1.2.0,!=1.3.0``
|
|
108
|
+
========================================== ====================
|
|
109
|
+
|
|
110
|
+
Cross provider package dependencies
|
|
111
|
+
-----------------------------------
|
|
112
|
+
|
|
113
|
+
Those are dependencies that might be needed in order to use all the features of the package.
|
|
114
|
+
You need to install the specified providers in order to use them.
|
|
115
|
+
|
|
116
|
+
You can install such cross-provider dependencies when installing from PyPI. For example:
|
|
117
|
+
|
|
118
|
+
.. code-block:: bash
|
|
119
|
+
|
|
120
|
+
pip install apache-airflow-providers-edge3[common.compat]
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
================================================================================================================== =================
|
|
124
|
+
Dependent package Extra
|
|
125
|
+
================================================================================================================== =================
|
|
126
|
+
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
|
127
|
+
================================================================================================================== =================
|
|
105
128
|
|
|
106
129
|
The changelog for the provider package can be found in the
|
|
107
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.
|
|
130
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/changelog.html>`_.
|
|
108
131
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
Package ``apache-airflow-providers-edge3``
|
|
25
25
|
|
|
26
|
-
Release: ``1.
|
|
26
|
+
Release: ``1.5.0``
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
Handle edge workers on remote sites via HTTP(s) connection and orchestrates work over distributed sites.
|
|
@@ -48,7 +48,7 @@ This is a provider package for ``edge3`` provider. All classes for this provider
|
|
|
48
48
|
are in ``airflow.providers.edge3`` python package.
|
|
49
49
|
|
|
50
50
|
You can find package information and changelog for the provider
|
|
51
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.
|
|
51
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/>`_.
|
|
52
52
|
|
|
53
53
|
Installation
|
|
54
54
|
------------
|
|
@@ -62,13 +62,33 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13
|
|
|
62
62
|
Requirements
|
|
63
63
|
------------
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
PIP package
|
|
67
|
-
|
|
68
|
-
``apache-airflow``
|
|
69
|
-
``
|
|
70
|
-
``
|
|
71
|
-
|
|
65
|
+
========================================== ====================
|
|
66
|
+
PIP package Version required
|
|
67
|
+
========================================== ====================
|
|
68
|
+
``apache-airflow`` ``>=2.10.0,!=3.1.0``
|
|
69
|
+
``apache-airflow-providers-common-compat`` ``>=1.8.0``
|
|
70
|
+
``pydantic`` ``>=2.11.0``
|
|
71
|
+
``retryhttp`` ``>=1.2.0,!=1.3.0``
|
|
72
|
+
========================================== ====================
|
|
73
|
+
|
|
74
|
+
Cross provider package dependencies
|
|
75
|
+
-----------------------------------
|
|
76
|
+
|
|
77
|
+
Those are dependencies that might be needed in order to use all the features of the package.
|
|
78
|
+
You need to install the specified providers in order to use them.
|
|
79
|
+
|
|
80
|
+
You can install such cross-provider dependencies when installing from PyPI. For example:
|
|
81
|
+
|
|
82
|
+
.. code-block:: bash
|
|
83
|
+
|
|
84
|
+
pip install apache-airflow-providers-edge3[common.compat]
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
================================================================================================================== =================
|
|
88
|
+
Dependent package Extra
|
|
89
|
+
================================================================================================================== =================
|
|
90
|
+
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
|
91
|
+
================================================================================================================== =================
|
|
72
92
|
|
|
73
93
|
The changelog for the provider package can be found in the
|
|
74
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.
|
|
94
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.5.0/changelog.html>`_.
|
|
@@ -60,10 +60,10 @@ deployed outside of the central Airflow cluster is connected via HTTP(s) to the
|
|
|
60
60
|
edge_worker->api[label="HTTP(s)"]
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
* **Workers** - Execute the assigned tasks - most standard setup has local or centralized workers, e.g. via Celery
|
|
63
|
+
* **Workers** (Central) - Execute the assigned tasks - most standard setup has local or centralized workers, e.g. via Celery
|
|
64
64
|
* **Edge Workers** - Special workers which pull tasks via HTTP(s) as provided as feature via this provider package
|
|
65
65
|
* **Scheduler** - Responsible for adding the necessary tasks to the queue. The EdgeExecutor is running as a module inside the scheduler.
|
|
66
|
-
* **API server** - HTTP REST API Server provides access to Dag/task status information. The required end-points are
|
|
66
|
+
* **API server** (webserver in Airflow 2.x) - HTTP REST API Server provides access to Dag/task status information. The required end-points are
|
|
67
67
|
provided by the Edge provider plugin. The Edge Worker uses this API to pull tasks and send back the results.
|
|
68
68
|
* **Database** - Contains information about the status of tasks, Dags, Variables, connections, etc.
|
|
69
69
|
|
|
@@ -73,19 +73,18 @@ In detail the parts of the Edge provider are deployed as follows:
|
|
|
73
73
|
:alt: Overview and communication of Edge Provider modules
|
|
74
74
|
|
|
75
75
|
* **EdgeExecutor** - The EdgeExecutor is running inside the core Airflow scheduler. It is responsible for
|
|
76
|
-
scheduling tasks and sending them to the Edge job queue in the database.
|
|
77
|
-
``
|
|
78
|
-
``executor`` configuration option in the ``airflow.cfg`` file to
|
|
76
|
+
scheduling tasks and sending them to the Edge job queue in the database. To activate the EdgeExecutor, you
|
|
77
|
+
need to set the ``executor`` configuration option in the ``airflow.cfg`` file to
|
|
79
78
|
``airflow.providers.edge3.executors.EdgeExecutor``. For more details see :doc:`edge_executor`. Note that also
|
|
80
79
|
multiple executors can be used in parallel together with the EdgeExecutor.
|
|
81
|
-
* **API server** - The API server is providing REST endpoints to the web UI as well
|
|
82
|
-
Edge provider adds a plugin that provides additional REST API for the Edge Worker
|
|
83
|
-
manage workers (
|
|
80
|
+
* **API server** (webserver in Airflow 2.x) - The API server is providing REST endpoints to the web UI as well
|
|
81
|
+
as serves static files. The Edge provider adds a plugin that provides additional REST API for the Edge Worker
|
|
82
|
+
as well as UI elements to manage workers (not available in Airflow 3.0).
|
|
84
83
|
The API server is responsible for handling requests from the Edge Worker and sending back the results. To
|
|
85
84
|
activate the API server, you need to set the ``api_enabled`` configuration option in ``edge`` section in the
|
|
86
85
|
``airflow.cfg`` file to ``True``. The API endpoints for edge is not started by default.
|
|
87
|
-
|
|
88
|
-
* **Database** - The Airflow meta database is used to store the status of tasks, Dags, Variables,
|
|
86
|
+
For more details see :doc:`ui_plugin`.
|
|
87
|
+
* **Database** - The Airflow meta database is used to store the status of tasks, Dags, Variables, Connections
|
|
89
88
|
etc. The Edge provider uses the database to store the status of the Edge Worker instances and the tasks that
|
|
90
89
|
are assigned to it. The database is also used to store the results of the tasks that are executed by the
|
|
91
90
|
Edge Worker. Setup of needed tables and migration is done automatically when the provider package is deployed.
|
|
@@ -174,7 +173,7 @@ The following features are known missing and will be implemented in increments:
|
|
|
174
173
|
- Test/Support on Windows for Edge Worker
|
|
175
174
|
|
|
176
175
|
- Scaling test - Check and define boundaries of workers/jobs. Today it is known to
|
|
177
|
-
scale into a range of
|
|
176
|
+
scale into a range of ~80 workers. This is not a hard limit but just an experience reported.
|
|
178
177
|
- Load tests - impact of scaled execution and code optimization
|
|
179
178
|
- Incremental logs during task execution can be served w/o shared log disk on api-server
|
|
180
179
|
- Reduce dependencies during execution: Today the worker depends on the airflow core with a lot
|
{apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/changelog.rst
RENAMED
|
@@ -27,6 +27,89 @@
|
|
|
27
27
|
Changelog
|
|
28
28
|
---------
|
|
29
29
|
|
|
30
|
+
1.5.0
|
|
31
|
+
.....
|
|
32
|
+
|
|
33
|
+
Features
|
|
34
|
+
~~~~~~~~
|
|
35
|
+
|
|
36
|
+
* `` Add push_logs configuration option to Edge executor (#58125)``
|
|
37
|
+
|
|
38
|
+
Misc
|
|
39
|
+
~~~~
|
|
40
|
+
|
|
41
|
+
* ``Convert all airflow distributions to be compliant with ASF requirements (#58138)``
|
|
42
|
+
* ``Bump the edge-ui-package-updates group across 1 directory with 19 updates (#58235)``
|
|
43
|
+
|
|
44
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
45
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
46
|
+
* ``Delete all unnecessary LICENSE Files (#58191)``
|
|
47
|
+
* ``Enable PT006 rule to 6 files in providers (edge3,git) (#58018)``
|
|
48
|
+
* ``Synchronize default versions in all split .pre-commit-config.yaml (#57851)``
|
|
49
|
+
|
|
50
|
+
1.4.1
|
|
51
|
+
.....
|
|
52
|
+
|
|
53
|
+
.. warning::
|
|
54
|
+
The React Plugin integration in this release is incompatible with Airflow 3.1.0
|
|
55
|
+
It is recommended to use apache-airflow>=3.1.1
|
|
56
|
+
|
|
57
|
+
Bug Fixes
|
|
58
|
+
~~~~~~~~~
|
|
59
|
+
|
|
60
|
+
* ``Fix Link to Dag in Plugin (#55642)``
|
|
61
|
+
* ``Bugfix/support Subpath w/o Execution API Url (#57372)``
|
|
62
|
+
* ``Adjust authentication token after UI changes in Airflow 3.1.1 (#57370)``
|
|
63
|
+
|
|
64
|
+
Misc
|
|
65
|
+
~~~~
|
|
66
|
+
|
|
67
|
+
* ``Bump vite from 7.1.7 to 7.1.11 in plugin integration (#56909)``
|
|
68
|
+
* ``Bump happy-dom from 18.0.1 to 20.0.2 in plugin integration (#56686)``
|
|
69
|
+
* ``Bump the edge-ui-package-updates group across 1 directory with 23 updates (#57286)``
|
|
70
|
+
* ``Fix mypy warnings for SQLA2 migration (#56989)``
|
|
71
|
+
|
|
72
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
73
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
74
|
+
* ``Extract prek hooks for Edge provider (#57104)``
|
|
75
|
+
* ``Prepare edge3 provider ad-hoc release (October 2025) (#57280)``
|
|
76
|
+
* ``Enable ruff PLW1508 rule (#57653)``
|
|
77
|
+
* ``Fix code formatting via ruff preview (#57641)``
|
|
78
|
+
* ``Prepare edge3 provider ad-hoc release rc2 (October 2025) (#57538)``
|
|
79
|
+
|
|
80
|
+
1.4.0
|
|
81
|
+
.....
|
|
82
|
+
|
|
83
|
+
Features
|
|
84
|
+
~~~~~~~~
|
|
85
|
+
|
|
86
|
+
* ``Introduce generic Callbacks to support running callbacks on executors (#54796)``
|
|
87
|
+
* ``Add revoke_task implementation to EdgeExecutor for task queued timeout support (#56240)``
|
|
88
|
+
|
|
89
|
+
Bug Fixes
|
|
90
|
+
~~~~~~~~~
|
|
91
|
+
|
|
92
|
+
* ``Bugfix/remove airflow utils deprecations in edge (#56568)``
|
|
93
|
+
* ``Fix Edge3 provider navigation with webserver base_url configuration (#56189)``
|
|
94
|
+
|
|
95
|
+
Misc
|
|
96
|
+
~~~~
|
|
97
|
+
|
|
98
|
+
* ``Migrate edge3 provider to ''common.compat'' (#56998)``
|
|
99
|
+
* ``SQLA2: Partially fix type hints in the edge3 provider (#56873)``
|
|
100
|
+
|
|
101
|
+
Doc-only
|
|
102
|
+
~~~~~~~~
|
|
103
|
+
|
|
104
|
+
* ``Correct 'Dag' to 'DAG' for code snippets in provider docs (#56727)``
|
|
105
|
+
* ``Revise details of edge documentation after Airflow 3.1 release (#56166)``
|
|
106
|
+
* ``Remove placeholder Release Date in changelog and index files (#56056)``
|
|
107
|
+
|
|
108
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
109
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
110
|
+
* ``Common.Compat: Extract reusable compat utilities and rename to sdk (#56884)``
|
|
111
|
+
* ``Enable PT011 rule to prvoider tests (#56277)``
|
|
112
|
+
|
|
30
113
|
1.3.1
|
|
31
114
|
.....
|
|
32
115
|
|
|
@@ -48,8 +131,6 @@ Misc
|
|
|
48
131
|
.....
|
|
49
132
|
|
|
50
133
|
|
|
51
|
-
Release Date: ``|PypiReleaseDate|``
|
|
52
|
-
|
|
53
134
|
Features
|
|
54
135
|
~~~~~~~~
|
|
55
136
|
|
|
@@ -75,10 +156,10 @@ Misc
|
|
|
75
156
|
|
|
76
157
|
* ``Pick/vite vitest full (#55623)``
|
|
77
158
|
* ``Bump React and React-DOM (#55598)``
|
|
78
|
-
* ``Bump axios from 1.11.0 to 1.12.0 in
|
|
159
|
+
* ``Bump axios from 1.11.0 to 1.12.0 in plugin integration (#55550)``
|
|
79
160
|
* ``Some small UI polishing for Edge React UI (#55545)``
|
|
80
161
|
* ``Adjust Edge color scheme after merge of PR 53981 (#55485)``
|
|
81
|
-
* ``Bump vite from 5.4.19 to 5.4.20 in
|
|
162
|
+
* ``Bump vite from 5.4.19 to 5.4.20 in plugin integration (#55449)``
|
|
82
163
|
|
|
83
164
|
Doc-only
|
|
84
165
|
~~~~~~~~
|
|
@@ -88,8 +169,6 @@ Doc-only
|
|
|
88
169
|
1.2.0
|
|
89
170
|
.....
|
|
90
171
|
|
|
91
|
-
Release Date: ``|PypiReleaseDate|``
|
|
92
|
-
|
|
93
172
|
Features
|
|
94
173
|
~~~~~~~~
|
|
95
174
|
|
{apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/deployment.rst
RENAMED
|
@@ -21,8 +21,7 @@ Edge Worker Deployment
|
|
|
21
21
|
Edge Workers can be deployed outside of the central Airflow infrastructure. They
|
|
22
22
|
are connected to the Airflow API server via HTTP(s). The Edge Worker is a
|
|
23
23
|
lightweight component that can be deployed on any machine that has outbound
|
|
24
|
-
HTTP(s) access to the Airflow API server.
|
|
25
|
-
lightweight and easy to deploy. It allows you to run Airflow tasks on machines
|
|
24
|
+
HTTP(s) access to the Airflow API server. It allows you to run Airflow tasks on machines
|
|
26
25
|
that are not part of your main data center, e.g. edge servers. This also allows to
|
|
27
26
|
deploy only reduced dependencies on the edge worker.
|
|
28
27
|
|
|
@@ -46,17 +45,18 @@ Minimum Airflow configuration settings for the Edge Worker to make it running is
|
|
|
46
45
|
|
|
47
46
|
- Section ``[api_auth]``
|
|
48
47
|
|
|
49
|
-
- ``jwt_secret``: A
|
|
48
|
+
- ``jwt_secret``: A shared secret between workers and the api-server to authenticate
|
|
49
|
+
(starting from version 3.0.0).
|
|
50
50
|
|
|
51
51
|
- Section ``[core]``
|
|
52
52
|
|
|
53
53
|
- ``execution_api_server_url``: If not set, the base URL from ``edge.api_url`` will be used. For example,
|
|
54
|
-
when ``edge.api_url`` is set to ``https://your-hostname-and-port/edge_worker/v1/rpcapi``, it will
|
|
55
|
-
default to ``https://your-hostname-and-port/execution
|
|
54
|
+
when ``edge.api_url`` is set to ``https://your-hostname-and-port/subpath/edge_worker/v1/rpcapi``, it will
|
|
55
|
+
default to ``https://your-hostname-and-port/subpath/execution/`` (starting from version Airflow version 3.0.0).
|
|
56
56
|
- ``executor``: Executor must be set or added to be ``airflow.providers.edge3.executors.EdgeExecutor``
|
|
57
57
|
- ``internal_api_secret_key``: An encryption key must be set on api-server and Edge Worker component as
|
|
58
58
|
shared secret to authenticate traffic. It should be a random string like the fernet key
|
|
59
|
-
(for versions earlier than 3.0.0).
|
|
59
|
+
(for versions earlier than 3.0.0 - from Airflow 3.0 and above this is using ``api_auth.jwt_secret``).
|
|
60
60
|
|
|
61
61
|
- Section ``[edge]``
|
|
62
62
|
|
|
@@ -72,6 +72,20 @@ subcommand
|
|
|
72
72
|
.. code-block:: bash
|
|
73
73
|
|
|
74
74
|
airflow edge worker
|
|
75
|
+
2025-09-27T12:28:32.954316Z [info ] Starting worker with API endpoint http://localhost:8080/edge_worker/v1/rpcapi
|
|
76
|
+
____________ _____________
|
|
77
|
+
____ |__( )_________ __/__ /________ __
|
|
78
|
+
____ /| |_ /__ ___/_ /_ __ /_ __ \_ | /| / /
|
|
79
|
+
___ ___ | / _ / _ __/ _ / / /_/ /_ |/ |/ /
|
|
80
|
+
_/_/ |_/_/ /_/ /_/ /_/ \____/____/|__/
|
|
81
|
+
____ __ _ __ __
|
|
82
|
+
/ __/__/ /__ ____ | | /| / /__ ____/ /_____ ____
|
|
83
|
+
/ _// _ / _ / -_) | |/ |/ / _ \/ __/ _/ -_) __/
|
|
84
|
+
/___/\_,_/\_, /\__/ |__/|__/\___/_/ /_/\_\\__/_/
|
|
85
|
+
/___/
|
|
86
|
+
|
|
87
|
+
2025-09-27T12:28:33.171525Z [info ] No new job to process
|
|
88
|
+
|
|
75
89
|
|
|
76
90
|
You can also start this worker in the background by running
|
|
77
91
|
it as a daemonized process. Additionally, you can redirect stdout
|
|
@@ -97,9 +111,9 @@ process as and wait until all running tasks are completed. Also in a console you
|
|
|
97
111
|
``Ctrl-C`` to stop the worker.
|
|
98
112
|
|
|
99
113
|
If you want to monitor the remote activity and worker, use the UI plugin which
|
|
100
|
-
is included in the provider package and install it on the webserver and use the
|
|
114
|
+
is included in the provider package and install it on the api-server / webserver and use the
|
|
101
115
|
"Admin" - "Edge Worker Hosts" and "Edge Worker Jobs" pages.
|
|
102
|
-
(Note: The plugin is not
|
|
116
|
+
(Note: The plugin is not available on Airflow 3.0 UI, it is only in 2.x and 3.1++)
|
|
103
117
|
|
|
104
118
|
If you want to check status of the worker via CLI you can use the command
|
|
105
119
|
|
|
@@ -27,6 +27,9 @@ The configuration parameters of the Edge Executor can be found in the Edge provi
|
|
|
27
27
|
|
|
28
28
|
To understand the setup of the Edge Executor, please also take a look to :doc:`architecture`.
|
|
29
29
|
|
|
30
|
+
See more details Airflow documentation
|
|
31
|
+
:ref:`apache-airflow:using-multiple-executors-concurrently`.
|
|
32
|
+
|
|
30
33
|
.. _edge_executor:queue:
|
|
31
34
|
|
|
32
35
|
Queues
|
|
@@ -43,6 +46,7 @@ Workers can listen to one or multiple queues of tasks. When a worker is
|
|
|
43
46
|
started (using command ``airflow edge worker``), a set of comma-delimited queue
|
|
44
47
|
names (with no whitespace) can be given (e.g. ``airflow edge worker -q remote,wisconsin_site``).
|
|
45
48
|
This worker will then only pick up tasks wired to the specified queue(s).
|
|
49
|
+
If the ``queue`` attribute is not given then a worker will pick tasks from all queues.
|
|
46
50
|
|
|
47
51
|
This can be useful if you need specialized workers, either from a
|
|
48
52
|
resource perspective (for say very lightweight tasks where one worker
|
|
@@ -80,12 +84,12 @@ Here is an example setting pool_slots for a task:
|
|
|
80
84
|
|
|
81
85
|
import pendulum
|
|
82
86
|
|
|
83
|
-
from airflow import
|
|
87
|
+
from airflow import DAG
|
|
84
88
|
from airflow.decorators import task
|
|
85
89
|
from airflow.example_dags.libs.helper import print_stuff
|
|
86
90
|
from airflow.settings import AIRFLOW_HOME
|
|
87
91
|
|
|
88
|
-
with
|
|
92
|
+
with DAG(
|
|
89
93
|
dag_id="example_edge_pool_slots",
|
|
90
94
|
schedule=None,
|
|
91
95
|
start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
|
|
@@ -104,9 +108,10 @@ Current Limitations Edge Executor
|
|
|
104
108
|
|
|
105
109
|
- Some known limitations
|
|
106
110
|
|
|
107
|
-
- Log upload will only work if you use a single
|
|
108
|
-
Logs are uploaded in chunks and are transferred via API. If you use multiple webservers w/o
|
|
109
|
-
the logs will be scattered across the webserver instances
|
|
111
|
+
- Log upload will only work if you use a single api-server / webserver instance or they need to share one log file
|
|
112
|
+
volume. Logs are uploaded in chunks and are transferred via API. If you use multiple api-servers / webservers w/o
|
|
113
|
+
a shared log volume the logs will be scattered across the api-server / webserver instances and if you view the
|
|
114
|
+
logs on UI you will only see fractions of the logs.
|
|
110
115
|
- Performance: No extensive performance assessment and scaling tests have been made. The edge executor package is
|
|
111
116
|
optimized for stability. This will be incrementally improved in future releases. Setups have reported stable
|
|
112
|
-
operation with ~80 workers until now. Note that executed tasks require more webserver API capacity.
|
|
117
|
+
operation with ~80 workers until now. Note that executed tasks require more api-server / webserver API capacity.
|
{apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/index.rst
RENAMED
|
@@ -90,7 +90,7 @@ Additional REST API endpoints are provided to distribute tasks and manage the ed
|
|
|
90
90
|
are provided by the API server.
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
Release: 1.
|
|
93
|
+
Release: 1.5.0
|
|
94
94
|
|
|
95
95
|
Provider package
|
|
96
96
|
----------------
|
|
@@ -110,10 +110,39 @@ Requirements
|
|
|
110
110
|
|
|
111
111
|
The minimum Apache Airflow version supported by this provider distribution is ``2.10.0``.
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
PIP package
|
|
115
|
-
|
|
116
|
-
``apache-airflow``
|
|
117
|
-
``
|
|
118
|
-
``
|
|
119
|
-
|
|
113
|
+
========================================== ====================
|
|
114
|
+
PIP package Version required
|
|
115
|
+
========================================== ====================
|
|
116
|
+
``apache-airflow`` ``>=2.10.0,!=3.1.0``
|
|
117
|
+
``apache-airflow-providers-common-compat`` ``>=1.8.0``
|
|
118
|
+
``pydantic`` ``>=2.11.0``
|
|
119
|
+
``retryhttp`` ``>=1.2.0,!=1.3.0``
|
|
120
|
+
========================================== ====================
|
|
121
|
+
|
|
122
|
+
Cross provider package dependencies
|
|
123
|
+
-----------------------------------
|
|
124
|
+
|
|
125
|
+
Those are dependencies that might be needed in order to use all the features of the package.
|
|
126
|
+
You need to install the specified provider distributions in order to use them.
|
|
127
|
+
|
|
128
|
+
You can install such cross-provider dependencies when installing from PyPI. For example:
|
|
129
|
+
|
|
130
|
+
.. code-block:: bash
|
|
131
|
+
|
|
132
|
+
pip install apache-airflow-providers-edge3[common.compat]
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
================================================================================================================== =================
|
|
136
|
+
Dependent package Extra
|
|
137
|
+
================================================================================================================== =================
|
|
138
|
+
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
|
139
|
+
================================================================================================================== =================
|
|
140
|
+
|
|
141
|
+
Downloading official packages
|
|
142
|
+
-----------------------------
|
|
143
|
+
|
|
144
|
+
You can download officially released packages and verify their checksums and signatures from the
|
|
145
|
+
`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
|
|
146
|
+
|
|
147
|
+
* `The apache-airflow-providers-edge3 1.5.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.5.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.5.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.5.0.tar.gz.sha512>`__)
|
|
148
|
+
* `The apache-airflow-providers-edge3 1.5.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.5.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.5.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.5.0-py3-none-any.whl.sha512>`__)
|
{apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/docs/ui_plugin.rst
RENAMED
|
@@ -22,7 +22,7 @@ The Edge provider uses a Plugin to
|
|
|
22
22
|
|
|
23
23
|
- Extend the REST API endpoints for connecting workers to the Airflow cluster
|
|
24
24
|
- Provide a web UI for managing the workers and monitoring their status and tasks
|
|
25
|
-
(Note: Airflow 3.0 does not have support for UI plugins. The UI plugin is only available in Airflow 2.
|
|
25
|
+
(Note: Airflow 3.0 does not have support for UI plugins. The UI plugin is only available in Airflow 2.x and in 3.1 and newer.)
|
|
26
26
|
|
|
27
27
|
REST API endpoints
|
|
28
28
|
------------------
|
|
@@ -35,14 +35,14 @@ The Edge provider adds the following REST API endpoints to the Airflow API:
|
|
|
35
35
|
- ``/edge_worker/v1/health``: Check that the API endpoint is deployed and active
|
|
36
36
|
|
|
37
37
|
To see full documentation of the API endpoints open the Airflow web UI and navigate to
|
|
38
|
-
the sub-path ``/edge_worker/docs`` (Airflow 3.0) or ``/edge_worker/v1/ui`` (Airflow 2.
|
|
38
|
+
the sub-path ``/edge_worker/docs`` (Airflow 3.0) or ``/edge_worker/v1/ui`` (Airflow 2.x).
|
|
39
39
|
|
|
40
40
|
Web UI Plugin
|
|
41
41
|
-------------
|
|
42
42
|
|
|
43
43
|
.. note::
|
|
44
44
|
|
|
45
|
-
Airflow 3.0 does not support UI plugins. The UI plugin is only available in Airflow 2.
|
|
45
|
+
Airflow 3.0 does not support UI plugins. The UI plugin is only available in Airflow 2.x and in 3.1 and newer.
|
|
46
46
|
Alternatively you can use the CLI commands as described in :ref:`deployment:maintenance-mgmt-cli`.
|
|
47
47
|
|
|
48
48
|
The Edge provider adds a web UI plugin to the Airflow web UI. The plugin is
|
{apache_airflow_providers_edge3-1.3.1rc1 → apache_airflow_providers_edge3-1.5.0}/provider.yaml
RENAMED
|
@@ -33,13 +33,16 @@ description: |
|
|
|
33
33
|
are provided by the API server.
|
|
34
34
|
|
|
35
35
|
state: ready
|
|
36
|
-
source-date-epoch:
|
|
36
|
+
source-date-epoch: 1763069258
|
|
37
37
|
|
|
38
38
|
# Note that those versions are maintained by release manager - do not update them manually
|
|
39
39
|
# with the exception of case where other provider in sources has >= new provider version.
|
|
40
40
|
# In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
|
|
41
41
|
# to be done in the same PR
|
|
42
42
|
versions:
|
|
43
|
+
- 1.5.0
|
|
44
|
+
- 1.4.1
|
|
45
|
+
- 1.4.0
|
|
43
46
|
- 1.3.1
|
|
44
47
|
- 1.3.0
|
|
45
48
|
- 1.2.0
|
|
@@ -130,6 +133,15 @@ config:
|
|
|
130
133
|
type: integer
|
|
131
134
|
example: ~
|
|
132
135
|
default: "524288"
|
|
136
|
+
push_logs:
|
|
137
|
+
description: |
|
|
138
|
+
Flag to enable or disable pushing of log files from edge worker to the central site.
|
|
139
|
+
When enabled, edge workers will upload task log files in chunks to the central Airflow site.
|
|
140
|
+
When disabled, logs will only be available locally on the edge worker.
|
|
141
|
+
version_added: 1.5.0
|
|
142
|
+
type: boolean
|
|
143
|
+
example: "True"
|
|
144
|
+
default: "True"
|
|
133
145
|
worker_umask:
|
|
134
146
|
description: |
|
|
135
147
|
The default umask to use for edge worker when run in daemon mode
|