This is an automated email from the ASF dual-hosted git repository.
bbovenzi pushed a commit to branch v3-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-1-test by this push:
new c6048ff285c Manual backport 56177 (#57068)
c6048ff285c is described below
commit c6048ff285c4a56f7b275eb2549cb53f39b48c10
Author: Brent Bovenzi <[email protected]>
AuthorDate: Wed Oct 22 19:47:47 2025 +0200
Manual backport 56177 (#57068)
---
.../docs/administration-and-deployment/plugins.rst | 35 ++++++++++++++++++++--
1 file changed, 32 insertions(+), 3 deletions(-)
diff --git a/airflow-core/docs/administration-and-deployment/plugins.rst
b/airflow-core/docs/administration-and-deployment/plugins.rst
index 0e50686cd53..51f10859703 100644
--- a/airflow-core/docs/administration-and-deployment/plugins.rst
+++ b/airflow-core/docs/administration-and-deployment/plugins.rst
@@ -24,6 +24,9 @@ Airflow has a simple plugin manager built-in that can
integrate external
features to its core by simply dropping files in your
``$AIRFLOW_HOME/plugins`` folder.
+Since Airflow 3.1, the plugin system supports new features such as React apps,
FastAPI endpoints,
+and middleware, making it easier to extend Airflow and build rich custom
integrations.
+
The python modules in the ``plugins`` folder get imported, and **macros** and
web **views**
get integrated to Airflow's main collections and become available for use.
@@ -48,7 +51,7 @@ Examples:
* A set of tools to parse Hive logs and expose Hive metadata (CPU /IO /
phases/ skew /...)
* An anomaly detection framework, allowing people to collect metrics, set
thresholds and alerts
-* An auditing tool, helping understand who accesses what
+* An auditing tool, helping to understand who accesses what
* A config-driven SLA monitoring tool, allowing you to set monitored tables
and at what time
they should land, alert people, and expose visualizations of outages
@@ -61,11 +64,24 @@ Airflow has many components that can be reused when
building an application:
* A metadata database to store your models
* Access to your databases, and knowledge of how to connect to them
* An array of workers that your application can push workload to
-* Airflow is deployed, you can just piggy back on its deployment logistics
+* Airflow is deployed, you can just piggyback on its deployment logistics
* Basic charting capabilities, underlying libraries and abstractions
.. _plugins:loading:
+Available Building Blocks
+-------------------------
+
+Airflow plugins can register the following components:
+
+* *External Views* – Add buttons/tabs linking to new pages in the UI.
+* *React Apps* – Embed custom React apps inside the Airflow UI (new in Airflow
3.1).
+* *FastAPI Apps* – Add custom API endpoints.
+* *FastAPI Middlewares* – Intercept and modify API requests/responses.
+* *Macros* – Define reusable Python functions available in DAG templates.
+* *Operator Extra Links* – Add custom buttons in the task details view.
+* *Timetables & Listeners* – Implement custom scheduling logic and event hooks.
+
When are plugins (re)loaded?
----------------------------
@@ -73,7 +89,7 @@ Plugins are by default lazily loaded and once loaded, they
are never reloaded (e
automatically loaded in Webserver). To load them at the
start of each Airflow process, set ``[core] lazy_load_plugins = False`` in
``airflow.cfg``.
-This means that if you make any changes to plugins and you want the webserver
or scheduler to use that new
+This means that if you make any changes to plugins, and you want the webserver
or scheduler to use that new
code you will need to restart those processes. However, it will not be
reflected in new running tasks until after the scheduler boots.
By default, task execution uses forking. This avoids the slowdown associated
with creating a new Python interpreter
@@ -151,6 +167,19 @@ additional initialization. Please note ``name`` inside
this class must be specif
Make sure you restart the webserver and scheduler after making changes to
plugins so that they take effect.
+Plugin Management Interface
+---------------------------
+
+Airflow 3.1 introduces a Plugin Management Interface, available under *Admin →
Plugins* in the Airflow UI.
+This page allows you to view installed plugins.
+
+...
+
+External Views
+--------------
+
+External views can also be embedded directly into the Airflow UI using iframes
by providing a ``url_route`` value.
+This allows you to render the view inline instead of opening it in a new
browser tab.
.. _plugin-example: