This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 0d4b00a140 Adding bare/empty provider package for AIP-69 as starting
point (#42046)
0d4b00a140 is described below
commit 0d4b00a140572ceb78f840a9c5c3acd47340ed85
Author: Jens Scheffler <[email protected]>
AuthorDate: Thu Sep 12 00:27:56 2024 +0200
Adding bare/empty provider package for AIP-69 as starting point (#42046)
---
.../airflow_providers_bug_report.yml | 1 +
INSTALL | 2 +-
airflow/providers/edge/CHANGELOG.rst | 45 ++++++++++
airflow/providers/edge/__init__.py | 39 +++++++++
airflow/providers/edge/provider.yaml | 96 ++++++++++++++++++++++
.../12_airflow_dependencies_and_extras.rst | 2 +-
dev/breeze/doc/images/output_build-docs.svg | 8 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
...tput_release-management_add-back-references.svg | 8 +-
...tput_release-management_add-back-references.txt | 2 +-
.../output_release-management_publish-docs.svg | 8 +-
.../output_release-management_publish-docs.txt | 2 +-
...output_sbom_generate-providers-requirements.svg | 4 +-
...output_sbom_generate-providers-requirements.txt | 2 +-
dev/breeze/src/airflow_breeze/global_constants.py | 4 +-
docs/apache-airflow-providers-edge/changelog.rst | 25 ++++++
docs/apache-airflow-providers-edge/commits.rst | 34 ++++++++
.../configurations-ref.rst | 18 ++++
docs/apache-airflow-providers-edge/index.rst | 85 +++++++++++++++++++
.../installing-providers-from-sources.rst | 18 ++++
docs/apache-airflow-providers-edge/security.rst | 18 ++++
docs/apache-airflow/extra-packages-ref.rst | 4 +
generated/provider_dependencies.json | 11 +++
pyproject.toml | 2 +-
tests/providers/edge/__init__.py | 17 ++++
25 files changed, 434 insertions(+), 23 deletions(-)
diff --git a/.github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml
b/.github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml
index 4cd0cad19f..707a3dabea 100644
--- a/.github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml
@@ -58,6 +58,7 @@ body:
- dingding
- discord
- docker
+ - edge
- elasticsearch
- exasol
- fab
diff --git a/INSTALL b/INSTALL
index 8d81910f07..d9ae8088ee 100644
--- a/INSTALL
+++ b/INSTALL
@@ -274,7 +274,7 @@ airbyte, alibaba, amazon, apache.beam, apache.cassandra,
apache.drill, apache.dr
apache.hdfs, apache.hive, apache.iceberg, apache.impala, apache.kafka,
apache.kylin, apache.livy,
apache.pig, apache.pinot, apache.spark, apprise, arangodb, asana,
atlassian.jira, celery, cloudant,
cncf.kubernetes, cohere, common.compat, common.io, common.sql, databricks,
datadog, dbt.cloud,
-dingding, discord, docker, elasticsearch, exasol, fab, facebook, ftp, github,
google, grpc,
+dingding, discord, docker, edge, elasticsearch, exasol, fab, facebook, ftp,
github, google, grpc,
hashicorp, http, imap, influxdb, jdbc, jenkins, microsoft.azure,
microsoft.mssql, microsoft.psrp,
microsoft.winrm, mongo, mysql, neo4j, odbc, openai, openfaas, openlineage,
opensearch, opsgenie,
oracle, pagerduty, papermill, pgvector, pinecone, postgres, presto, qdrant,
redis, salesforce,
diff --git a/airflow/providers/edge/CHANGELOG.rst
b/airflow/providers/edge/CHANGELOG.rst
new file mode 100644
index 0000000000..57309ff6cd
--- /dev/null
+++ b/airflow/providers/edge/CHANGELOG.rst
@@ -0,0 +1,45 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+.. NOTE TO CONTRIBUTORS:
+ Please, only add notes to the Changelog just below the "Changelog" header
when there are some breaking changes
+ and you want to add an explanation to the users on how they are supposed to
deal with them.
+ The changelog is updated and maintained semi-automatically by release
manager.
+
+``apache-airflow-providers-edge``
+
+
+Changelog
+---------
+
+0.1.0pre0
+.........
+
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+
+0.1.0
+.....
+
+|experimental|
+
+Initial version of the provider.
+
+.. note::
+ This provider is currently experimental
diff --git a/airflow/providers/edge/__init__.py
b/airflow/providers/edge/__init__.py
new file mode 100644
index 0000000000..cf33596f63
--- /dev/null
+++ b/airflow/providers/edge/__init__.py
@@ -0,0 +1,39 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
+# OVERWRITTEN WHEN PREPARING DOCUMENTATION FOR THE PACKAGES.
+#
+# IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
+# `PROVIDER__INIT__PY_TEMPLATE.py.jinja2` IN the
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+#
+from __future__ import annotations
+
+import packaging.version
+
+from airflow import __version__ as airflow_version
+
+__all__ = ["__version__"]
+
+__version__ = "0.1.0pre0"
+
+if
packaging.version.parse(packaging.version.parse(airflow_version).base_version)
< packaging.version.parse(
+ "2.10.0"
+):
+ raise RuntimeError(
+ f"The package `apache-airflow-providers-edge:{__version__}` needs
Apache Airflow 2.10.0+"
+ )
diff --git a/airflow/providers/edge/provider.yaml
b/airflow/providers/edge/provider.yaml
new file mode 100644
index 0000000000..cb775ee7cc
--- /dev/null
+++ b/airflow/providers/edge/provider.yaml
@@ -0,0 +1,96 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# yaml-language-server: $schema=../../provider.yaml.schema.json
+---
+package-name: apache-airflow-providers-edge
+name: Edge Executor
+description: |
+ Handle edge workers on remote sites via HTTP(s) connection and orchestrates
work over distributed sites
+
+state: not-ready
+source-date-epoch: 1720863625
+# note that those versions are maintained by release manager - do not update
them manually
+versions:
+ - 0.1.0pre0
+
+dependencies:
+ - apache-airflow>=2.10.0
+ - pydantic>=2.3.0
+
+config:
+ edge:
+ description: |
+ This section only applies if you are using the EdgeExecutor in
+ ``[core]`` section above
+ options:
+ api_enabled:
+ description: |
+ Flag if the plugin endpoint is enabled to serve Edge Workers.
+ version_added: ~
+ type: boolean
+ example: "True"
+ default: "False"
+ api_url:
+ description: |
+ URL endpoint on which the Airflow code edge API is accessible from
edge worker.
+ version_added: ~
+ type: string
+ example: https://airflow.hosting.org/edge_worker/v1/rpcapi
+ default: ~
+ job_poll_interval:
+ description: |
+ Edge Worker currently polls for new jobs via HTTP. This parameter
defines the number
+ of seconds it should sleep between polls for new jobs.
+ Job polling only happens if the Edge Worker seeks for new work. Not
if busy.
+ version_added: ~
+ type: integer
+ example: "5"
+ default: "5"
+ heartbeat_interval:
+ description: |
+ Edge Worker continuously reports status to the central site. This
parameter defines
+ how often a status with heartbeat should be sent.
+ During heartbeat status is reported as well as it is checked if a
running task is to be terminated.
+ version_added: ~
+ type: integer
+ example: "10"
+ default: "30"
+ worker_concurrency:
+ description: |
+ The concurrency that will be used when starting workers with the
+ ``airflow edge worker`` command. This defines the number of task
instances that
+ a worker will take, so size up your workers based on the resources on
+ your worker box and the nature of your tasks
+ version_added: ~
+ type: integer
+ example: ~
+ default: "8"
+ job_success_purge:
+ description: |
+ Minutes after which successful jobs for EdgeExecutor are purged from
database
+ version_added: ~
+ type: integer
+ example: ~
+ default: "5"
+ job_fail_purge:
+ description: |
+ Minutes after which failed jobs for EdgeExecutor are purged from
database
+ version_added: ~
+ type: integer
+ example: ~
+ default: "60"
diff --git a/contributing-docs/12_airflow_dependencies_and_extras.rst
b/contributing-docs/12_airflow_dependencies_and_extras.rst
index 70f30fa0b7..18fdf30e6e 100644
--- a/contributing-docs/12_airflow_dependencies_and_extras.rst
+++ b/contributing-docs/12_airflow_dependencies_and_extras.rst
@@ -182,7 +182,7 @@ airbyte, alibaba, amazon, apache.beam, apache.cassandra,
apache.drill, apache.dr
apache.hdfs, apache.hive, apache.iceberg, apache.impala, apache.kafka,
apache.kylin, apache.livy,
apache.pig, apache.pinot, apache.spark, apprise, arangodb, asana,
atlassian.jira, celery, cloudant,
cncf.kubernetes, cohere, common.compat, common.io, common.sql, databricks,
datadog, dbt.cloud,
-dingding, discord, docker, elasticsearch, exasol, fab, facebook, ftp, github,
google, grpc,
+dingding, discord, docker, edge, elasticsearch, exasol, fab, facebook, ftp,
github, google, grpc,
hashicorp, http, imap, influxdb, jdbc, jenkins, microsoft.azure,
microsoft.mssql, microsoft.psrp,
microsoft.winrm, mongo, mysql, neo4j, odbc, openai, openfaas, openlineage,
opensearch, opsgenie,
oracle, pagerduty, papermill, pgvector, pinecone, postgres, presto, qdrant,
redis, salesforce,
diff --git a/dev/breeze/doc/images/output_build-docs.svg
b/dev/breeze/doc/images/output_build-docs.svg
index c56344abf3..8fb52ec339 100644
--- a/dev/breeze/doc/images/output_build-docs.svg
+++ b/dev/breeze/doc/images/output_build-docs.svg
@@ -193,10 +193,10 @@
</text><text class="breeze-build-docs-r4" x="12.2" y="117.6" textLength="73.2"
clip-path="url(#breeze-build-docs-line-4)">apache</text><text
class="breeze-build-docs-r1" x="85.4" y="117.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-4)">.</text><text
class="breeze-build-docs-r4" x="97.6" y="117.6" textLength="109.8"
clip-path="url(#breeze-build-docs-line-4)">cassandra</text><text
class="breeze-build-docs-r1" x="207.4" y="117.6" textLength="36.6"
clip-path="url(#breeze-build- [...]
</text><text class="breeze-build-docs-r4" x="12.2" y="142" textLength="73.2"
clip-path="url(#breeze-build-docs-line-5)">apache</text><text
class="breeze-build-docs-r1" x="85.4" y="142" textLength="12.2"
clip-path="url(#breeze-build-docs-line-5)">.</text><text
class="breeze-build-docs-r4" x="97.6" y="142" textLength="73.2"
clip-path="url(#breeze-build-docs-line-5)">impala</text><text
class="breeze-build-docs-r1" x="170.8" y="142" textLength="36.6"
clip-path="url(#breeze-build-docs-line-5) [...]
</text><text class="breeze-build-docs-r4" x="12.2" y="166.4" textLength="97.6"
clip-path="url(#breeze-build-docs-line-6)">arangodb</text><text
class="breeze-build-docs-r1" x="109.8" y="166.4" textLength="36.6"
clip-path="url(#breeze-build-docs-line-6)"> | </text><text
class="breeze-build-docs-r4" x="146.4" y="166.4" textLength="61"
clip-path="url(#breeze-build-docs-line-6)">asana</text><text
class="breeze-build-docs-r1" x="207.4" y="166.4" textLength="36.6"
clip-path="url(#bree [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="190.8" textLength="73.2"
clip-path="url(#breeze-build-docs-line-7)">common</text><text
class="breeze-build-docs-r1" x="85.4" y="190.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-7)">.</text><text
class="breeze-build-docs-r4" x="97.6" y="190.8" textLength="36.6"
clip-path="url(#breeze-build-docs-line-7)">sql</text><text
class="breeze-build-docs-r1" x="134.2" y="190.8" textLength="36.6"
clip-path="url(#breeze-build-docs-li [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="215.2" textLength="36.6"
clip-path="url(#breeze-build-docs-line-8)">fab</text><text
class="breeze-build-docs-r1" x="48.8" y="215.2" textLength="36.6"
clip-path="url(#breeze-build-docs-line-8)"> | </text><text
class="breeze-build-docs-r4" x="85.4" y="215.2" textLength="97.6"
clip-path="url(#breeze-build-docs-line-8)">facebook</text><text
class="breeze-build-docs-r1" x="183" y="215.2" textLength="36.6"
clip-path="url(#breeze-b [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="239.6"
textLength="109.8"
clip-path="url(#breeze-build-docs-line-9)">microsoft</text><text
class="breeze-build-docs-r1" x="122" y="239.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-9)">.</text><text
class="breeze-build-docs-r4" x="134.2" y="239.6" textLength="61"
clip-path="url(#breeze-build-docs-line-9)">azure</text><text
class="breeze-build-docs-r1" x="195.2" y="239.6" textLength="36.6"
clip-path="url(#breeze-build-doc [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="264" textLength="97.6"
clip-path="url(#breeze-build-docs-line-10)">openfaas</text><text
class="breeze-build-docs-r1" x="109.8" y="264" textLength="36.6"
clip-path="url(#breeze-build-docs-line-10)"> | </text><text
class="breeze-build-docs-r4" x="146.4" y="264" textLength="134.2"
clip-path="url(#breeze-build-docs-line-10)">openlineage</text><text
class="breeze-build-docs-r1" x="280.6" y="264" textLength="36.6"
clip-path="url(# [...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="190.8" textLength="73.2"
clip-path="url(#breeze-build-docs-line-7)">common</text><text
class="breeze-build-docs-r1" x="85.4" y="190.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-7)">.</text><text
class="breeze-build-docs-r4" x="97.6" y="190.8" textLength="36.6"
clip-path="url(#breeze-build-docs-line-7)">sql</text><text
class="breeze-build-docs-r1" x="134.2" y="190.8" textLength="36.6"
clip-path="url(#breeze-build-docs-li [...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="215.2" textLength="73.2"
clip-path="url(#breeze-build-docs-line-8)">exasol</text><text
class="breeze-build-docs-r1" x="85.4" y="215.2" textLength="36.6"
clip-path="url(#breeze-build-docs-line-8)"> | </text><text
class="breeze-build-docs-r4" x="122" y="215.2" textLength="36.6"
clip-path="url(#breeze-build-docs-line-8)">fab</text><text
class="breeze-build-docs-r1" x="158.6" y="215.2" textLength="36.6"
clip-path="url(#breeze-bu [...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="239.6" textLength="85.4"
clip-path="url(#breeze-build-docs-line-9)">jenkins</text><text
class="breeze-build-docs-r1" x="97.6" y="239.6" textLength="36.6"
clip-path="url(#breeze-build-docs-line-9)"> | </text><text
class="breeze-build-docs-r4" x="134.2" y="239.6" textLength="109.8"
clip-path="url(#breeze-build-docs-line-9)">microsoft</text><text
class="breeze-build-docs-r1" x="244" y="239.6" textLength="12.2"
clip-path="url(#b [...]
+</text><text class="breeze-build-docs-r1" x="12.2" y="264" textLength="24.4"
clip-path="url(#breeze-build-docs-line-10)">| </text><text
class="breeze-build-docs-r4" x="36.6" y="264" textLength="97.6"
clip-path="url(#breeze-build-docs-line-10)">openfaas</text><text
class="breeze-build-docs-r1" x="134.2" y="264" textLength="36.6"
clip-path="url(#breeze-build-docs-line-10)"> | </text><text
class="breeze-build-docs-r4" x="170.8" y="264" textLength="134.2"
clip-path="url(#breez [...]
</text><text class="breeze-build-docs-r4" x="12.2" y="288.4" textLength="73.2"
clip-path="url(#breeze-build-docs-line-11)">presto</text><text
class="breeze-build-docs-r1" x="85.4" y="288.4" textLength="36.6"
clip-path="url(#breeze-build-docs-line-11)"> | </text><text
class="breeze-build-docs-r4" x="122" y="288.4" textLength="73.2"
clip-path="url(#breeze-build-docs-line-11)">qdrant</text><text
class="breeze-build-docs-r1" x="195.2" y="288.4" textLength="36.6"
clip-path="url(#bre [...]
</text><text class="breeze-build-docs-r4" x="12.2" y="312.8" textLength="73.2"
clip-path="url(#breeze-build-docs-line-12)">sqlite</text><text
class="breeze-build-docs-r1" x="85.4" y="312.8" textLength="36.6"
clip-path="url(#breeze-build-docs-line-12)"> | </text><text
class="breeze-build-docs-r4" x="122" y="312.8" textLength="36.6"
clip-path="url(#breeze-build-docs-line-12)">ssh</text><text
class="breeze-build-docs-r1" x="158.6" y="312.8" textLength="36.6"
clip-path="url(#breeze [...]
</text><text class="breeze-build-docs-r1" x="1464" y="337.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-13)">
diff --git a/dev/breeze/doc/images/output_build-docs.txt
b/dev/breeze/doc/images/output_build-docs.txt
index ab98306e86..8a3bc4349b 100644
--- a/dev/breeze/doc/images/output_build-docs.txt
+++ b/dev/breeze/doc/images/output_build-docs.txt
@@ -1 +1 @@
-ab4b8155064e482877babe3eeee0008e
+767cdd5028d6ac43dd9f2804e0501ee8
diff --git
a/dev/breeze/doc/images/output_release-management_add-back-references.svg
b/dev/breeze/doc/images/output_release-management_add-back-references.svg
index e72a67115d..65297fbbc1 100644
--- a/dev/breeze/doc/images/output_release-management_add-back-references.svg
+++ b/dev/breeze/doc/images/output_release-management_add-back-references.svg
@@ -141,10 +141,10 @@
</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="117.6" textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-4)">apache</text><text
class="breeze-release-management-add-back-references-r1" x="85.4" y="117.6"
textLength="12.2"
clip-path="url(#breeze-release-management-add-back-references-line-4)">.</text><text
class="breeze-release-management-add-back-references-r4" x="97.6" y="117.6"
textLength="109.8" clip-path="url(#breez [...]
</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="142" textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-5)">apache</text><text
class="breeze-release-management-add-back-references-r1" x="85.4" y="142"
textLength="12.2"
clip-path="url(#breeze-release-management-add-back-references-line-5)">.</text><text
class="breeze-release-management-add-back-references-r4" x="97.6" y="142"
textLength="73.2" clip-path="url(#breeze-relea [...]
</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="166.4" textLength="97.6"
clip-path="url(#breeze-release-management-add-back-references-line-6)">arangodb</text><text
class="breeze-release-management-add-back-references-r1" x="109.8" y="166.4"
textLength="36.6"
clip-path="url(#breeze-release-management-add-back-references-line-6)"> | </text><text
class="breeze-release-management-add-back-references-r4" x="146.4" y="166.4"
textLength="61" clip-pat [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="190.8" textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-7)">common</text><text
class="breeze-release-management-add-back-references-r1" x="85.4" y="190.8"
textLength="12.2"
clip-path="url(#breeze-release-management-add-back-references-line-7)">.</text><text
class="breeze-release-management-add-back-references-r4" x="97.6" y="190.8"
textLength="36.6" clip-path="url(#breeze [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="215.2" textLength="36.6"
clip-path="url(#breeze-release-management-add-back-references-line-8)">fab</text><text
class="breeze-release-management-add-back-references-r1" x="48.8" y="215.2"
textLength="36.6"
clip-path="url(#breeze-release-management-add-back-references-line-8)"> | </text><text
class="breeze-release-management-add-back-references-r4" x="85.4" y="215.2"
textLength="97.6" clip-path="ur [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="239.6" textLength="109.8"
clip-path="url(#breeze-release-management-add-back-references-line-9)">microsoft</text><text
class="breeze-release-management-add-back-references-r1" x="122" y="239.6"
textLength="12.2"
clip-path="url(#breeze-release-management-add-back-references-line-9)">.</text><text
class="breeze-release-management-add-back-references-r4" x="134.2" y="239.6"
textLength="61" clip-path="url(#bree [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="264" textLength="97.6"
clip-path="url(#breeze-release-management-add-back-references-line-10)">openfaas</text><text
class="breeze-release-management-add-back-references-r1" x="109.8" y="264"
textLength="36.6"
clip-path="url(#breeze-release-management-add-back-references-line-10)"> | </text><text
class="breeze-release-management-add-back-references-r4" x="146.4" y="264"
textLength="134.2" clip-path [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="190.8" textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-7)">common</text><text
class="breeze-release-management-add-back-references-r1" x="85.4" y="190.8"
textLength="12.2"
clip-path="url(#breeze-release-management-add-back-references-line-7)">.</text><text
class="breeze-release-management-add-back-references-r4" x="97.6" y="190.8"
textLength="36.6" clip-path="url(#breeze [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="215.2" textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-8)">exasol</text><text
class="breeze-release-management-add-back-references-r1" x="85.4" y="215.2"
textLength="36.6"
clip-path="url(#breeze-release-management-add-back-references-line-8)"> | </text><text
class="breeze-release-management-add-back-references-r4" x="122" y="215.2"
textLength="36.6" clip-path=" [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="239.6" textLength="85.4"
clip-path="url(#breeze-release-management-add-back-references-line-9)">jenkins</text><text
class="breeze-release-management-add-back-references-r1" x="97.6" y="239.6"
textLength="36.6"
clip-path="url(#breeze-release-management-add-back-references-line-9)"> | </text><text
class="breeze-release-management-add-back-references-r4" x="134.2" y="239.6"
textLength="109.8" clip-pa [...]
+</text><text class="breeze-release-management-add-back-references-r1" x="12.2"
y="264" textLength="24.4"
clip-path="url(#breeze-release-management-add-back-references-line-10)">| </text><text
class="breeze-release-management-add-back-references-r4" x="36.6" y="264"
textLength="97.6"
clip-path="url(#breeze-release-management-add-back-references-line-10)">openfaas</text><text
class="breeze-release-management-add-back-references-r1" x="134.2" y="264"
textLength="36.6" clip-path="url(#b [...]
</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="288.4" textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-11)">presto</text><text
class="breeze-release-management-add-back-references-r1" x="85.4" y="288.4"
textLength="36.6"
clip-path="url(#breeze-release-management-add-back-references-line-11)"> | </text><text
class="breeze-release-management-add-back-references-r4" x="122" y="288.4"
textLength="73.2" clip-path [...]
</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="312.8" textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-12)">sqlite</text><text
class="breeze-release-management-add-back-references-r1" x="85.4" y="312.8"
textLength="36.6"
clip-path="url(#breeze-release-management-add-back-references-line-12)"> | </text><text
class="breeze-release-management-add-back-references-r4" x="122" y="312.8"
textLength="36.6" clip-path [...]
</text><text class="breeze-release-management-add-back-references-r1" x="1464"
y="337.2" textLength="12.2"
clip-path="url(#breeze-release-management-add-back-references-line-13)">
diff --git
a/dev/breeze/doc/images/output_release-management_add-back-references.txt
b/dev/breeze/doc/images/output_release-management_add-back-references.txt
index 0855bdb46a..c198abfcb8 100644
--- a/dev/breeze/doc/images/output_release-management_add-back-references.txt
+++ b/dev/breeze/doc/images/output_release-management_add-back-references.txt
@@ -1 +1 @@
-00ce41a98e5da484704dfe0b988d953b
+743a6e2ad304078a210877279db4546a
diff --git a/dev/breeze/doc/images/output_release-management_publish-docs.svg
b/dev/breeze/doc/images/output_release-management_publish-docs.svg
index 5f65e2aef2..95d455d7b0 100644
--- a/dev/breeze/doc/images/output_release-management_publish-docs.svg
+++ b/dev/breeze/doc/images/output_release-management_publish-docs.svg
@@ -198,10 +198,10 @@
</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="117.6" textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-4)">apache</text><text
class="breeze-release-management-publish-docs-r1" x="85.4" y="117.6"
textLength="12.2"
clip-path="url(#breeze-release-management-publish-docs-line-4)">.</text><text
class="breeze-release-management-publish-docs-r4" x="97.6" y="117.6"
textLength="109.8" clip-path="url(#breeze-release-management-publish-docs-l
[...]
</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="142" textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-5)">apache</text><text
class="breeze-release-management-publish-docs-r1" x="85.4" y="142"
textLength="12.2"
clip-path="url(#breeze-release-management-publish-docs-line-5)">.</text><text
class="breeze-release-management-publish-docs-r4" x="97.6" y="142"
textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-5)" [...]
</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="166.4" textLength="97.6"
clip-path="url(#breeze-release-management-publish-docs-line-6)">arangodb</text><text
class="breeze-release-management-publish-docs-r1" x="109.8" y="166.4"
textLength="36.6"
clip-path="url(#breeze-release-management-publish-docs-line-6)"> | </text><text
class="breeze-release-management-publish-docs-r4" x="146.4" y="166.4"
textLength="61" clip-path="url(#breeze-release-management-p [...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="190.8" textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-7)">common</text><text
class="breeze-release-management-publish-docs-r1" x="85.4" y="190.8"
textLength="12.2"
clip-path="url(#breeze-release-management-publish-docs-line-7)">.</text><text
class="breeze-release-management-publish-docs-r4" x="97.6" y="190.8"
textLength="36.6" clip-path="url(#breeze-release-management-publish-docs-li
[...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="215.2" textLength="36.6"
clip-path="url(#breeze-release-management-publish-docs-line-8)">fab</text><text
class="breeze-release-management-publish-docs-r1" x="48.8" y="215.2"
textLength="36.6"
clip-path="url(#breeze-release-management-publish-docs-line-8)"> | </text><text
class="breeze-release-management-publish-docs-r4" x="85.4" y="215.2"
textLength="97.6" clip-path="url(#breeze-release-management-publis [...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="239.6" textLength="109.8"
clip-path="url(#breeze-release-management-publish-docs-line-9)">microsoft</text><text
class="breeze-release-management-publish-docs-r1" x="122" y="239.6"
textLength="12.2"
clip-path="url(#breeze-release-management-publish-docs-line-9)">.</text><text
class="breeze-release-management-publish-docs-r4" x="134.2" y="239.6"
textLength="61" clip-path="url(#breeze-release-management-publish-docs- [...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="264" textLength="97.6"
clip-path="url(#breeze-release-management-publish-docs-line-10)">openfaas</text><text
class="breeze-release-management-publish-docs-r1" x="109.8" y="264"
textLength="36.6"
clip-path="url(#breeze-release-management-publish-docs-line-10)"> | </text><text
class="breeze-release-management-publish-docs-r4" x="146.4" y="264"
textLength="134.2" clip-path="url(#breeze-release-management-pu [...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="190.8" textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-7)">common</text><text
class="breeze-release-management-publish-docs-r1" x="85.4" y="190.8"
textLength="12.2"
clip-path="url(#breeze-release-management-publish-docs-line-7)">.</text><text
class="breeze-release-management-publish-docs-r4" x="97.6" y="190.8"
textLength="36.6" clip-path="url(#breeze-release-management-publish-docs-li
[...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="215.2" textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-8)">exasol</text><text
class="breeze-release-management-publish-docs-r1" x="85.4" y="215.2"
textLength="36.6"
clip-path="url(#breeze-release-management-publish-docs-line-8)"> | </text><text
class="breeze-release-management-publish-docs-r4" x="122" y="215.2"
textLength="36.6" clip-path="url(#breeze-release-management-publ [...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="239.6" textLength="85.4"
clip-path="url(#breeze-release-management-publish-docs-line-9)">jenkins</text><text
class="breeze-release-management-publish-docs-r1" x="97.6" y="239.6"
textLength="36.6"
clip-path="url(#breeze-release-management-publish-docs-line-9)"> | </text><text
class="breeze-release-management-publish-docs-r4" x="134.2" y="239.6"
textLength="109.8" clip-path="url(#breeze-release-management- [...]
+</text><text class="breeze-release-management-publish-docs-r1" x="12.2"
y="264" textLength="24.4"
clip-path="url(#breeze-release-management-publish-docs-line-10)">| </text><text
class="breeze-release-management-publish-docs-r4" x="36.6" y="264"
textLength="97.6"
clip-path="url(#breeze-release-management-publish-docs-line-10)">openfaas</text><text
class="breeze-release-management-publish-docs-r1" x="134.2" y="264"
textLength="36.6" clip-path="url(#breeze-release-management-publish-do [...]
</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="288.4" textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-11)">presto</text><text
class="breeze-release-management-publish-docs-r1" x="85.4" y="288.4"
textLength="36.6"
clip-path="url(#breeze-release-management-publish-docs-line-11)"> | </text><text
class="breeze-release-management-publish-docs-r4" x="122" y="288.4"
textLength="73.2" clip-path="url(#breeze-release-management-pu [...]
</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="312.8" textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-12)">sqlite</text><text
class="breeze-release-management-publish-docs-r1" x="85.4" y="312.8"
textLength="36.6"
clip-path="url(#breeze-release-management-publish-docs-line-12)"> | </text><text
class="breeze-release-management-publish-docs-r4" x="122" y="312.8"
textLength="36.6" clip-path="url(#breeze-release-management-pu [...]
</text><text class="breeze-release-management-publish-docs-r1" x="1464"
y="337.2" textLength="12.2"
clip-path="url(#breeze-release-management-publish-docs-line-13)">
diff --git a/dev/breeze/doc/images/output_release-management_publish-docs.txt
b/dev/breeze/doc/images/output_release-management_publish-docs.txt
index 7d1f76c7aa..1d94b684f6 100644
--- a/dev/breeze/doc/images/output_release-management_publish-docs.txt
+++ b/dev/breeze/doc/images/output_release-management_publish-docs.txt
@@ -1 +1 @@
-117be5534ac6cb8d193650db5c57c869
+d360bdbf659b84e202be9c8ac76610e5
diff --git
a/dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg
b/dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg
index 00d47b37e5..9d57216d0f 100644
--- a/dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg
+++ b/dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg
@@ -190,8 +190,8 @@
</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0"
y="264" textLength="12.2"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-10)">│</text><text
class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="264"
textLength="1146.8"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-10)">apache.flink | apache.hdfs | apache.hive | apache.iceberg | apache.impala | apache.kafka |
[...]
</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0"
y="288.4" textLength="12.2"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-11)">│</text><text
class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="288.4"
textLength="1146.8"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-11)">apache.kylin | apache.livy | apache.pig | apache.pinot | apache.spark | apprise | 
[...]
</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0"
y="312.8" textLength="12.2"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-12)">│</text><text
class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="312.8"
textLength="1146.8"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-12)">asana | atlassian.jira | celery | cloudant | cncf.kubernetes | cohere | common.co
[...]
-</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0"
y="337.2" textLength="12.2"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-13)">│</text><text
class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="337.2"
textLength="1146.8"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-13)">common.io | common.sql | databricks | datadog | dbt.cloud | dingding | discord
[...]
-</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0"
y="361.6" textLength="12.2"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-14)">│</text><text
class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="361.6"
textLength="1146.8"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-14)">elasticsearch | exasol | fab | facebook | ftp | github | google | grpc&
[...]
+</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0"
y="337.2" textLength="12.2"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-13)">│</text><text
class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="337.2"
textLength="1146.8"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-13)">common.io | common.sql | databricks | datadog | dbt.cloud | dingding | discord
[...]
+</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0"
y="361.6" textLength="12.2"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-14)">│</text><text
class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="361.6"
textLength="1146.8"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-14)">| elasticsearch | exasol | fab | facebook | ftp | github | google |
[...]
</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0"
y="386" textLength="12.2"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-15)">│</text><text
class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="386"
textLength="1146.8"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-15)">imap | influxdb | jdbc | jenkins | microsoft.azure | microsoft.mssql | microsoft.psrp
[...]
</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0"
y="410.4" textLength="12.2"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-16)">│</text><text
class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="410.4"
textLength="1146.8"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-16)">microsoft.winrm | mongo | mysql | neo4j | odbc | openai | openfaas | op
[...]
</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0"
y="434.8" textLength="12.2"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-17)">│</text><text
class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="434.8"
textLength="1146.8"
clip-path="url(#breeze-sbom-generate-providers-requirements-line-17)">| opsgenie | oracle | pagerduty | papermill | pgvector | pinecone | postgres
[...]
diff --git
a/dev/breeze/doc/images/output_sbom_generate-providers-requirements.txt
b/dev/breeze/doc/images/output_sbom_generate-providers-requirements.txt
index 130177a996..f913a56a5b 100644
--- a/dev/breeze/doc/images/output_sbom_generate-providers-requirements.txt
+++ b/dev/breeze/doc/images/output_sbom_generate-providers-requirements.txt
@@ -1 +1 @@
-323f0b61bd2248df08b5ce37ea16487d
+483ab08cf0222a2966510cd93945537f
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py
b/dev/breeze/src/airflow_breeze/global_constants.py
index 4ee452af6d..d3d4ad20ab 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -509,13 +509,13 @@ BASE_PROVIDERS_COMPATIBILITY_CHECKS: list[dict[str, str |
list[str]]] = [
{
"python-version": "3.8",
"airflow-version": "2.8.4",
- "remove-providers": "cloudant fab",
+ "remove-providers": "cloudant fab edge",
"run-tests": "true",
},
{
"python-version": "3.8",
"airflow-version": "2.9.3",
- "remove-providers": "cloudant",
+ "remove-providers": "cloudant edge",
"run-tests": "true",
},
{
diff --git a/docs/apache-airflow-providers-edge/changelog.rst
b/docs/apache-airflow-providers-edge/changelog.rst
new file mode 100644
index 0000000000..4a87ccc753
--- /dev/null
+++ b/docs/apache-airflow-providers-edge/changelog.rst
@@ -0,0 +1,25 @@
+
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+ .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
+ OVERWRITTEN WHEN PREPARING PACKAGES.
+
+ .. IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
+ `PROVIDER_CHANGELOG_TEMPLATE.rst.jinja2` IN the
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+
+.. include:: ../../airflow/providers/edge/CHANGELOG.rst
diff --git a/docs/apache-airflow-providers-edge/commits.rst
b/docs/apache-airflow-providers-edge/commits.rst
new file mode 100644
index 0000000000..a1e7bd25ab
--- /dev/null
+++ b/docs/apache-airflow-providers-edge/commits.rst
@@ -0,0 +1,34 @@
+
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+ .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
+ OVERWRITTEN WHEN PREPARING PACKAGES.
+
+ .. IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
+ `PROVIDER_COMMITS_TEMPLATE.rst.jinja2` IN the
`dev/breeze/src/airflow_breeze/templates` DIRECTORY
+
+ .. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE
OVERWRITTEN AT RELEASE TIME!
+
+Package apache-airflow-providers-edge
+-------------------------------------
+
+Handle Edge Workers via HTTP(s) connection and distribute work over remote
sites
+
+
+This is detailed commit list of changes for versions provider package:
``edge``.
+For high-level changelog, see :doc:`package information including changelog
<index>`.
diff --git a/docs/apache-airflow-providers-edge/configurations-ref.rst
b/docs/apache-airflow-providers-edge/configurations-ref.rst
new file mode 100644
index 0000000000..5885c9d91b
--- /dev/null
+++ b/docs/apache-airflow-providers-edge/configurations-ref.rst
@@ -0,0 +1,18 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. include:: ../exts/includes/providers-configurations-ref.rst
diff --git a/docs/apache-airflow-providers-edge/index.rst
b/docs/apache-airflow-providers-edge/index.rst
new file mode 100644
index 0000000000..8b78170b34
--- /dev/null
+++ b/docs/apache-airflow-providers-edge/index.rst
@@ -0,0 +1,85 @@
+
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+``apache-airflow-providers-edge``
+=================================
+
+
+.. toctree::
+ :hidden:
+ :maxdepth: 1
+ :caption: Basics
+
+ Home <self>
+ Changelog <changelog>
+ Security <security>
+
+
+.. toctree::
+ :hidden:
+ :maxdepth: 1
+ :caption: References
+
+ Configuration <configurations-ref>
+ Python API <_api/airflow/providers/edge/index>
+ PyPI Repository <https://pypi.org/project/apache-airflow-providers-edge/>
+ Installing from sources <installing-providers-from-sources>
+
+.. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE
OVERWRITTEN AT RELEASE TIME!
+
+
+.. toctree::
+ :hidden:
+ :maxdepth: 1
+ :caption: Commits
+
+ Detailed list of commits <commits>
+
+
+apache-airflow-providers-edge package
+-------------------------------------
+
+Handle Edge Workers via HTTP(s) connection and distribute work over remote
sites
+
+
+Release: 0.1.0pre0
+
+Provider package
+----------------
+
+This package is for the ``edge`` provider.
+All classes for this package are included in the ``airflow.providers.edge``
python package.
+
+Installation
+------------
+
+You can install this package on top of an existing Airflow 2 installation via
+``pip install apache-airflow-providers-edge``.
+For the minimum Airflow version supported, see ``Requirements`` below.
+
+Requirements
+------------
+
+The minimum Apache Airflow version supported by this provider package is
``2.10.0``.
+
+================== ==================
+PIP package Version required
+================== ==================
+``apache-airflow`` ``>=2.10.0``
+``pydantic``
+================== ==================
diff --git
a/docs/apache-airflow-providers-edge/installing-providers-from-sources.rst
b/docs/apache-airflow-providers-edge/installing-providers-from-sources.rst
new file mode 100644
index 0000000000..b4e730f4ff
--- /dev/null
+++ b/docs/apache-airflow-providers-edge/installing-providers-from-sources.rst
@@ -0,0 +1,18 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. include:: ../exts/includes/installing-providers-from-sources.rst
diff --git a/docs/apache-airflow-providers-edge/security.rst
b/docs/apache-airflow-providers-edge/security.rst
new file mode 100644
index 0000000000..afa13dac6f
--- /dev/null
+++ b/docs/apache-airflow-providers-edge/security.rst
@@ -0,0 +1,18 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. include:: ../exts/includes/security.rst
diff --git a/docs/apache-airflow/extra-packages-ref.rst
b/docs/apache-airflow/extra-packages-ref.rst
index a96220f63f..4ccccbdfb7 100644
--- a/docs/apache-airflow/extra-packages-ref.rst
+++ b/docs/apache-airflow/extra-packages-ref.rst
@@ -51,6 +51,8 @@ python dependencies for the provided package.
+---------------------+-----------------------------------------------------+----------------------------------------------------------------------------+
| cgroups | ``pip install 'apache-airflow[cgroups]'`` |
Needed To use CgroupTaskRunner |
+---------------------+-----------------------------------------------------+----------------------------------------------------------------------------+
+| edge | ``pip install 'apache-airflow[edge]'`` |
Connect Edge Workers via HTTP to the scheduler |
++---------------------+-----------------------------------------------------+----------------------------------------------------------------------------+
| github-enterprise | ``pip install 'apache-airflow[github-enterprise]'`` |
GitHub Enterprise auth backend |
+---------------------+-----------------------------------------------------+----------------------------------------------------------------------------+
| google-auth | ``pip install 'apache-airflow[google-auth]'`` |
Google auth backend |
@@ -261,6 +263,8 @@ Some of those enable Airflow to use executors to run tasks
with them - other tha
+---------------------+-----------------------------------------------------+-----------------------------------------------------------------+----------------------------------------------+
| docker | ``pip install 'apache-airflow[docker]'`` |
Docker hooks and operators |
|
+---------------------+-----------------------------------------------------+-----------------------------------------------------------------+----------------------------------------------+
+| edge | ``pip install 'apache-airflow[edge]'`` |
Connect Edge Workers via HTTP to the scheduler | EdgeExecutor
|
++---------------------+-----------------------------------------------------+-----------------------------------------------------------------+----------------------------------------------+
| elasticsearch | ``pip install 'apache-airflow[elasticsearch]'`` |
Elasticsearch hooks and Log Handler |
|
+---------------------+-----------------------------------------------------+-----------------------------------------------------------------+----------------------------------------------+
| exasol | ``pip install 'apache-airflow[exasol]'`` |
Exasol hooks and operators |
|
diff --git a/generated/provider_dependencies.json
b/generated/provider_dependencies.json
index a520c4c07e..0023c18cd0 100644
--- a/generated/provider_dependencies.json
+++ b/generated/provider_dependencies.json
@@ -520,6 +520,17 @@
"excluded-python-versions": [],
"state": "ready"
},
+ "edge": {
+ "deps": [
+ "apache-airflow>=2.10.0",
+ "pydantic>=2.3.0"
+ ],
+ "devel-deps": [],
+ "plugins": [],
+ "cross-providers-deps": [],
+ "excluded-python-versions": [],
+ "state": "not-ready"
+ },
"elasticsearch": {
"deps": [
"apache-airflow-providers-common-sql>=1.17.0",
diff --git a/pyproject.toml b/pyproject.toml
index cd51540529..caddac66ad 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -135,7 +135,7 @@ dynamic = ["version", "optional-dependencies",
"dependencies"]
# apache.hdfs, apache.hive, apache.iceberg, apache.impala, apache.kafka,
apache.kylin, apache.livy,
# apache.pig, apache.pinot, apache.spark, apprise, arangodb, asana,
atlassian.jira, celery, cloudant,
# cncf.kubernetes, cohere, common.compat, common.io, common.sql, databricks,
datadog, dbt.cloud,
-# dingding, discord, docker, elasticsearch, exasol, fab, facebook, ftp,
github, google, grpc,
+# dingding, discord, docker, edge, elasticsearch, exasol, fab, facebook, ftp,
github, google, grpc,
# hashicorp, http, imap, influxdb, jdbc, jenkins, microsoft.azure,
microsoft.mssql, microsoft.psrp,
# microsoft.winrm, mongo, mysql, neo4j, odbc, openai, openfaas, openlineage,
opensearch, opsgenie,
# oracle, pagerduty, papermill, pgvector, pinecone, postgres, presto, qdrant,
redis, salesforce,
diff --git a/tests/providers/edge/__init__.py b/tests/providers/edge/__init__.py
new file mode 100644
index 0000000000..217e5db960
--- /dev/null
+++ b/tests/providers/edge/__init__.py
@@ -0,0 +1,17 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.