o-nikolas commented on code in PR #67608:
URL: https://github.com/apache/airflow/pull/67608#discussion_r3314298588


##########
airflow-core/docs/core-concepts/multi-team.rst:
##########
@@ -503,6 +504,61 @@ When Multi-Team mode is enabled, the scheduler performs 
additional logic to dete
     teams share the same metadata database and common Airflow infrastructure. 
For absolutely strict security
     requirements, consider separate Airflow deployments.
 
+.. _multi-team-triggerer:
+
+Team-scoped Triggerer
+---------------------
+
+When Multi-Team mode is enabled, the triggerer can be scoped to a specific 
team using the ``--team-name`` CLI argument. A team-scoped triggerer only 
processes deferred tasks (triggers) belonging to that team's Dags. This allows 
teams to run isolated triggerer instances with independent capacity and failure 
domains.
+
+Configuration
+^^^^^^^^^^^^^
+
+Start a team-scoped triggerer by passing ``--team-name``:
+
+.. code-block:: bash
+
+    # Triggerer for team_a only
+    airflow triggerer --team-name team_a
+
+    # Triggerer for team_b only
+    airflow triggerer --team-name team_b
+
+    # Global triggerer — processes triggers from Dags with no team association
+    airflow triggerer
+
+Startup validation ensures that ``core.multi_team`` is enabled and the 
specified team exists in the database.
+
+Behavior
+^^^^^^^^
+
+- **Team-scoped triggerer** (``--team-name team_x``): Only picks up triggers 
whose originating Dag belongs to a bundle mapped to ``team_x``.
+- **Global triggerer** (no ``--team-name``): Only picks up triggers whose 
originating Dag belongs to a bundle with no team assignment.
+- **Multi-Team disabled** (``core.multi_team = False``): ``--team-name`` is 
rejected. No filtering occurs and all triggerers process all triggers (existing 
behavior).
+
+Interaction with ``--queues``
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Team filtering and queue filtering are orthogonal — they combine as AND 
conditions. For example, a triggerer started with ``--team-name team_a --queues 
q1,q2`` only processes triggers that both belong to ``team_a`` and were 
deferred from tasks in queues ``q1`` or ``q2``.
+
+.. note::
+
+    If you use both ``--team-name`` and ``--queues``, ensure that each 
combination of team and queue has at least one triggerer running, or triggers 
matching that combination will remain unassigned until one starts.

Review Comment:
   This is true for each individually as well right?



##########
airflow-core/docs/core-concepts/multi-team.rst:
##########
@@ -503,6 +504,61 @@ When Multi-Team mode is enabled, the scheduler performs 
additional logic to dete
     teams share the same metadata database and common Airflow infrastructure. 
For absolutely strict security
     requirements, consider separate Airflow deployments.
 
+.. _multi-team-triggerer:
+
+Team-scoped Triggerer
+---------------------
+
+When Multi-Team mode is enabled, the triggerer can be scoped to a specific 
team using the ``--team-name`` CLI argument. A team-scoped triggerer only 
processes deferred tasks (triggers) belonging to that team's Dags. This allows 
teams to run isolated triggerer instances with independent capacity and failure 
domains.

Review Comment:
   Should be? Otherwise team triggers aren't going to run, right?
   
   
   ```suggestion
   When Multi-Team mode is enabled, a triggerer should be scoped to each 
specific team using the ``--team-name`` CLI argument. A team-scoped triggerer 
processes deferred tasks (triggers) belonging to that team's Dags. This allows 
teams to run isolated triggerer instances with independent capacity and failure 
domains.
   ```



##########
airflow-core/docs/core-concepts/multi-team.rst:
##########
@@ -503,6 +504,61 @@ When Multi-Team mode is enabled, the scheduler performs 
additional logic to dete
     teams share the same metadata database and common Airflow infrastructure. 
For absolutely strict security
     requirements, consider separate Airflow deployments.
 
+.. _multi-team-triggerer:
+
+Team-scoped Triggerer
+---------------------
+
+When Multi-Team mode is enabled, the triggerer can be scoped to a specific 
team using the ``--team-name`` CLI argument. A team-scoped triggerer only 
processes deferred tasks (triggers) belonging to that team's Dags. This allows 
teams to run isolated triggerer instances with independent capacity and failure 
domains.
+
+Configuration
+^^^^^^^^^^^^^
+
+Start a team-scoped triggerer by passing ``--team-name``:
+
+.. code-block:: bash
+
+    # Triggerer for team_a only
+    airflow triggerer --team-name team_a
+
+    # Triggerer for team_b only
+    airflow triggerer --team-name team_b
+
+    # Global triggerer — processes triggers from Dags with no team association
+    airflow triggerer
+
+Startup validation ensures that ``core.multi_team`` is enabled and the 
specified team exists in the database.
+
+Behavior
+^^^^^^^^
+
+- **Team-scoped triggerer** (``--team-name team_x``): Only picks up triggers 
whose originating Dag belongs to a bundle mapped to ``team_x``.
+- **Global triggerer** (no ``--team-name``): Only picks up triggers whose 
originating Dag belongs to a bundle with no team assignment.
+- **Multi-Team disabled** (``core.multi_team = False``): ``--team-name`` is 
rejected. No filtering occurs and all triggerers process all triggers (existing 
behavior).
+
+Interaction with ``--queues``
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Team filtering and queue filtering are orthogonal — they combine as AND 
conditions. For example, a triggerer started with ``--team-name team_a --queues 
q1,q2`` only processes triggers that both belong to ``team_a`` and were 
deferred from tasks in queues ``q1`` or ``q2``.
+
+.. note::
+
+    If you use both ``--team-name`` and ``--queues``, ensure that each 
combination of team and queue has at least one triggerer running, or triggers 
matching that combination will remain unassigned until one starts.
+
+Example Deployment
+^^^^^^^^^^^^^^^^^^
+
+A deployment with two teams and a shared set of Dags with no team:
+
+.. code-block:: bash
+
+    # Team-scoped triggerers
+    airflow triggerer --team-name team_a
+    airflow triggerer --team-name team_b
+
+    # Global triggerer for Dags without a team
+    airflow triggerer
+

Review Comment:
   This feels superfluous to me, I'd just drop it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to