vincbeck commented on code in PR #73995: URL: https://github.com/apache/airflow/pull/73995#discussion_r4249966009
########## airflow-core/docs/administration-and-deployment/plugins.rst: ########## @@ -514,6 +521,167 @@ Right-to-left languages are handled automatically: the UI derives text direction code (via the browser's locale data, e.g. Persian ``fa`` or Urdu ``ur``), so a custom RTL language flips the whole UI to right-to-left without any extra configuration. +.. _plugins-multi-team: + +Multi-team deployments +---------------------- + +.. versionadded:: 3.4.0 + +A plugin can name the team that owns it by setting ``team_name``. Airflow then offers what the +plugin contributes to that team only, instead of to the whole deployment: + +.. code-block:: python + + from airflow.plugins_manager import AirflowPlugin + + from my_package.payments import PaymentWindowTimetable, settlement_date + + + class PaymentsPlugin(AirflowPlugin): + name = "payments" + # Only this team's Dags, tasks and users get the pieces below. + team_name = "payments" + macros = [settlement_date] + timetables = [PaymentWindowTimetable] + +``team_name`` is part of the plugin's code, so the plugin author decides it; there is no +deployment-time override. Leaving it unset (the default) makes the plugin **global**: everything +it contributes is available to every team, which is how plugins written before multi-team support +behaved. + +``team_name`` only takes effect when :doc:`multi-team mode </core-concepts/multi-team>` is +enabled. With ``[core] multi_team = False`` it is ignored and every plugin is global. + +The team must already exist in the metadata database (``airflow teams create <team_name>``). The Review Comment: Yes -- 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]
