You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ja...@apache.org on 2026/03/13 03:02:10 UTC
(airflow) branch main updated: feat(opensearch): add opensearch as part of breeze integration (#63390)
This is an automated email from the ASF dual-hosted git repository.
jasonliu 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 433187af03a feat(opensearch): add opensearch as part of breeze integration (#63390)
433187af03a is described below
commit 433187af03a05cccad2be21bcc464384571b5ee3
Author: Owen Leung <ow...@gmail.com>
AuthorDate: Fri Mar 13 11:02:02 2026 +0800
feat(opensearch): add opensearch as part of breeze integration (#63390)
* feat(opensearch): add opensearch as part of breeze integration
* feat(opensearch): fix failing static check
* feat(opensearch): fix failing static check
---
contributing-docs/testing/integration_tests.rst | 2 +
dev/breeze/doc/images/output-commands.svg | 6 +--
dev/breeze/doc/images/output_shell.svg | 54 +++++++++++-----------
dev/breeze/doc/images/output_shell.txt | 2 +-
dev/breeze/doc/images/output_start-airflow.svg | 50 ++++++++++----------
dev/breeze/doc/images/output_start-airflow.txt | 2 +-
.../output_testing_providers-integration-tests.svg | 24 +++++-----
.../output_testing_providers-integration-tests.txt | 2 +-
dev/breeze/src/airflow_breeze/global_constants.py | 3 +-
.../ci/docker-compose/integration-opensearch.yml | 48 +++++++++++++++++++
10 files changed, 122 insertions(+), 71 deletions(-)
diff --git a/contributing-docs/testing/integration_tests.rst b/contributing-docs/testing/integration_tests.rst
index cc4c41eb007..36dadb6a529 100644
--- a/contributing-docs/testing/integration_tests.rst
+++ b/contributing-docs/testing/integration_tests.rst
@@ -82,6 +82,8 @@ core or provider type of test.
+---------------+-------------------------------------------------------+
| openlineage | Integration required for Openlineage hooks. |
+---------------+-------------------------------------------------------+
+| opensearch | Integration required for OpenSearch hooks. |
++---------------+-------------------------------------------------------+
| otel | Integration required for OTEL/opentelemetry hooks. |
+---------------+-------------------------------------------------------+
| pinot | Integration required for Apache Pinot hooks. |
diff --git a/dev/breeze/doc/images/output-commands.svg b/dev/breeze/doc/images/output-commands.svg
index 871a9179864..1fed95c89ac 100644
--- a/dev/breeze/doc/images/output-commands.svg
+++ b/dev/breeze/doc/images/output-commands.svg
@@ -372,9 +372,9 @@
</text><text class="breeze-help-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-help-line-12)">│</text><text class="breeze-help-r4" x="24.4" y="312.8" textLength="671" clip-path="url(#breeze-help-line-12)">--integration                                          </text>< [...]
</text><text class="breeze-help-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-help-line-13)">│</text><text class="breeze-help-r1" x="768.6" y="337.2" textLength="134.2" clip-path="url(#breeze-help-line-13)">than one). </text><text class="breeze-help-r7" x="902.8" y="337.2" textLength="524.6" clip-path="url(#breeze-help-line-13)">(all | all-testable | cassandra | celery | </text><text class="breeze-help-r5" x="1451.8" y="337 [...]
</text><text class="breeze-help-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-help-line-14)">│</text><text class="breeze-help-r7" x="768.6" y="361.6" textLength="658.8" clip-path="url(#breeze-help-line-14)">drill | elasticsearch | kafka | kerberos | keycloak | </text><text class="breeze-help-r5" x="1451.8" y="361.6" textLength="12.2" clip-path="url(#breeze-help-line-14)">│</text><text class="breeze-help-r1" x="1464" y="361. [...]
-</text><text class="breeze-help-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-help-line-15)">│</text><text class="breeze-help-r7" x="768.6" y="386" textLength="671" clip-path="url(#breeze-help-line-15)">localstack | mongo | mssql | openlineage | otel | pinot</text><text class="breeze-help-r5" x="1451.8" y="386" textLength="12.2" clip-path="url(#breeze-help-line-15)">│</text><text class="breeze-help-r1" x="1464" y="386" textLe [...]
-</text><text class="breeze-help-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-help-line-16)">│</text><text class="breeze-help-r7" x="768.6" y="410.4" textLength="671" clip-path="url(#breeze-help-line-16)">| qdrant | redis | redis | statsd | tinkerpop | trino |</text><text class="breeze-help-r5" x="1451.8" y="410.4" textLength="12.2" clip-path="url(#breeze-help-line-16)">│</text><text class="breeze-help-r1" x="1464 [...]
-</text><text class="breeze-help-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-help-line-17)">│</text><text class="breeze-help-r7" x="768.6" y="434.8" textLength="48.8" clip-path="url(#breeze-help-line-17)">ydb)</text><text class="breeze-help-r5" x="1451.8" y="434.8" textLength="12.2" clip-path="url(#breeze-help-line-17)">│</text><text class="breeze-help-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-help-line-17)">
+</text><text class="breeze-help-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-help-line-15)">│</text><text class="breeze-help-r7" x="768.6" y="386" textLength="671" clip-path="url(#breeze-help-line-15)">localstack | mongo | mssql | openlineage | opensearch |</text><text class="breeze-help-r5" x="1451.8" y="386" textLength="12.2" clip-path="url(#breeze-help-line-15)">│</text><text class="breeze-help-r1" x="1464" y="386" textLength= [...]
+</text><text class="breeze-help-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-help-line-16)">│</text><text class="breeze-help-r7" x="768.6" y="410.4" textLength="597.8" clip-path="url(#breeze-help-line-16)">otel | pinot | qdrant | redis | redis | statsd | </text><text class="breeze-help-r5" x="1451.8" y="410.4" textLength="12.2" clip-path="url(#breeze-help-line-16)">│</text><text class="breeze-help-r1" x="1464" y= [...]
+</text><text class="breeze-help-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-help-line-17)">│</text><text class="breeze-help-r7" x="768.6" y="434.8" textLength="292.8" clip-path="url(#breeze-help-line-17)">tinkerpop | trino | ydb)</text><text class="breeze-help-r5" x="1451.8" y="434.8" textLength="12.2" clip-path="url(#breeze-help-line-17)">│</text><text class="breeze-help-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-help-line-17)">
</text><text class="breeze-help-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-help-line-18)">│</text><text class="breeze-help-r4" x="24.4" y="459.2" textLength="317.2" clip-path="url(#breeze-help-line-18)">--standalone-dag-processor</text><text class="breeze-help-r1" x="341.6" y="459.2" textLength="12.2" clip-path="url(#breeze-help-line-18)">/</text><text class="breeze-help-r4" x="353.8" y="459.2" textLength="341.6" clip-path="url(#breeze-help-line-18)">--no-standalone-dag [...]
</text><text class="breeze-help-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-help-line-19)">│</text><text class="breeze-help-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-help-line-19)">r</text><text class="breeze-help-r1" x="768.6" y="483.6" textLength="317.2" clip-path="url(#breeze-help-line-19)">(required for Airflow 3). </text><text class="breeze-help-r5" x="1085.8" y="483.6" textLength="122" clip-path="url(#breeze-help-line-19)"> [...]
</text><text class="breeze-help-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-help-line-20)">│</text><text class="breeze-help-r5" x="768.6" y="508" textLength="305" clip-path="url(#breeze-help-line-20)">standalone-dag-processor]</text><text class="breeze-help-r5" x="1451.8" y="508" textLength="12.2" clip-path="url(#breeze-help-line-20)">│</text><text class="breeze-help-r1" x="1464" y="508" textLength="12.2" clip-path="url(#breeze-help-line-20)">
diff --git a/dev/breeze/doc/images/output_shell.svg b/dev/breeze/doc/images/output_shell.svg
index 2212cadbaf8..27b1167d91f 100644
--- a/dev/breeze/doc/images/output_shell.svg
+++ b/dev/breeze/doc/images/output_shell.svg
@@ -548,15 +548,15 @@
</text><text class="breeze-shell-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#breeze-shell-line-2)">
</text><text class="breeze-shell-r1" x="12.2" y="93.2" textLength="1024.8" clip-path="url(#breeze-shell-line-3)">Enter breeze environment. this is the default command use when no other is selected.</text><text class="breeze-shell-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-shell-line-3)">
</text><text class="breeze-shell-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-shell-line-4)">
-</text><text class="breeze-shell-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-shell-line-5)">┌─</text><text class="breeze-shell-r5" x="24.4" y="142" textLength="195.2" clip-path="url(#breeze-shell-line-5)"> Execution mode </text><text class="breeze-shell-r5" x="219.6" y="142" textLength="1220" clip-path="url(#breeze-shell-line-5)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-she [...]
+</text><text class="breeze-shell-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-shell-line-5)">╭─</text><text class="breeze-shell-r5" x="24.4" y="142" textLength="195.2" clip-path="url(#breeze-shell-line-5)"> Execution mode </text><text class="breeze-shell-r5" x="219.6" y="142" textLength="1220" clip-path="url(#breeze-shell-line-5)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-she [...]
</text><text class="breeze-shell-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-shell-line-6)">│</text><text class="breeze-shell-r4" x="24.4" y="166.4" textLength="671" clip-path="url(#breeze-shell-line-6)">--python                                             [...]
</text><text class="breeze-shell-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-shell-line-7)">│</text><text class="breeze-shell-r1" x="768.6" y="190.8" textLength="97.6" clip-path="url(#breeze-shell-line-7)">images. </text><text class="breeze-shell-r5" x="866.2" y="190.8" textLength="183" clip-path="url(#breeze-shell-line-7)">[default: 3.10]</text><text class="breeze-shell-r7" x="1061.4" y="190.8" textLength="353.8" clip-path="url(#breeze-shell-line-7)">(>3.10 [...]
</text><text class="breeze-shell-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-shell-line-8)">│</text><text class="breeze-shell-r4" x="24.4" y="215.2" textLength="671" clip-path="url(#breeze-shell-line-8)">--integration                                          </text [...]
</text><text class="breeze-shell-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-shell-line-9)">│</text><text class="breeze-shell-r1" x="768.6" y="239.6" textLength="134.2" clip-path="url(#breeze-shell-line-9)">than one). </text><text class="breeze-shell-r7" x="902.8" y="239.6" textLength="524.6" clip-path="url(#breeze-shell-line-9)">(all | all-testable | cassandra | celery | </text><text class="breeze-shell-r5" x="1451.8" y= [...]
</text><text class="breeze-shell-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-shell-line-10)">│</text><text class="breeze-shell-r7" x="768.6" y="264" textLength="658.8" clip-path="url(#breeze-shell-line-10)">drill | elasticsearch | kafka | kerberos | keycloak | </text><text class="breeze-shell-r5" x="1451.8" y="264" textLength="12.2" clip-path="url(#breeze-shell-line-10)">│</text><text class="breeze-shell-r1" x="1464" y="264 [...]
-</text><text class="breeze-shell-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-shell-line-11)">│</text><text class="breeze-shell-r7" x="768.6" y="288.4" textLength="671" clip-path="url(#breeze-shell-line-11)">localstack | mongo | mssql | openlineage | otel | pinot</text><text class="breeze-shell-r5" x="1451.8" y="288.4" textLength="12.2" clip-path="url(#breeze-shell-line-11)">│</text><text class="breeze-shell-r1" x="1464" y [...]
-</text><text class="breeze-shell-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-shell-line-12)">│</text><text class="breeze-shell-r7" x="768.6" y="312.8" textLength="671" clip-path="url(#breeze-shell-line-12)">| qdrant | redis | redis | statsd | tinkerpop | trino |</text><text class="breeze-shell-r5" x="1451.8" y="312.8" textLength="12.2" clip-path="url(#breeze-shell-line-12)">│</text><text class="breeze-shell-r1" [...]
-</text><text class="breeze-shell-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-shell-line-13)">│</text><text class="breeze-shell-r7" x="768.6" y="337.2" textLength="48.8" clip-path="url(#breeze-shell-line-13)">ydb)</text><text class="breeze-shell-r5" x="1451.8" y="337.2" textLength="12.2" clip-path="url(#breeze-shell-line-13)">│</text><text class="breeze-shell-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-shell-line-13)">
+</text><text class="breeze-shell-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-shell-line-11)">│</text><text class="breeze-shell-r7" x="768.6" y="288.4" textLength="671" clip-path="url(#breeze-shell-line-11)">localstack | mongo | mssql | openlineage | opensearch |</text><text class="breeze-shell-r5" x="1451.8" y="288.4" textLength="12.2" clip-path="url(#breeze-shell-line-11)">│</text><text class="breeze-shell-r1" x="1464" y="288 [...]
+</text><text class="breeze-shell-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-shell-line-12)">│</text><text class="breeze-shell-r7" x="768.6" y="312.8" textLength="597.8" clip-path="url(#breeze-shell-line-12)">otel | pinot | qdrant | redis | redis | statsd | </text><text class="breeze-shell-r5" x="1451.8" y="312.8" textLength="12.2" clip-path="url(#breeze-shell-line-12)">│</text><text class="breeze-shell-r1" x="1 [...]
+</text><text class="breeze-shell-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-shell-line-13)">│</text><text class="breeze-shell-r7" x="768.6" y="337.2" textLength="292.8" clip-path="url(#breeze-shell-line-13)">tinkerpop | trino | ydb)</text><text class="breeze-shell-r5" x="1451.8" y="337.2" textLength="12.2" clip-path="url(#breeze-shell-line-13)">│</text><text class="breeze-shell-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-shell-line-13)">
</text><text class="breeze-shell-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-shell-line-14)">│</text><text class="breeze-shell-r4" x="24.4" y="361.6" textLength="671" clip-path="url(#breeze-shell-line-14)">--load-example-dags                                    </text><text class="breeze-shell-r [...]
</text><text class="breeze-shell-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-shell-line-15)">│</text><text class="breeze-shell-r1" x="768.6" y="386" textLength="671" clip-path="url(#breeze-shell-line-15)">Airflow.                                             [...]
</text><text class="breeze-shell-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-shell-line-16)">│</text><text class="breeze-shell-r4" x="24.4" y="410.4" textLength="671" clip-path="url(#breeze-shell-line-16)">--load-default-connections                             </text><text class="breeze-shell-r6" x="719.8" y="410.4" textLength=" [...]
@@ -569,24 +569,24 @@
</text><text class="breeze-shell-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-shell-line-23)">│</text><text class="breeze-shell-r4" x="24.4" y="581.2" textLength="671" clip-path="url(#breeze-shell-line-23)">--auth-manager                                         </text><t [...]
</text><text class="breeze-shell-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-shell-line-24)">│</text><text class="breeze-shell-r5" x="768.6" y="605.6" textLength="219.6" clip-path="url(#breeze-shell-line-24)">SimpleAuthManager]</text><text class="breeze-shell-r7" x="1000.4" y="605.6" textLength="280.6" clip-path="url(#breeze-shell-line-24)">(>SimpleAuthManager< | </text><text class="breeze-shell-r5" x="1451.8" y="605.6" textLength="12.2" clip-path="url(#b [...]
</text><text class="breeze-shell-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-shell-line-25)">│</text><text class="breeze-shell-r7" x="768.6" y="630" textLength="183" clip-path="url(#breeze-shell-line-25)">FabAuthManager)</text><text class="breeze-shell-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#breeze-shell-line-25)">│</text><text class="breeze-shell-r1" x="1464" y="630" textLength="12.2" clip-path="url(#breeze-shell-line-25)">
-</text><text class="breeze-shell-r5" x="0" y="654.4" textLength="1464" clip-path="url(#breeze-shell-line-26)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-shell-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#breeze-shell-line-26)">
-</text><text class="breeze-shell-r5" x="0" y="678.8" textLength="24.4" clip-path="url(#breeze-shell-line-27)">┌─</text><text class="breeze-shell-r5" x="24.4" y="678.8" textLength="427" clip-path="url(#breeze-shell-line-27)"> Docker Compose project management </text><text class="breeze-shell-r5" x="451.4" y="678.8" textLength="988.2" clip-path="url(#breeze-shell-line-27)">─────────────────────────────────────────────────────────────────────────────────</text><text [...]
+</text><text class="breeze-shell-r5" x="0" y="654.4" textLength="1464" clip-path="url(#breeze-shell-line-26)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-shell-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#breeze-shell-line-26)">
+</text><text class="breeze-shell-r5" x="0" y="678.8" textLength="24.4" clip-path="url(#breeze-shell-line-27)">╭─</text><text class="breeze-shell-r5" x="24.4" y="678.8" textLength="427" clip-path="url(#breeze-shell-line-27)"> Docker Compose project management </text><text class="breeze-shell-r5" x="451.4" y="678.8" textLength="988.2" clip-path="url(#breeze-shell-line-27)">─────────────────────────────────────────────────────────────────────────────────</text><text [...]
</text><text class="breeze-shell-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-shell-line-28)">│</text><text class="breeze-shell-r4" x="24.4" y="703.2" textLength="317.2" clip-path="url(#breeze-shell-line-28)">--project-name            </text><text class="breeze-shell-r1" x="366" y="703.2" textLength="1073.6" clip-path="url(#breeze-shell-line-28)">Name of the docker-compose project to  [...]
</text><text class="breeze-shell-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-shell-line-29)">│</text><text class="breeze-shell-r1" x="366" y="727.6" textLength="597.8" clip-path="url(#breeze-shell-line-29)">breeze project name and you can use `breeze down </text><text class="breeze-shell-r4" x="963.8" y="727.6" textLength="170.8" clip-path="url(#breeze-shell-line-29)">--project-name</text><text class="breeze-shell-r1" x="1134. [...]
</text><text class="breeze-shell-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-shell-line-30)">│</text><text class="breeze-shell-r1" x="366" y="752" textLength="390.4" clip-path="url(#breeze-shell-line-30)">all containers belonging to it. </text><text class="breeze-shell-r5" x="756.4" y="752" textLength="207.4" clip-path="url(#breeze-shell-line-30)">[default: breeze]</text><text class="breeze-shell-r7" x="976" y="752" textLength="390.4" clip-pat [...]
</text><text class="breeze-shell-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-shell-line-31)">│</text><text class="breeze-shell-r4" x="24.4" y="776.4" textLength="109.8" clip-path="url(#breeze-shell-line-31)">--restart</text><text class="breeze-shell-r1" x="134.2" y="776.4" textLength="12.2" clip-path="url(#breeze-shell-line-31)">,</text><text class="breeze-shell-r4" x="146.4" y="776.4" textLength="195.2" clip-path="url(#breeze-shell-line-31)">--remove-orphans</text><text [...]
</text><text class="breeze-shell-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-shell-line-32)">│</text><text class="breeze-shell-r4" x="24.4" y="800.8" textLength="317.2" clip-path="url(#breeze-shell-line-32)">--docker-host             </text><text class="breeze-shell-r1" x="366" y="800.8" textLength="915" clip-path="url(#breeze-shell-line-32)">Optional - docker host to use when& [...]
</text><text class="breeze-shell-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-shell-line-33)">│</text><text class="breeze-shell-r1" x="366" y="825.2" textLength="488" clip-path="url(#breeze-shell-line-33)">option is ignored when building images. </text><text class="breeze-shell-r7" x="854" y="825.2" textLength="73.2" clip-path="url(#breeze-shell-line-33)">(TEXT)</text><text class="breeze-shell-r5" x="1451.8" y="825.2" textLength="12.2" clip-p [...]
-</text><text class="breeze-shell-r5" x="0" y="849.6" textLength="1464" clip-path="url(#breeze-shell-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-shell-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#breeze-shell-line-34)">
-</text><text class="breeze-shell-r5" x="0" y="874" textLength="24.4" clip-path="url(#breeze-shell-line-35)">┌─</text><text class="breeze-shell-r5" x="24.4" y="874" textLength="231.8" clip-path="url(#breeze-shell-line-35)"> Scripts execution </text><text class="breeze-shell-r5" x="256.2" y="874" textLength="1183.4" clip-path="url(#breeze-shell-line-35)">─────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breez [...]
+</text><text class="breeze-shell-r5" x="0" y="849.6" textLength="1464" clip-path="url(#breeze-shell-line-34)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-shell-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#breeze-shell-line-34)">
+</text><text class="breeze-shell-r5" x="0" y="874" textLength="24.4" clip-path="url(#breeze-shell-line-35)">╭─</text><text class="breeze-shell-r5" x="24.4" y="874" textLength="231.8" clip-path="url(#breeze-shell-line-35)"> Scripts execution </text><text class="breeze-shell-r5" x="256.2" y="874" textLength="1183.4" clip-path="url(#breeze-shell-line-35)">─────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breez [...]
</text><text class="breeze-shell-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-shell-line-36)">│</text><text class="breeze-shell-r4" x="24.4" y="898.4" textLength="402.6" clip-path="url(#breeze-shell-line-36)">--quiet                          </text><text class="breeze-shell-r1" x="451.4" y="898.4" textLength="549" clip-path="url(#breeze-shell-l [...]
</text><text class="breeze-shell-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-shell-line-37)">│</text><text class="breeze-shell-r4" x="24.4" y="922.8" textLength="402.6" clip-path="url(#breeze-shell-line-37)">--skip-image-upgrade-check       </text><text class="breeze-shell-r1" x="451.4" y="922.8" textLength="536.8" clip-path="url(#breeze-shell-line-37)">Skip checking if the CI image is up to  [...]
</text><text class="breeze-shell-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-shell-line-38)">│</text><text class="breeze-shell-r4" x="24.4" y="947.2" textLength="402.6" clip-path="url(#breeze-shell-line-38)">--warn-image-upgrade-needed      </text><text class="breeze-shell-r1" x="451.4" y="947.2" textLength="512.4" clip-path="url(#breeze-shell-line-38)">Warn when image upgrade is needed even if </text> [...]
</text><text class="breeze-shell-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-shell-line-39)">│</text><text class="breeze-shell-r4" x="24.4" y="971.6" textLength="402.6" clip-path="url(#breeze-shell-line-39)">--skip-environment-initialization</text><text class="breeze-shell-r1" x="451.4" y="971.6" textLength="939.4" clip-path="url(#breeze-shell-line-39)">Skip running breeze entrypoint initialization - no user output, no db [...]
</text><text class="breeze-shell-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-shell-line-40)">│</text><text class="breeze-shell-r4" x="24.4" y="996" textLength="402.6" clip-path="url(#breeze-shell-line-40)">--tty                            </text><text class="breeze-shell-r1" x="451.4" y="996" textLength="988.2" clip-path="url(#breeze-s [...]
</text><text class="breeze-shell-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-shell-line-41)">│</text><text class="breeze-shell-r1" x="451.4" y="1020.4" textLength="292.8" clip-path="url(#breeze-shell-line-41)">CI to force-enable it). </text><text class="breeze-shell-r5" x="744.2" y="1020.4" textLength="183" clip-path="url(#breeze-shell-line-41)">[default: auto]</text><text class="breeze-shell-r7" x="939.4" y="1020.4" textLength="329.4" clip-path [...]
-</text><text class="breeze-shell-r5" x="0" y="1044.8" textLength="1464" clip-path="url(#breeze-shell-line-42)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-shell-r1" x="1464" y="1044.8" textLength="12.2" clip-path="url(#breeze-shell-line-42)">
-</text><text class="breeze-shell-r5" x="0" y="1069.2" textLength="24.4" clip-path="url(#breeze-shell-line-43)">┌─</text><text class="breeze-shell-r5" x="24.4" y="1069.2" textLength="122" clip-path="url(#breeze-shell-line-43)"> Database </text><text class="breeze-shell-r5" x="146.4" y="1069.2" textLength="1293.2" clip-path="url(#breeze-shell-line-43)">──────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="bre [...]
+</text><text class="breeze-shell-r5" x="0" y="1044.8" textLength="1464" clip-path="url(#breeze-shell-line-42)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-shell-r1" x="1464" y="1044.8" textLength="12.2" clip-path="url(#breeze-shell-line-42)">
+</text><text class="breeze-shell-r5" x="0" y="1069.2" textLength="24.4" clip-path="url(#breeze-shell-line-43)">╭─</text><text class="breeze-shell-r5" x="24.4" y="1069.2" textLength="122" clip-path="url(#breeze-shell-line-43)"> Database </text><text class="breeze-shell-r5" x="146.4" y="1069.2" textLength="1293.2" clip-path="url(#breeze-shell-line-43)">──────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="bre [...]
</text><text class="breeze-shell-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-shell-line-44)">│</text><text class="breeze-shell-r4" x="24.4" y="1093.6" textLength="292.8" clip-path="url(#breeze-shell-line-44)">--backend               </text><text class="breeze-shell-r6" x="341.6" y="1093.6" textLength="24.4" clip-path="url(#breeze-shell-line-44)">-b</text><text class="breeze-shell-r1" x="390.4" y= [...]
</text><text class="breeze-shell-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-shell-line-45)">│</text><text class="breeze-shell-r1" x="390.4" y="1118" textLength="1049.2" clip-path="url(#breeze-shell-line-45)">with an invalid database configuration — no database will be available, and any       </text><text class="breeze-shell-r5" x="1451.8" y="1118" textLength="12.2" clip-path=" [...]
</text><text class="breeze-shell-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-shell-line-46)">│</text><text class="breeze-shell-r1" x="390.4" y="1142.4" textLength="1049.2" clip-path="url(#breeze-shell-line-46)">attempt to run Airflow will fail. Use 'none' only for specific non-DB test cases. If  </text><text class="breeze-shell-r5" x="1451.8" y="1142.4" textLength="12.2" clip-path= [...]
@@ -600,27 +600,27 @@
</text><text class="breeze-shell-r5" x="0" y="1337.6" textLength="12.2" clip-path="url(#breeze-shell-line-54)">│</text><text class="breeze-shell-r4" x="24.4" y="1337.6" textLength="292.8" clip-path="url(#breeze-shell-line-54)">--postgres-version      </text><text class="breeze-shell-r6" x="341.6" y="1337.6" textLength="24.4" clip-path="url(#breeze-shell-line-54)">-P</text><text class="breeze-shell-r1" x="390.4" y="1337.6" textLength="317.2" clip-path="url(#b [...]
</text><text class="breeze-shell-r5" x="0" y="1362" textLength="12.2" clip-path="url(#breeze-shell-line-55)">│</text><text class="breeze-shell-r4" x="24.4" y="1362" textLength="292.8" clip-path="url(#breeze-shell-line-55)">--mysql-version         </text><text class="breeze-shell-r6" x="341.6" y="1362" textLength="24.4" clip-path="url(#breeze-shell-line-55)">-M</text><text class="breeze-shell-r1" x="390.4" y="1362" textLength="280.6" clip-path= [...]
</text><text class="breeze-shell-r5" x="0" y="1386.4" textLength="12.2" clip-path="url(#breeze-shell-line-56)">│</text><text class="breeze-shell-r4" x="24.4" y="1386.4" textLength="122" clip-path="url(#breeze-shell-line-56)">--db-reset</text><text class="breeze-shell-r1" x="146.4" y="1386.4" textLength="12.2" clip-path="url(#breeze-shell-line-56)">/</text><text class="breeze-shell-r4" x="158.6" y="1386.4" textLength="158.6" clip-path="url(#breeze-shell-line-56)">--no-db-reset</text><text [...]
-</text><text class="breeze-shell-r5" x="0" y="1410.8" textLength="1464" clip-path="url(#breeze-shell-line-57)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-shell-r1" x="1464" y="1410.8" textLength="12.2" clip-path="url(#breeze-shell-line-57)">
-</text><text class="breeze-shell-r5" x="0" y="1435.2" textLength="24.4" clip-path="url(#breeze-shell-line-58)">┌─</text><text class="breeze-shell-r5" x="24.4" y="1435.2" textLength="207.4" clip-path="url(#breeze-shell-line-58)"> Choose executor </text><text class="breeze-shell-r5" x="231.8" y="1435.2" textLength="1207.8" clip-path="url(#breeze-shell-line-58)">───────────────────────────────────────────────────────────────────────────────────────────────────</text><text cla [...]
+</text><text class="breeze-shell-r5" x="0" y="1410.8" textLength="1464" clip-path="url(#breeze-shell-line-57)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-shell-r1" x="1464" y="1410.8" textLength="12.2" clip-path="url(#breeze-shell-line-57)">
+</text><text class="breeze-shell-r5" x="0" y="1435.2" textLength="24.4" clip-path="url(#breeze-shell-line-58)">╭─</text><text class="breeze-shell-r5" x="24.4" y="1435.2" textLength="207.4" clip-path="url(#breeze-shell-line-58)"> Choose executor </text><text class="breeze-shell-r5" x="231.8" y="1435.2" textLength="1207.8" clip-path="url(#breeze-shell-line-58)">───────────────────────────────────────────────────────────────────────────────────────────────────</text><text cla [...]
</text><text class="breeze-shell-r5" x="0" y="1459.6" textLength="12.2" clip-path="url(#breeze-shell-line-59)">│</text><text class="breeze-shell-r4" x="24.4" y="1459.6" textLength="183" clip-path="url(#breeze-shell-line-59)">--executor     </text><text class="breeze-shell-r1" x="231.8" y="1459.6" textLength="585.6" clip-path="url(#breeze-shell-line-59)">Specify the executor to use with shell command. </text><text class="bre [...]
</text><text class="breeze-shell-r5" x="0" y="1484" textLength="12.2" clip-path="url(#breeze-shell-line-60)">│</text><text class="breeze-shell-r7" x="231.8" y="1484" textLength="1061.4" clip-path="url(#breeze-shell-line-60)">(localexecutor|kubernetesexecutor|celeryexecutor|celerykubernetesexecutor|edgeexecutor)</text><text class="breeze-shell-r5" x="1451.8" y="1484" textLength="12.2" clip-path="url(#breeze-shell-line-60)">│</text><text class="breeze-shell-r1" x="1464" y="1484" textLength [...]
</text><text class="breeze-shell-r5" x="0" y="1508.4" textLength="12.2" clip-path="url(#breeze-shell-line-61)">│</text><text class="breeze-shell-r4" x="24.4" y="1508.4" textLength="183" clip-path="url(#breeze-shell-line-61)">--celery-broker</text><text class="breeze-shell-r1" x="231.8" y="1508.4" textLength="414.8" clip-path="url(#breeze-shell-line-61)">Specify the celery message broker </text><text class="breeze-shell-r5" x="646.6" y="1508.4" textLength="195.2" [...]
</text><text class="breeze-shell-r5" x="0" y="1532.8" textLength="12.2" clip-path="url(#breeze-shell-line-62)">│</text><text class="breeze-shell-r4" x="24.4" y="1532.8" textLength="183" clip-path="url(#breeze-shell-line-62)">--celery-flower</text><text class="breeze-shell-r1" x="231.8" y="1532.8" textLength="231.8" clip-path="url(#breeze-shell-line-62)">Start celery flower</text><text class="breeze-shell-r5" x="1451.8" y="1532.8" textLength="12.2" clip-path="url(#breeze-shell-l [...]
-</text><text class="breeze-shell-r5" x="0" y="1557.2" textLength="1464" clip-path="url(#breeze-shell-line-63)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-shell-r1" x="1464" y="1557.2" textLength="12.2" clip-path="url(#breeze-shell-line-63)">
-</text><text class="breeze-shell-r5" x="0" y="1581.6" textLength="24.4" clip-path="url(#breeze-shell-line-64)">┌─</text><text class="breeze-shell-r5" x="24.4" y="1581.6" textLength="488" clip-path="url(#breeze-shell-line-64)"> Build CI image (before entering shell) </text><text class="breeze-shell-r5" x="512.4" y="1581.6" textLength="927.2" clip-path="url(#breeze-shell-line-64)">─────────────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-shell-r5" x="0" y="1557.2" textLength="1464" clip-path="url(#breeze-shell-line-63)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-shell-r1" x="1464" y="1557.2" textLength="12.2" clip-path="url(#breeze-shell-line-63)">
+</text><text class="breeze-shell-r5" x="0" y="1581.6" textLength="24.4" clip-path="url(#breeze-shell-line-64)">╭─</text><text class="breeze-shell-r5" x="24.4" y="1581.6" textLength="488" clip-path="url(#breeze-shell-line-64)"> Build CI image (before entering shell) </text><text class="breeze-shell-r5" x="512.4" y="1581.6" textLength="927.2" clip-path="url(#breeze-shell-line-64)">─────────────────────────────────────────────────────────────────────────── [...]
</text><text class="breeze-shell-r5" x="0" y="1606" textLength="12.2" clip-path="url(#breeze-shell-line-65)">│</text><text class="breeze-shell-r4" x="24.4" y="1606" textLength="244" clip-path="url(#breeze-shell-line-65)">--force-build       </text><text class="breeze-shell-r1" x="341.6" y="1606" textLength="707.6" clip-path="url(#breeze-shell-line-65)">Force image build no matter if it is determined as n [...]
</text><text class="breeze-shell-r5" x="0" y="1630.4" textLength="12.2" clip-path="url(#breeze-shell-line-66)">│</text><text class="breeze-shell-r4" x="24.4" y="1630.4" textLength="244" clip-path="url(#breeze-shell-line-66)">--platform          </text><text class="breeze-shell-r1" x="341.6" y="1630.4" textLength="341.6" clip-path="url(#breeze-shell-line-66)">Platform for Airflow image. </text><text class="breeze-shell- [...]
</text><text class="breeze-shell-r5" x="0" y="1654.8" textLength="12.2" clip-path="url(#breeze-shell-line-67)">│</text><text class="breeze-shell-r4" x="24.4" y="1654.8" textLength="244" clip-path="url(#breeze-shell-line-67)">--github-repository </text><text class="breeze-shell-r6" x="292.8" y="1654.8" textLength="24.4" clip-path="url(#breeze-shell-line-67)">-g</text><text class="breeze-shell-r1" x="341.6" y="1654.8" textLength="597.8" clip-path="url(#breeze-shell-line-67)">GitHub [...]
</text><text class="breeze-shell-r5" x="0" y="1679.2" textLength="12.2" clip-path="url(#breeze-shell-line-68)">│</text><text class="breeze-shell-r4" x="24.4" y="1679.2" textLength="244" clip-path="url(#breeze-shell-line-68)">--builder           </text><text class="breeze-shell-r1" x="341.6" y="1679.2" textLength="768.6" clip-path="url(#breeze-shell-line-68)">Buildx builder used to perform `docker buildx& [...]
</text><text class="breeze-shell-r5" x="0" y="1703.6" textLength="12.2" clip-path="url(#breeze-shell-line-69)">│</text><text class="breeze-shell-r7" x="341.6" y="1703.6" textLength="73.2" clip-path="url(#breeze-shell-line-69)">(TEXT)</text><text class="breeze-shell-r5" x="1451.8" y="1703.6" textLength="12.2" clip-path="url(#breeze-shell-line-69)">│</text><text class="breeze-shell-r1" x="1464" y="1703.6" textLength="12.2" clip-path="url(#breeze-shell-line-69)">
</text><text class="breeze-shell-r5" x="0" y="1728" textLength="12.2" clip-path="url(#breeze-shell-line-70)">│</text><text class="breeze-shell-r4" x="24.4" y="1728" textLength="97.6" clip-path="url(#breeze-shell-line-70)">--use-uv</text><text class="breeze-shell-r1" x="122" y="1728" textLength="12.2" clip-path="url(#breeze-shell-line-70)">/</text><text class="breeze-shell-r4" x="134.2" y="1728" textLength="134.2" clip-path="url(#breeze-shell-line-70)">--no-use-uv</text><text class="breez [...]
-</text><text class="breeze-shell-r5" x="0" y="1752.4" textLength="1464" clip-path="url(#breeze-shell-line-71)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-shell-r1" x="1464" y="1752.4" textLength="12.2" clip-path="url(#breeze-shell-line-71)">
-</text><text class="breeze-shell-r5" x="0" y="1776.8" textLength="24.4" clip-path="url(#breeze-shell-line-72)">┌─</text><text class="breeze-shell-r5" x="24.4" y="1776.8" textLength="414.8" clip-path="url(#breeze-shell-line-72)"> Mounting the sources and volumes </text><text class="breeze-shell-r5" x="439.2" y="1776.8" textLength="1000.4" clip-path="url(#breeze-shell-line-72)">──────────────────────────────────────────────────────────────────────────────────< [...]
+</text><text class="breeze-shell-r5" x="0" y="1752.4" textLength="1464" clip-path="url(#breeze-shell-line-71)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-shell-r1" x="1464" y="1752.4" textLength="12.2" clip-path="url(#breeze-shell-line-71)">
+</text><text class="breeze-shell-r5" x="0" y="1776.8" textLength="24.4" clip-path="url(#breeze-shell-line-72)">╭─</text><text class="breeze-shell-r5" x="24.4" y="1776.8" textLength="414.8" clip-path="url(#breeze-shell-line-72)"> Mounting the sources and volumes </text><text class="breeze-shell-r5" x="439.2" y="1776.8" textLength="1000.4" clip-path="url(#breeze-shell-line-72)">──────────────────────────────────────────────────────────────────────────────────< [...]
</text><text class="breeze-shell-r5" x="0" y="1801.2" textLength="12.2" clip-path="url(#breeze-shell-line-73)">│</text><text class="breeze-shell-r4" x="24.4" y="1801.2" textLength="256.2" clip-path="url(#breeze-shell-line-73)">--mount-sources      </text><text class="breeze-shell-r1" x="305" y="1801.2" textLength="1134.6" clip-path="url(#breeze-shell-line-73)">Choose scope of local sources that should be mounted,  [...]
</text><text class="breeze-shell-r5" x="0" y="1825.6" textLength="12.2" clip-path="url(#breeze-shell-line-74)">│</text><text class="breeze-shell-r1" x="305" y="1825.6" textLength="134.2" clip-path="url(#breeze-shell-line-74)">selected). </text><text class="breeze-shell-r5" x="439.2" y="1825.6" textLength="231.8" clip-path="url(#breeze-shell-line-74)">[default: selected]</text><text class="breeze-shell-r7" x="683.2" y="1825.6" textLength="756.4" clip-path="url(#breeze-shell-line [...]
</text><text class="breeze-shell-r5" x="0" y="1850" textLength="12.2" clip-path="url(#breeze-shell-line-75)">│</text><text class="breeze-shell-r4" x="24.4" y="1850" textLength="256.2" clip-path="url(#breeze-shell-line-75)">--include-mypy-volume</text><text class="breeze-shell-r1" x="305" y="1850" textLength="915" clip-path="url(#breeze-shell-line-75)">Whether to include mounting of the mypy volume (useful for debugging mypy).</text>< [...]
-</text><text class="breeze-shell-r5" x="0" y="1874.4" textLength="1464" clip-path="url(#breeze-shell-line-76)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-shell-r1" x="1464" y="1874.4" textLength="12.2" clip-path="url(#breeze-shell-line-76)">
-</text><text class="breeze-shell-r5" x="0" y="1898.8" textLength="24.4" clip-path="url(#breeze-shell-line-77)">┌─</text><text class="breeze-shell-r5" x="24.4" y="1898.8" textLength="512.4" clip-path="url(#breeze-shell-line-77)"> Installing packages after entering shell </text><text class="breeze-shell-r5" x="536.8" y="1898.8" textLength="902.8" clip-path="url(#breeze-shell-line-77)">──────────────────────────────────────────────────────────────────────────</ [...]
+</text><text class="breeze-shell-r5" x="0" y="1874.4" textLength="1464" clip-path="url(#breeze-shell-line-76)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-shell-r1" x="1464" y="1874.4" textLength="12.2" clip-path="url(#breeze-shell-line-76)">
+</text><text class="breeze-shell-r5" x="0" y="1898.8" textLength="24.4" clip-path="url(#breeze-shell-line-77)">╭─</text><text class="breeze-shell-r5" x="24.4" y="1898.8" textLength="512.4" clip-path="url(#breeze-shell-line-77)"> Installing packages after entering shell </text><text class="breeze-shell-r5" x="536.8" y="1898.8" textLength="902.8" clip-path="url(#breeze-shell-line-77)">──────────────────────────────────────────────────────────────────────────</ [...]
</text><text class="breeze-shell-r5" x="0" y="1923.2" textLength="12.2" clip-path="url(#breeze-shell-line-78)">│</text><text class="breeze-shell-r4" x="24.4" y="1923.2" textLength="695.4" clip-path="url(#breeze-shell-line-78)">--airflow-constraints-location                           </text><text class="breeze-shell-r1" x="744.2" y="1923.2" textLength="695 [...]
</text><text class="breeze-shell-r5" x="0" y="1947.6" textLength="12.2" clip-path="url(#breeze-shell-line-79)">│</text><text class="breeze-shell-r1" x="744.2" y="1947.6" textLength="256.2" clip-path="url(#breeze-shell-line-79)">local context file). </text><text class="breeze-shell-r7" x="1000.4" y="1947.6" textLength="73.2" clip-path="url(#breeze-shell-line-79)">(TEXT)</text><text class="breeze-shell-r5" x="1451.8" y="1947.6" textLength="12.2" clip-path="url(#breeze-shell- [...]
</text><text class="breeze-shell-r5" x="0" y="1972" textLength="12.2" clip-path="url(#breeze-shell-line-80)">│</text><text class="breeze-shell-r4" x="24.4" y="1972" textLength="695.4" clip-path="url(#breeze-shell-line-80)">--airflow-constraints-mode                               </text><text class="breeze-shell-r1" x="744.2" y="1972" t [...]
@@ -681,31 +681,31 @@
</text><text class="breeze-shell-r5" x="0" y="3314" textLength="12.2" clip-path="url(#breeze-shell-line-135)">│</text><text class="breeze-shell-r4" x="24.4" y="3314" textLength="695.4" clip-path="url(#breeze-shell-line-135)">--install-airflow-python-client                          </text><text class="breeze-shell-r1" x="744.2" y="3314" textLength="695.4" clip- [...]
</text><text class="breeze-shell-r5" x="0" y="3338.4" textLength="12.2" clip-path="url(#breeze-shell-line-136)">│</text><text class="breeze-shell-r1" x="744.2" y="3338.4" textLength="12.2" clip-path="url(#breeze-shell-line-136)">(</text><text class="breeze-shell-r4" x="756.4" y="3338.4" textLength="256.2" clip-path="url(#breeze-shell-line-136)">--distribution-format</text><text class="breeze-shell-r1" x="1012.6" y="3338.4" textLength="427" clip-path="url(#breeze-shell-line-136)"> de [...]
</text><text class="breeze-shell-r5" x="0" y="3362.8" textLength="12.2" clip-path="url(#breeze-shell-line-137)">│</text><text class="breeze-shell-r1" x="744.2" y="3362.8" textLength="695.4" clip-path="url(#breeze-shell-line-137)">folder when entering breeze.                             </text><text class="breeze-shell-r5" x="1451. [...]
-</text><text class="breeze-shell-r5" x="0" y="3387.2" textLength="1464" clip-path="url(#breeze-shell-line-138)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-shell-r1" x="1464" y="3387.2" textLength="12.2" clip-path="url(#breeze-shell-line-138)">
-</text><text class="breeze-shell-r5" x="0" y="3411.6" textLength="24.4" clip-path="url(#breeze-shell-line-139)">┌─</text><text class="breeze-shell-r5" x="24.4" y="3411.6" textLength="610" clip-path="url(#breeze-shell-line-139)"> Upgrading/downgrading/removing selected packages </text><text class="breeze-shell-r5" x="634.4" y="3411.6" textLength="805.2" clip-path="url(#breeze-shell-line-139)">──────────────────────────────────────────────────────────────────</text><tex [...]
+</text><text class="breeze-shell-r5" x="0" y="3387.2" textLength="1464" clip-path="url(#breeze-shell-line-138)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-shell-r1" x="1464" y="3387.2" textLength="12.2" clip-path="url(#breeze-shell-line-138)">
+</text><text class="breeze-shell-r5" x="0" y="3411.6" textLength="24.4" clip-path="url(#breeze-shell-line-139)">╭─</text><text class="breeze-shell-r5" x="24.4" y="3411.6" textLength="610" clip-path="url(#breeze-shell-line-139)"> Upgrading/downgrading/removing selected packages </text><text class="breeze-shell-r5" x="634.4" y="3411.6" textLength="805.2" clip-path="url(#breeze-shell-line-139)">──────────────────────────────────────────────────────────────────</text><tex [...]
</text><text class="breeze-shell-r5" x="0" y="3436" textLength="12.2" clip-path="url(#breeze-shell-line-140)">│</text><text class="breeze-shell-r4" x="24.4" y="3436" textLength="268.4" clip-path="url(#breeze-shell-line-140)">--upgrade-boto        </text><text class="breeze-shell-r1" x="317.2" y="3436" textLength="866.2" clip-path="url(#breeze-shell-line-140)">Remove aiobotocore and upgrade botocore and boto to [...]
</text><text class="breeze-shell-r5" x="0" y="3460.4" textLength="12.2" clip-path="url(#breeze-shell-line-141)">│</text><text class="breeze-shell-r4" x="24.4" y="3460.4" textLength="268.4" clip-path="url(#breeze-shell-line-141)">--upgrade-sqlalchemy  </text><text class="breeze-shell-r1" x="317.2" y="3460.4" textLength="500.2" clip-path="url(#breeze-shell-line-141)">Upgrade SQLAlchemy to the latest version.</text><text class="breeze-shell-r5" x="1451.8" [...]
</text><text class="breeze-shell-r5" x="0" y="3484.8" textLength="12.2" clip-path="url(#breeze-shell-line-142)">│</text><text class="breeze-shell-r4" x="24.4" y="3484.8" textLength="268.4" clip-path="url(#breeze-shell-line-142)">--downgrade-sqlalchemy</text><text class="breeze-shell-r1" x="317.2" y="3484.8" textLength="610" clip-path="url(#breeze-shell-line-142)">Downgrade SQLAlchemy to minimum supported version.</text><text class="breeze-shell-r5" x="1451.8" y=" [...]
</text><text class="breeze-shell-r5" x="0" y="3509.2" textLength="12.2" clip-path="url(#breeze-shell-line-143)">│</text><text class="breeze-shell-r4" x="24.4" y="3509.2" textLength="268.4" clip-path="url(#breeze-shell-line-143)">--downgrade-pendulum  </text><text class="breeze-shell-r1" x="317.2" y="3509.2" textLength="585.6" clip-path="url(#breeze-shell-line-143)">Downgrade Pendulum to minimum supported version.</text><text class="breeze-shell-r5" x="1 [...]
-</text><text class="breeze-shell-r5" x="0" y="3533.6" textLength="1464" clip-path="url(#breeze-shell-line-144)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-shell-r1" x="1464" y="3533.6" textLength="12.2" clip-path="url(#breeze-shell-line-144)">
-</text><text class="breeze-shell-r5" x="0" y="3558" textLength="24.4" clip-path="url(#breeze-shell-line-145)">┌─</text><text class="breeze-shell-r5" x="24.4" y="3558" textLength="183" clip-path="url(#breeze-shell-line-145)"> DB test flags </text><text class="breeze-shell-r5" x="207.4" y="3558" textLength="1232.2" clip-path="url(#breeze-shell-line-145)">─────────────────────────────────────────────────────────────────────────────────────────────────────</text><text cla [...]
+</text><text class="breeze-shell-r5" x="0" y="3533.6" textLength="1464" clip-path="url(#breeze-shell-line-144)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-shell-r1" x="1464" y="3533.6" textLength="12.2" clip-path="url(#breeze-shell-line-144)">
+</text><text class="breeze-shell-r5" x="0" y="3558" textLength="24.4" clip-path="url(#breeze-shell-line-145)">╭─</text><text class="breeze-shell-r5" x="24.4" y="3558" textLength="183" clip-path="url(#breeze-shell-line-145)"> DB test flags </text><text class="breeze-shell-r5" x="207.4" y="3558" textLength="1232.2" clip-path="url(#breeze-shell-line-145)">─────────────────────────────────────────────────────────────────────────────────────────────────────</text><text cla [...]
</text><text class="breeze-shell-r5" x="0" y="3582.4" textLength="12.2" clip-path="url(#breeze-shell-line-146)">│</text><text class="breeze-shell-r4" x="24.4" y="3582.4" textLength="231.8" clip-path="url(#breeze-shell-line-146)">--run-db-tests-only</text><text class="breeze-shell-r1" x="280.6" y="3582.4" textLength="475.8" clip-path="url(#breeze-shell-line-146)">Only runs tests that require a database</text><text class="breeze-shell-r5" x="1451.8" y="3582.4" [...]
</text><text class="breeze-shell-r5" x="0" y="3606.8" textLength="12.2" clip-path="url(#breeze-shell-line-147)">│</text><text class="breeze-shell-r4" x="24.4" y="3606.8" textLength="231.8" clip-path="url(#breeze-shell-line-147)">--skip-db-tests    </text><text class="breeze-shell-r1" x="280.6" y="3606.8" textLength="414.8" clip-path="url(#breeze-shell-line-147)">Skip tests that require a database</text><text class="breeze-shell-r5" x="1451.8" [...]
-</text><text class="breeze-shell-r5" x="0" y="3631.2" textLength="1464" clip-path="url(#breeze-shell-line-148)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-shell-r1" x="1464" y="3631.2" textLength="12.2" clip-path="url(#breeze-shell-line-148)">
-</text><text class="breeze-shell-r5" x="0" y="3655.6" textLength="24.4" clip-path="url(#breeze-shell-line-149)">┌─</text><text class="breeze-shell-r5" x="24.4" y="3655.6" textLength="183" clip-path="url(#breeze-shell-line-149)"> Other options </text><text class="breeze-shell-r5" x="207.4" y="3655.6" textLength="1232.2" clip-path="url(#breeze-shell-line-149)">─────────────────────────────────────────────────────────────────────────────────────────────────────</text><text cl [...]
+</text><text class="breeze-shell-r5" x="0" y="3631.2" textLength="1464" clip-path="url(#breeze-shell-line-148)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-shell-r1" x="1464" y="3631.2" textLength="12.2" clip-path="url(#breeze-shell-line-148)">
+</text><text class="breeze-shell-r5" x="0" y="3655.6" textLength="24.4" clip-path="url(#breeze-shell-line-149)">╭─</text><text class="breeze-shell-r5" x="24.4" y="3655.6" textLength="183" clip-path="url(#breeze-shell-line-149)"> Other options </text><text class="breeze-shell-r5" x="207.4" y="3655.6" textLength="1232.2" clip-path="url(#breeze-shell-line-149)">─────────────────────────────────────────────────────────────────────────────────────────────────────</text><text cl [...]
</text><text class="breeze-shell-r5" x="0" y="3680" textLength="12.2" clip-path="url(#breeze-shell-line-150)">│</text><text class="breeze-shell-r4" x="24.4" y="3680" textLength="256.2" clip-path="url(#breeze-shell-line-150)">--forward-credentials</text><text class="breeze-shell-r6" x="305" y="3680" textLength="24.4" clip-path="url(#breeze-shell-line-150)">-f</text><text class="breeze-shell-r1" x="353.8" y="3680" textLength="634.4" clip-path="url(#breeze-shell-line-150)">Forward loca [...]
</text><text class="breeze-shell-r5" x="0" y="3704.4" textLength="12.2" clip-path="url(#breeze-shell-line-151)">│</text><text class="breeze-shell-r4" x="24.4" y="3704.4" textLength="256.2" clip-path="url(#breeze-shell-line-151)">--max-time           </text><text class="breeze-shell-r1" x="353.8" y="3704.4" textLength="1085.8" clip-path="url(#breeze-shell-line-151)">Maximum time that the command should ta [...]
</text><text class="breeze-shell-r5" x="0" y="3728.8" textLength="12.2" clip-path="url(#breeze-shell-line-152)">│</text><text class="breeze-shell-r7" x="353.8" y="3728.8" textLength="244" clip-path="url(#breeze-shell-line-152)">(INTEGER RANGE x>=1)</text><text class="breeze-shell-r5" x="1451.8" y="3728.8" textLength="12.2" clip-path="url(#breeze-shell-line-152)">│</text><text class="breeze-shell-r1" x="1464" y="3728.8" textLength="12.2" clip-path="url(#breeze-shell-line-152)">
</text><text class="breeze-shell-r5" x="0" y="3753.2" textLength="12.2" clip-path="url(#breeze-shell-line-153)">│</text><text class="breeze-shell-r4" x="24.4" y="3753.2" textLength="256.2" clip-path="url(#breeze-shell-line-153)">--verbose-commands   </text><text class="breeze-shell-r1" x="353.8" y="3753.2" textLength="414.8" clip-path="url(#breeze-shell-line-153)">Show details of commands executed.</text><text class="breeze-shell-r5" x="1451.8" y="3753. [...]
</text><text class="breeze-shell-r5" x="0" y="3777.6" textLength="12.2" clip-path="url(#breeze-shell-line-154)">│</text><text class="breeze-shell-r4" x="24.4" y="3777.6" textLength="256.2" clip-path="url(#breeze-shell-line-154)">--keep-env-variables </text><text class="breeze-shell-r1" x="353.8" y="3777.6" textLength="1000.4" clip-path="url(#breeze-shell-line-154)">Do not clear environment variables that might have side effect while& [...]
</text><text class="breeze-shell-r5" x="0" y="3802" textLength="12.2" clip-path="url(#breeze-shell-line-155)">│</text><text class="breeze-shell-r4" x="24.4" y="3802" textLength="256.2" clip-path="url(#breeze-shell-line-155)">--no-db-cleanup      </text><text class="breeze-shell-r1" x="353.8" y="3802" textLength="597.8" clip-path="url(#breeze-shell-line-155)">Do not clear the database before each test module</text><text [...]
-</text><text class="breeze-shell-r5" x="0" y="3826.4" textLength="1464" clip-path="url(#breeze-shell-line-156)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-shell-r1" x="1464" y="3826.4" textLength="12.2" clip-path="url(#breeze-shell-line-156)">
-</text><text class="breeze-shell-r5" x="0" y="3850.8" textLength="24.4" clip-path="url(#breeze-shell-line-157)">┌─</text><text class="breeze-shell-r5" x="24.4" y="3850.8" textLength="195.2" clip-path="url(#breeze-shell-line-157)"> Common options </text><text class="breeze-shell-r5" x="219.6" y="3850.8" textLength="1220" clip-path="url(#breeze-shell-line-157)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text cl [...]
+</text><text class="breeze-shell-r5" x="0" y="3826.4" textLength="1464" clip-path="url(#breeze-shell-line-156)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-shell-r1" x="1464" y="3826.4" textLength="12.2" clip-path="url(#breeze-shell-line-156)">
+</text><text class="breeze-shell-r5" x="0" y="3850.8" textLength="24.4" clip-path="url(#breeze-shell-line-157)">╭─</text><text class="breeze-shell-r5" x="24.4" y="3850.8" textLength="195.2" clip-path="url(#breeze-shell-line-157)"> Common options </text><text class="breeze-shell-r5" x="219.6" y="3850.8" textLength="1220" clip-path="url(#breeze-shell-line-157)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text cl [...]
</text><text class="breeze-shell-r5" x="0" y="3875.2" textLength="12.2" clip-path="url(#breeze-shell-line-158)">│</text><text class="breeze-shell-r4" x="24.4" y="3875.2" textLength="109.8" clip-path="url(#breeze-shell-line-158)">--answer </text><text class="breeze-shell-r6" x="158.6" y="3875.2" textLength="24.4" clip-path="url(#breeze-shell-line-158)">-a</text><text class="breeze-shell-r1" x="207.4" y="3875.2" textLength="329.4" clip-path="url(#breeze-shell-line-158)">Force ans [...]
</text><text class="breeze-shell-r5" x="0" y="3899.6" textLength="12.2" clip-path="url(#breeze-shell-line-159)">│</text><text class="breeze-shell-r4" x="24.4" y="3899.6" textLength="109.8" clip-path="url(#breeze-shell-line-159)">--dry-run</text><text class="breeze-shell-r6" x="158.6" y="3899.6" textLength="24.4" clip-path="url(#breeze-shell-line-159)">-D</text><text class="breeze-shell-r1" x="207.4" y="3899.6" textLength="719.8" clip-path="url(#breeze-shell-line-159)">If dry-run [...]
</text><text class="breeze-shell-r5" x="0" y="3924" textLength="12.2" clip-path="url(#breeze-shell-line-160)">│</text><text class="breeze-shell-r4" x="24.4" y="3924" textLength="109.8" clip-path="url(#breeze-shell-line-160)">--verbose</text><text class="breeze-shell-r6" x="158.6" y="3924" textLength="24.4" clip-path="url(#breeze-shell-line-160)">-v</text><text class="breeze-shell-r1" x="207.4" y="3924" textLength="585.6" clip-path="url(#breeze-shell-line-160)">Print verbose inf [...]
</text><text class="breeze-shell-r5" x="0" y="3948.4" textLength="12.2" clip-path="url(#breeze-shell-line-161)">│</text><text class="breeze-shell-r4" x="24.4" y="3948.4" textLength="109.8" clip-path="url(#breeze-shell-line-161)">--help   </text><text class="breeze-shell-r6" x="158.6" y="3948.4" textLength="24.4" clip-path="url(#breeze-shell-line-161)">-h</text><text class="breeze-shell-r1" x="207.4" y="3948.4" textLength="329.4" clip-path="url(#breeze-shell-line-161)">Show [...]
-</text><text class="breeze-shell-r5" x="0" y="3972.8" textLength="1464" clip-path="url(#breeze-shell-line-162)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-shell-r1" x="1464" y="3972.8" textLength="12.2" clip-path="url(#breeze-shell-line-162)">
+</text><text class="breeze-shell-r5" x="0" y="3972.8" textLength="1464" clip-path="url(#breeze-shell-line-162)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-shell-r1" x="1464" y="3972.8" textLength="12.2" clip-path="url(#breeze-shell-line-162)">
</text>
</g>
</g>
diff --git a/dev/breeze/doc/images/output_shell.txt b/dev/breeze/doc/images/output_shell.txt
index 871ae1ed8ce..55cbd8309bf 100644
--- a/dev/breeze/doc/images/output_shell.txt
+++ b/dev/breeze/doc/images/output_shell.txt
@@ -1 +1 @@
-c816ef588c64c0a59e4e700aeba3da3f
+ffb165b60278e72cb935354d0ecfc20b
diff --git a/dev/breeze/doc/images/output_start-airflow.svg b/dev/breeze/doc/images/output_start-airflow.svg
index 5b5f9e991ab..bf4940d500f 100644
--- a/dev/breeze/doc/images/output_start-airflow.svg
+++ b/dev/breeze/doc/images/output_start-airflow.svg
@@ -486,7 +486,7 @@
</text><text class="breeze-start-airflow-r1" x="12.2" y="93.2" textLength="1439.6" clip-path="url(#breeze-start-airflow-line-3)">Enter breeze environment and starts all Airflow components in terminal multiplexer session. Compile assets if contents</text><text class="breeze-start-airflow-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-3)">
</text><text class="breeze-start-airflow-r1" x="12.2" y="117.6" textLength="305" clip-path="url(#breeze-start-airflow-line-4)">of www directory changed.</text><text class="breeze-start-airflow-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-4)">
</text><text class="breeze-start-airflow-r1" x="1464" y="142" textLength="12.2" clip-path="url(#breeze-start-airflow-line-5)">
-</text><text class="breeze-start-airflow-r5" x="0" y="166.4" textLength="24.4" clip-path="url(#breeze-start-airflow-line-6)">┌─</text><text class="breeze-start-airflow-r5" x="24.4" y="166.4" textLength="195.2" clip-path="url(#breeze-start-airflow-line-6)"> Execution mode </text><text class="breeze-start-airflow-r5" x="219.6" y="166.4" textLength="1220" clip-path="url(#breeze-start-airflow-line-6)">──────────────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="166.4" textLength="24.4" clip-path="url(#breeze-start-airflow-line-6)">╭─</text><text class="breeze-start-airflow-r5" x="24.4" y="166.4" textLength="195.2" clip-path="url(#breeze-start-airflow-line-6)"> Execution mode </text><text class="breeze-start-airflow-r5" x="219.6" y="166.4" textLength="1220" clip-path="url(#breeze-start-airflow-line-6)">──────────────────────────────────────────────────────────────────────────── [...]
</text><text class="breeze-start-airflow-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-7)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="190.8" textLength="671" clip-path="url(#breeze-start-airflow-line-7)">--python                                       [...]
</text><text class="breeze-start-airflow-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-8)">│</text><text class="breeze-start-airflow-r1" x="768.6" y="215.2" textLength="97.6" clip-path="url(#breeze-start-airflow-line-8)">images. </text><text class="breeze-start-airflow-r5" x="866.2" y="215.2" textLength="183" clip-path="url(#breeze-start-airflow-line-8)">[default: 3.10]</text><text class="breeze-start-airflow-r7" x="1061.4" y="215.2" textLength [...]
</text><text class="breeze-start-airflow-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-9)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="239.6" textLength="671" clip-path="url(#breeze-start-airflow-line-9)">--platform                                      & [...]
@@ -494,9 +494,9 @@
</text><text class="breeze-start-airflow-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-11)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="288.4" textLength="671" clip-path="url(#breeze-start-airflow-line-11)">--integration                                     &# [...]
</text><text class="breeze-start-airflow-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-12)">│</text><text class="breeze-start-airflow-r1" x="768.6" y="312.8" textLength="134.2" clip-path="url(#breeze-start-airflow-line-12)">than one). </text><text class="breeze-start-airflow-r7" x="902.8" y="312.8" textLength="524.6" clip-path="url(#breeze-start-airflow-line-12)">(all | all-testable | cassandra | celery |  [...]
</text><text class="breeze-start-airflow-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-13)">│</text><text class="breeze-start-airflow-r7" x="768.6" y="337.2" textLength="658.8" clip-path="url(#breeze-start-airflow-line-13)">drill | elasticsearch | kafka | kerberos | keycloak | </text><text class="breeze-start-airflow-r5" x="1451.8" y="337.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-13)" [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-14)">│</text><text class="breeze-start-airflow-r7" x="768.6" y="361.6" textLength="671" clip-path="url(#breeze-start-airflow-line-14)">localstack | mongo | mssql | openlineage | otel | pinot</text><text class="breeze-start-airflow-r5" x="1451.8" y="361.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-14)"> [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-start-airflow-line-15)">│</text><text class="breeze-start-airflow-r7" x="768.6" y="386" textLength="671" clip-path="url(#breeze-start-airflow-line-15)">| qdrant | redis | redis | statsd | tinkerpop | trino |</text><text class="breeze-start-airflow-r5" x="1451.8" y="386" textLength="12.2" clip-path="url(#breeze-start-airflow-line-1 [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-16)">│</text><text class="breeze-start-airflow-r7" x="768.6" y="410.4" textLength="48.8" clip-path="url(#breeze-start-airflow-line-16)">ydb)</text><text class="breeze-start-airflow-r5" x="1451.8" y="410.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-16)">│</text><text class="breeze-start-airflow-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#b [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-14)">│</text><text class="breeze-start-airflow-r7" x="768.6" y="361.6" textLength="671" clip-path="url(#breeze-start-airflow-line-14)">localstack | mongo | mssql | openlineage | opensearch |</text><text class="breeze-start-airflow-r5" x="1451.8" y="361.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-14)">│</te [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-start-airflow-line-15)">│</text><text class="breeze-start-airflow-r7" x="768.6" y="386" textLength="597.8" clip-path="url(#breeze-start-airflow-line-15)">otel | pinot | qdrant | redis | redis | statsd | </text><text class="breeze-start-airflow-r5" x="1451.8" y="386" textLength="12.2" clip-path="url(#breeze-start-airflow-line-15)"> [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-16)">│</text><text class="breeze-start-airflow-r7" x="768.6" y="410.4" textLength="292.8" clip-path="url(#breeze-start-airflow-line-16)">tinkerpop | trino | ydb)</text><text class="breeze-start-airflow-r5" x="1451.8" y="410.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-16)">│</text><text class="breeze-start-airflow-r1" x="1464" y="4 [...]
</text><text class="breeze-start-airflow-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-17)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="434.8" textLength="317.2" clip-path="url(#breeze-start-airflow-line-17)">--standalone-dag-processor</text><text class="breeze-start-airflow-r1" x="341.6" y="434.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-17)">/</text><text class="breeze-start-airflow-r4" x="353.8" y="434.8" textLength="3 [...]
</text><text class="breeze-start-airflow-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-18)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="459.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-18)">r</text><text class="breeze-start-airflow-r1" x="768.6" y="459.2" textLength="317.2" clip-path="url(#breeze-start-airflow-line-18)">(required for Airflow 3). </text><text class="breeze-start-airflow-r5" x="1085.8" y= [...]
</text><text class="breeze-start-airflow-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-19)">│</text><text class="breeze-start-airflow-r5" x="768.6" y="483.6" textLength="305" clip-path="url(#breeze-start-airflow-line-19)">standalone-dag-processor]</text><text class="breeze-start-airflow-r5" x="1451.8" y="483.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-19)">│</text><text class="breeze-start-airflow-r1" x="1464" y="483.6" textLength="12. [...]
@@ -509,16 +509,16 @@
</text><text class="breeze-start-airflow-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-26)">│</text><text class="breeze-start-airflow-r1" x="768.6" y="654.4" textLength="671" clip-path="url(#breeze-start-airflow-line-26)">Airflow.                                       [...]
</text><text class="breeze-start-airflow-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-27)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="678.8" textLength="671" clip-path="url(#breeze-start-airflow-line-27)">--load-default-connections                             </text><text class="breeze-start-airf [...]
</text><text class="breeze-start-airflow-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-28)">│</text><text class="breeze-start-airflow-r1" x="768.6" y="703.2" textLength="671" clip-path="url(#breeze-start-airflow-line-28)">starting Airflow.                                    [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="727.6" textLength="1464" clip-path="url(#breeze-start-airflow-line-29)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-start-airflow-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-29)">
-</text><text class="breeze-start-airflow-r5" x="0" y="752" textLength="24.4" clip-path="url(#breeze-start-airflow-line-30)">┌─</text><text class="breeze-start-airflow-r5" x="24.4" y="752" textLength="463.6" clip-path="url(#breeze-start-airflow-line-30)"> Docker Compose selection and cleanup </text><text class="breeze-start-airflow-r5" x="488" y="752" textLength="951.6" clip-path="url(#breeze-start-airflow-line-30)">─────────────────────────────────────────── [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="727.6" textLength="1464" clip-path="url(#breeze-start-airflow-line-29)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-start-airflow-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-29)">
+</text><text class="breeze-start-airflow-r5" x="0" y="752" textLength="24.4" clip-path="url(#breeze-start-airflow-line-30)">╭─</text><text class="breeze-start-airflow-r5" x="24.4" y="752" textLength="463.6" clip-path="url(#breeze-start-airflow-line-30)"> Docker Compose selection and cleanup </text><text class="breeze-start-airflow-r5" x="488" y="752" textLength="951.6" clip-path="url(#breeze-start-airflow-line-30)">─────────────────────────────────────────── [...]
</text><text class="breeze-start-airflow-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-31)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="776.4" textLength="317.2" clip-path="url(#breeze-start-airflow-line-31)">--project-name            </text><text class="breeze-start-airflow-r1" x="366" y="776.4" textLength="1073.6" clip-path="url(#breeze-start-airflow-line-31)">Name of t [...]
</text><text class="breeze-start-airflow-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-32)">│</text><text class="breeze-start-airflow-r1" x="366" y="800.8" textLength="597.8" clip-path="url(#breeze-start-airflow-line-32)">breeze project name and you can use `breeze down </text><text class="breeze-start-airflow-r4" x="963.8" y="800.8" textLength="170.8" clip-path="url(#breeze-start-airflow-line-32)">--project-n [...]
</text><text class="breeze-start-airflow-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-33)">│</text><text class="breeze-start-airflow-r1" x="366" y="825.2" textLength="390.4" clip-path="url(#breeze-start-airflow-line-33)">all containers belonging to it. </text><text class="breeze-start-airflow-r5" x="756.4" y="825.2" textLength="207.4" clip-path="url(#breeze-start-airflow-line-33)">[default: breeze]</text><text class="breeze [...]
</text><text class="breeze-start-airflow-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-34)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="849.6" textLength="109.8" clip-path="url(#breeze-start-airflow-line-34)">--restart</text><text class="breeze-start-airflow-r1" x="134.2" y="849.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-34)">,</text><text class="breeze-start-airflow-r4" x="146.4" y="849.6" textLength="195.2" clip-path=" [...]
</text><text class="breeze-start-airflow-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-start-airflow-line-35)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="874" textLength="317.2" clip-path="url(#breeze-start-airflow-line-35)">--docker-host             </text><text class="breeze-start-airflow-r1" x="366" y="874" textLength="915" clip-path="url(#breeze-start-airflow-line-35)">Optional - do [...]
</text><text class="breeze-start-airflow-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-36)">│</text><text class="breeze-start-airflow-r1" x="366" y="898.4" textLength="488" clip-path="url(#breeze-start-airflow-line-36)">option is ignored when building images. </text><text class="breeze-start-airflow-r7" x="854" y="898.4" textLength="73.2" clip-path="url(#breeze-start-airflow-line-36)">(TEXT)</text><text class="breeze-start-a [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="922.8" textLength="1464" clip-path="url(#breeze-start-airflow-line-37)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-start-airflow-r1" x="1464" y="922.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-37)">
-</text><text class="breeze-start-airflow-r5" x="0" y="947.2" textLength="24.4" clip-path="url(#breeze-start-airflow-line-38)">┌─</text><text class="breeze-start-airflow-r5" x="24.4" y="947.2" textLength="122" clip-path="url(#breeze-start-airflow-line-38)"> Database </text><text class="breeze-start-airflow-r5" x="146.4" y="947.2" textLength="1293.2" clip-path="url(#breeze-start-airflow-line-38)">──────────────────────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="922.8" textLength="1464" clip-path="url(#breeze-start-airflow-line-37)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-start-airflow-r1" x="1464" y="922.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-37)">
+</text><text class="breeze-start-airflow-r5" x="0" y="947.2" textLength="24.4" clip-path="url(#breeze-start-airflow-line-38)">╭─</text><text class="breeze-start-airflow-r5" x="24.4" y="947.2" textLength="122" clip-path="url(#breeze-start-airflow-line-38)"> Database </text><text class="breeze-start-airflow-r5" x="146.4" y="947.2" textLength="1293.2" clip-path="url(#breeze-start-airflow-line-38)">──────────────────────────────────────────────────────────────────────────────────── [...]
</text><text class="breeze-start-airflow-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-39)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="971.6" textLength="292.8" clip-path="url(#breeze-start-airflow-line-39)">--backend               </text><text class="breeze-start-airflow-r6" x="341.6" y="971.6" textLength="24.4" clip-path="url(#breeze-start-airflow-line-39)">-b</te [...]
</text><text class="breeze-start-airflow-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-start-airflow-line-40)">│</text><text class="breeze-start-airflow-r1" x="390.4" y="996" textLength="1049.2" clip-path="url(#breeze-start-airflow-line-40)">with an invalid database configuration — no database will be available, and any       </text><text class="breeze-start-airflow-r5" x="1451.8" [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-41)">│</text><text class="breeze-start-airflow-r1" x="390.4" y="1020.4" textLength="1049.2" clip-path="url(#breeze-start-airflow-line-41)">attempt to run Airflow will fail. Use 'none' only for specific non-DB test cases. If  </text><text class="breeze-start-airflow-r5" x="1451.8" [...]
@@ -532,31 +532,31 @@
</text><text class="breeze-start-airflow-r5" x="0" y="1215.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-49)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1215.6" textLength="292.8" clip-path="url(#breeze-start-airflow-line-49)">--postgres-version      </text><text class="breeze-start-airflow-r6" x="341.6" y="1215.6" textLength="24.4" clip-path="url(#breeze-start-airflow-line-49)">-P</text><text class="breeze-start-airflow-r1" x [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-start-airflow-line-50)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1240" textLength="292.8" clip-path="url(#breeze-start-airflow-line-50)">--mysql-version         </text><text class="breeze-start-airflow-r6" x="341.6" y="1240" textLength="24.4" clip-path="url(#breeze-start-airflow-line-50)">-M</text><text class="breeze-start-airf [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-51)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1264.4" textLength="122" clip-path="url(#breeze-start-airflow-line-51)">--db-reset</text><text class="breeze-start-airflow-r1" x="146.4" y="1264.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-51)">/</text><text class="breeze-start-airflow-r4" x="158.6" y="1264.4" textLength="158.6" clip-pat [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="1288.8" textLength="1464" clip-path="url(#breeze-start-airflow-line-52)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-start-airflow-r1" x="1464" y="1288.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-52)">
-</text><text class="breeze-start-airflow-r5" x="0" y="1313.2" textLength="24.4" clip-path="url(#breeze-start-airflow-line-53)">┌─</text><text class="breeze-start-airflow-r5" x="24.4" y="1313.2" textLength="231.8" clip-path="url(#breeze-start-airflow-line-53)"> Choosing executor </text><text class="breeze-start-airflow-r5" x="256.2" y="1313.2" textLength="1183.4" clip-path="url(#breeze-start-airflow-line-53)">───────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="1288.8" textLength="1464" clip-path="url(#breeze-start-airflow-line-52)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-start-airflow-r1" x="1464" y="1288.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-52)">
+</text><text class="breeze-start-airflow-r5" x="0" y="1313.2" textLength="24.4" clip-path="url(#breeze-start-airflow-line-53)">╭─</text><text class="breeze-start-airflow-r5" x="24.4" y="1313.2" textLength="231.8" clip-path="url(#breeze-start-airflow-line-53)"> Choosing executor </text><text class="breeze-start-airflow-r5" x="256.2" y="1313.2" textLength="1183.4" clip-path="url(#breeze-start-airflow-line-53)">───────────────────────────────────────────────────────────────── [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1337.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-54)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1337.6" textLength="183" clip-path="url(#breeze-start-airflow-line-54)">--executor     </text><text class="breeze-start-airflow-r1" x="231.8" y="1337.6" textLength="1207.8" clip-path="url(#breeze-start-airflow-line-54)">Specify the executor to use with  [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1362" textLength="12.2" clip-path="url(#breeze-start-airflow-line-55)">│</text><text class="breeze-start-airflow-r1" x="231.8" y="1362" textLength="439.2" clip-path="url(#breeze-start-airflow-line-55)">depending on the integration used). </text><text class="breeze-start-airflow-r7" x="671" y="1362" textLength="524.6" clip-path="url(#breeze-start-airflow-line-55)">(localexecutor|celeryexecutor|edgeexecutor)</te [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1386.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-56)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1386.4" textLength="183" clip-path="url(#breeze-start-airflow-line-56)">--celery-broker</text><text class="breeze-start-airflow-r1" x="231.8" y="1386.4" textLength="414.8" clip-path="url(#breeze-start-airflow-line-56)">Specify the celery message broker </text><text class="breeze-st [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1410.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-57)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1410.8" textLength="183" clip-path="url(#breeze-start-airflow-line-57)">--celery-flower</text><text class="breeze-start-airflow-r1" x="231.8" y="1410.8" textLength="231.8" clip-path="url(#breeze-start-airflow-line-57)">Start celery flower</text><text class="breeze-start-airflow-r5" x="1451.8" y=" [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="1435.2" textLength="1464" clip-path="url(#breeze-start-airflow-line-58)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-start-airflow-r1" x="1464" y="1435.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-58)">
-</text><text class="breeze-start-airflow-r5" x="0" y="1459.6" textLength="24.4" clip-path="url(#breeze-start-airflow-line-59)">┌─</text><text class="breeze-start-airflow-r5" x="24.4" y="1459.6" textLength="329.4" clip-path="url(#breeze-start-airflow-line-59)"> Asset compilation options </text><text class="breeze-start-airflow-r5" x="353.8" y="1459.6" textLength="1085.8" clip-path="url(#breeze-start-airflow-line-59)">──────────────────────────────────────────────────── [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="1435.2" textLength="1464" clip-path="url(#breeze-start-airflow-line-58)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-start-airflow-r1" x="1464" y="1435.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-58)">
+</text><text class="breeze-start-airflow-r5" x="0" y="1459.6" textLength="24.4" clip-path="url(#breeze-start-airflow-line-59)">╭─</text><text class="breeze-start-airflow-r5" x="24.4" y="1459.6" textLength="329.4" clip-path="url(#breeze-start-airflow-line-59)"> Asset compilation options </text><text class="breeze-start-airflow-r5" x="353.8" y="1459.6" textLength="1085.8" clip-path="url(#breeze-start-airflow-line-59)">──────────────────────────────────────────────────── [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1484" textLength="12.2" clip-path="url(#breeze-start-airflow-line-60)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1484" textLength="305" clip-path="url(#breeze-start-airflow-line-60)">--skip-assets-compilation</text><text class="breeze-start-airflow-r1" x="353.8" y="1484" textLength="1085.8" clip-path="url(#breeze-start-airflow-line-60)">Skips compilation of assets when starting airflow [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1508.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-61)">│</text><text class="breeze-start-airflow-r1" x="353.8" y="1508.4" textLength="305" clip-path="url(#breeze-start-airflow-line-61)">(mutually exclusive with </text><text class="breeze-start-airflow-r4" x="658.8" y="1508.4" textLength="122" clip-path="url(#breeze-start-airflow-line-61)">--dev-mode</text><text class="breeze-start-airflow-r1" x="780.8" [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1532.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-62)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1532.8" textLength="305" clip-path="url(#breeze-start-airflow-line-62)">--dev-mode               </text><text class="breeze-start-airflow-r1" x="353.8" y="1532.8" textLength="1085.8" clip-path="url(#breeze-start-airflow-line-62)">St [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1557.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-63)">│</text><text class="breeze-start-airflow-r1" x="353.8" y="1557.2" textLength="305" clip-path="url(#breeze-start-airflow-line-63)">(mutually exclusive with </text><text class="breeze-start-airflow-r4" x="658.8" y="1557.2" textLength="305" clip-path="url(#breeze-start-airflow-line-63)">--skip-assets-compilation</text><text class="breeze-start-airflo [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="1581.6" textLength="1464" clip-path="url(#breeze-start-airflow-line-64)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-start-airflow-r1" x="1464" y="1581.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-64)">
-</text><text class="breeze-start-airflow-r5" x="0" y="1606" textLength="24.4" clip-path="url(#breeze-start-airflow-line-65)">┌─</text><text class="breeze-start-airflow-r5" x="24.4" y="1606" textLength="488" clip-path="url(#breeze-start-airflow-line-65)"> Build CI image (before entering shell) </text><text class="breeze-start-airflow-r5" x="512.4" y="1606" textLength="927.2" clip-path="url(#breeze-start-airflow-line-65)">───────────────────────────────── [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="1581.6" textLength="1464" clip-path="url(#breeze-start-airflow-line-64)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-start-airflow-r1" x="1464" y="1581.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-64)">
+</text><text class="breeze-start-airflow-r5" x="0" y="1606" textLength="24.4" clip-path="url(#breeze-start-airflow-line-65)">╭─</text><text class="breeze-start-airflow-r5" x="24.4" y="1606" textLength="488" clip-path="url(#breeze-start-airflow-line-65)"> Build CI image (before entering shell) </text><text class="breeze-start-airflow-r5" x="512.4" y="1606" textLength="927.2" clip-path="url(#breeze-start-airflow-line-65)">───────────────────────────────── [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1630.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-66)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1630.4" textLength="244" clip-path="url(#breeze-start-airflow-line-66)">--force-build       </text><text class="breeze-start-airflow-r1" x="341.6" y="1630.4" textLength="707.6" clip-path="url(#breeze-start-airflow-line-66)">Force image build no matter& [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1654.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-67)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1654.8" textLength="244" clip-path="url(#breeze-start-airflow-line-67)">--github-repository </text><text class="breeze-start-airflow-r6" x="292.8" y="1654.8" textLength="24.4" clip-path="url(#breeze-start-airflow-line-67)">-g</text><text class="breeze-start-airflow-r1" x="341.6" y="1654.8" textLength= [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1679.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-68)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1679.2" textLength="244" clip-path="url(#breeze-start-airflow-line-68)">--builder           </text><text class="breeze-start-airflow-r1" x="341.6" y="1679.2" textLength="768.6" clip-path="url(#breeze-start-airflow-line-68)">Buildx builder use [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1703.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-69)">│</text><text class="breeze-start-airflow-r7" x="341.6" y="1703.6" textLength="73.2" clip-path="url(#breeze-start-airflow-line-69)">(TEXT)</text><text class="breeze-start-airflow-r5" x="1451.8" y="1703.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-69)">│</text><text class="breeze-start-airflow-r1" x="1464" y="1703.6" textLength="12.2" clip-path=" [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1728" textLength="12.2" clip-path="url(#breeze-start-airflow-line-70)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1728" textLength="97.6" clip-path="url(#breeze-start-airflow-line-70)">--use-uv</text><text class="breeze-start-airflow-r1" x="122" y="1728" textLength="12.2" clip-path="url(#breeze-start-airflow-line-70)">/</text><text class="breeze-start-airflow-r4" x="134.2" y="1728" textLength="134.2" clip-path="url(#bre [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="1752.4" textLength="1464" clip-path="url(#breeze-start-airflow-line-71)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-start-airflow-r1" x="1464" y="1752.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-71)">
-</text><text class="breeze-start-airflow-r5" x="0" y="1776.8" textLength="24.4" clip-path="url(#breeze-start-airflow-line-72)">┌─</text><text class="breeze-start-airflow-r5" x="24.4" y="1776.8" textLength="414.8" clip-path="url(#breeze-start-airflow-line-72)"> Mounting the sources and volumes </text><text class="breeze-start-airflow-r5" x="439.2" y="1776.8" textLength="1000.4" clip-path="url(#breeze-start-airflow-line-72)">─────────────────────────────────── [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="1752.4" textLength="1464" clip-path="url(#breeze-start-airflow-line-71)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-start-airflow-r1" x="1464" y="1752.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-71)">
+</text><text class="breeze-start-airflow-r5" x="0" y="1776.8" textLength="24.4" clip-path="url(#breeze-start-airflow-line-72)">╭─</text><text class="breeze-start-airflow-r5" x="24.4" y="1776.8" textLength="414.8" clip-path="url(#breeze-start-airflow-line-72)"> Mounting the sources and volumes </text><text class="breeze-start-airflow-r5" x="439.2" y="1776.8" textLength="1000.4" clip-path="url(#breeze-start-airflow-line-72)">─────────────────────────────────── [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1801.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-73)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1801.2" textLength="183" clip-path="url(#breeze-start-airflow-line-73)">--mount-sources</text><text class="breeze-start-airflow-r1" x="231.8" y="1801.2" textLength="1207.8" clip-path="url(#breeze-start-airflow-line-73)">Choose scope of local sources that should be mo [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1825.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-74)">│</text><text class="breeze-start-airflow-r5" x="231.8" y="1825.6" textLength="231.8" clip-path="url(#breeze-start-airflow-line-74)">[default: selected]</text><text class="breeze-start-airflow-r7" x="475.8" y="1825.6" textLength="756.4" clip-path="url(#breeze-start-airflow-line-74)">(selected | all | skip | remove | te [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="1850" textLength="1464" clip-path="url(#breeze-start-airflow-line-75)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-start-airflow-r1" x="1464" y="1850" textLength="12.2" clip-path="url(#breeze-start-airflow-line-75)">
-</text><text class="breeze-start-airflow-r5" x="0" y="1874.4" textLength="24.4" clip-path="url(#breeze-start-airflow-line-76)">┌─</text><text class="breeze-start-airflow-r5" x="24.4" y="1874.4" textLength="512.4" clip-path="url(#breeze-start-airflow-line-76)"> Installing packages after entering shell </text><text class="breeze-start-airflow-r5" x="536.8" y="1874.4" textLength="902.8" clip-path="url(#breeze-start-airflow-line-76)">──────────────────────────── [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="1850" textLength="1464" clip-path="url(#breeze-start-airflow-line-75)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-start-airflow-r1" x="1464" y="1850" textLength="12.2" clip-path="url(#breeze-start-airflow-line-75)">
+</text><text class="breeze-start-airflow-r5" x="0" y="1874.4" textLength="24.4" clip-path="url(#breeze-start-airflow-line-76)">╭─</text><text class="breeze-start-airflow-r5" x="24.4" y="1874.4" textLength="512.4" clip-path="url(#breeze-start-airflow-line-76)"> Installing packages after entering shell </text><text class="breeze-start-airflow-r5" x="536.8" y="1874.4" textLength="902.8" clip-path="url(#breeze-start-airflow-line-76)">──────────────────────────── [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1898.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-77)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1898.8" textLength="695.4" clip-path="url(#breeze-start-airflow-line-77)">--airflow-constraints-location                           </text><text class="breeze-start-airflow- [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1923.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-78)">│</text><text class="breeze-start-airflow-r1" x="744.2" y="1923.2" textLength="256.2" clip-path="url(#breeze-start-airflow-line-78)">local context file). </text><text class="breeze-start-airflow-r7" x="1000.4" y="1923.2" textLength="73.2" clip-path="url(#breeze-start-airflow-line-78)">(TEXT)</text><text class="breeze-start-airflow-r5" x="1451.8" y= [...]
</text><text class="breeze-start-airflow-r5" x="0" y="1947.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-79)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="1947.6" textLength="695.4" clip-path="url(#breeze-start-airflow-line-79)">--airflow-constraints-mode                               </text><text class="b [...]
@@ -604,24 +604,24 @@
</text><text class="breeze-start-airflow-r5" x="0" y="2972.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-121)">│</text><text class="breeze-start-airflow-r1" x="744.2" y="2972.4" textLength="146.4" clip-path="url(#breeze-start-airflow-line-121)">pre-release </text><text class="breeze-start-airflow-r4" x="890.6" y="2972.4" textLength="256.2" clip-path="url(#breeze-start-airflow-line-121)">--use-airflow-version</text><text class="breeze-start-airflow-r1" x="1146.8" y=" [...]
</text><text class="breeze-start-airflow-r5" x="0" y="2996.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-122)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="2996.8" textLength="695.4" clip-path="url(#breeze-start-airflow-line-122)">--use-distributions-from-dist                            </text><text class="breeze-start-a [...]
</text><text class="breeze-start-airflow-r5" x="0" y="3021.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-123)">│</text><text class="breeze-start-airflow-r1" x="744.2" y="3021.2" textLength="695.4" clip-path="url(#breeze-start-airflow-line-123)">determines type) from 'dist' folder when entering breeze.</text><text class="breeze-start-airflow-r5" x="1451.8" y="3021.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-1 [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="3045.6" textLength="1464" clip-path="url(#breeze-start-airflow-line-124)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-start-airflow-r1" x="1464" y="3045.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-124)">
-</text><text class="breeze-start-airflow-r5" x="0" y="3070" textLength="24.4" clip-path="url(#breeze-start-airflow-line-125)">┌─</text><text class="breeze-start-airflow-r5" x="24.4" y="3070" textLength="183" clip-path="url(#breeze-start-airflow-line-125)"> Other options </text><text class="breeze-start-airflow-r5" x="207.4" y="3070" textLength="1232.2" clip-path="url(#breeze-start-airflow-line-125)">────────────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="3045.6" textLength="1464" clip-path="url(#breeze-start-airflow-line-124)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-start-airflow-r1" x="1464" y="3045.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-124)">
+</text><text class="breeze-start-airflow-r5" x="0" y="3070" textLength="24.4" clip-path="url(#breeze-start-airflow-line-125)">╭─</text><text class="breeze-start-airflow-r5" x="24.4" y="3070" textLength="183" clip-path="url(#breeze-start-airflow-line-125)"> Other options </text><text class="breeze-start-airflow-r5" x="207.4" y="3070" textLength="1232.2" clip-path="url(#breeze-start-airflow-line-125)">────────────────────────────────────────────────────────────────────────── [...]
</text><text class="breeze-start-airflow-r5" x="0" y="3094.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-126)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="3094.4" textLength="256.2" clip-path="url(#breeze-start-airflow-line-126)">--forward-credentials</text><text class="breeze-start-airflow-r6" x="305" y="3094.4" textLength="24.4" clip-path="url(#breeze-start-airflow-line-126)">-f</text><text class="breeze-start-airflow-r1" x="353.8" y="3094.4" textLength=" [...]
</text><text class="breeze-start-airflow-r5" x="0" y="3118.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-127)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="3118.8" textLength="256.2" clip-path="url(#breeze-start-airflow-line-127)">--create-all-roles   </text><text class="breeze-start-airflow-r1" x="353.8" y="3118.8" textLength="1085.8" clip-path="url(#breeze-start-airflow-line-127)">Creates all user roles for testing&# [...]
</text><text class="breeze-start-airflow-r5" x="0" y="3143.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-128)">│</text><text class="breeze-start-airflow-r1" x="353.8" y="3143.2" textLength="1085.8" clip-path="url(#breeze-start-airflow-line-128)">SimpleAuthManager always has all roles available.                           [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="3167.6" textLength="1464" clip-path="url(#breeze-start-airflow-line-129)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-start-airflow-r1" x="1464" y="3167.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-129)">
-</text><text class="breeze-start-airflow-r5" x="0" y="3192" textLength="24.4" clip-path="url(#breeze-start-airflow-line-130)">┌─</text><text class="breeze-start-airflow-r5" x="24.4" y="3192" textLength="231.8" clip-path="url(#breeze-start-airflow-line-130)"> Debugging options </text><text class="breeze-start-airflow-r5" x="256.2" y="3192" textLength="1183.4" clip-path="url(#breeze-start-airflow-line-130)">──────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="3167.6" textLength="1464" clip-path="url(#breeze-start-airflow-line-129)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-start-airflow-r1" x="1464" y="3167.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-129)">
+</text><text class="breeze-start-airflow-r5" x="0" y="3192" textLength="24.4" clip-path="url(#breeze-start-airflow-line-130)">╭─</text><text class="breeze-start-airflow-r5" x="24.4" y="3192" textLength="231.8" clip-path="url(#breeze-start-airflow-line-130)"> Debugging options </text><text class="breeze-start-airflow-r5" x="256.2" y="3192" textLength="1183.4" clip-path="url(#breeze-start-airflow-line-130)">──────────────────────────────────────────────────────────────────── [...]
</text><text class="breeze-start-airflow-r5" x="0" y="3216.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-131)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="3216.4" textLength="122" clip-path="url(#breeze-start-airflow-line-131)">--debug   </text><text class="breeze-start-airflow-r1" x="170.8" y="3216.4" textLength="1268.8" clip-path="url(#breeze-start-airflow-line-131)">Enable debugging for specific Airflow components. [...]
</text><text class="breeze-start-airflow-r5" x="0" y="3240.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-132)">│</text><text class="breeze-start-airflow-r1" x="170.8" y="3240.8" textLength="671" clip-path="url(#breeze-start-airflow-line-132)">api-server, dag-processor, edge-worker, celery-worker. </text><text class="breeze-start-airflow-r7" x="841.8" y="3240.8" textLength="463.6" clip-path="url(#breeze-start-airflow-line-132)">(scheduler | t [...]
</text><text class="breeze-start-airflow-r5" x="0" y="3265.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-133)">│</text><text class="breeze-start-airflow-r7" x="170.8" y="3265.2" textLength="536.8" clip-path="url(#breeze-start-airflow-line-133)">dag-processor | edge-worker | celery-worker)</text><text class="breeze-start-airflow-r5" x="1451.8" y="3265.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-133)">│</text><text class="breeze-start [...]
</text><text class="breeze-start-airflow-r5" x="0" y="3289.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-134)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="3289.6" textLength="122" clip-path="url(#breeze-start-airflow-line-134)">--debugger</text><text class="breeze-start-airflow-r1" x="170.8" y="3289.6" textLength="610" clip-path="url(#breeze-start-airflow-line-134)">Debugger to use for debugging Airflow components. </text> [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="3314" textLength="1464" clip-path="url(#breeze-start-airflow-line-135)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-start-airflow-r1" x="1464" y="3314" textLength="12.2" clip-path="url(#breeze-start-airflow-line-135)">
-</text><text class="breeze-start-airflow-r5" x="0" y="3338.4" textLength="24.4" clip-path="url(#breeze-start-airflow-line-136)">┌─</text><text class="breeze-start-airflow-r5" x="24.4" y="3338.4" textLength="195.2" clip-path="url(#breeze-start-airflow-line-136)"> Common options </text><text class="breeze-start-airflow-r5" x="219.6" y="3338.4" textLength="1220" clip-path="url(#breeze-start-airflow-line-136)">─────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="3314" textLength="1464" clip-path="url(#breeze-start-airflow-line-135)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-start-airflow-r1" x="1464" y="3314" textLength="12.2" clip-path="url(#breeze-start-airflow-line-135)">
+</text><text class="breeze-start-airflow-r5" x="0" y="3338.4" textLength="24.4" clip-path="url(#breeze-start-airflow-line-136)">╭─</text><text class="breeze-start-airflow-r5" x="24.4" y="3338.4" textLength="195.2" clip-path="url(#breeze-start-airflow-line-136)"> Common options </text><text class="breeze-start-airflow-r5" x="219.6" y="3338.4" textLength="1220" clip-path="url(#breeze-start-airflow-line-136)">─────────────────────────────────────────────────────────────────── [...]
</text><text class="breeze-start-airflow-r5" x="0" y="3362.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-137)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="3362.8" textLength="109.8" clip-path="url(#breeze-start-airflow-line-137)">--answer </text><text class="breeze-start-airflow-r6" x="158.6" y="3362.8" textLength="24.4" clip-path="url(#breeze-start-airflow-line-137)">-a</text><text class="breeze-start-airflow-r1" x="207.4" y="3362.8" textLength="329.4 [...]
</text><text class="breeze-start-airflow-r5" x="0" y="3387.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-138)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="3387.2" textLength="109.8" clip-path="url(#breeze-start-airflow-line-138)">--dry-run</text><text class="breeze-start-airflow-r6" x="158.6" y="3387.2" textLength="24.4" clip-path="url(#breeze-start-airflow-line-138)">-D</text><text class="breeze-start-airflow-r1" x="207.4" y="3387.2" textLength="719.8" cli [...]
</text><text class="breeze-start-airflow-r5" x="0" y="3411.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-139)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="3411.6" textLength="109.8" clip-path="url(#breeze-start-airflow-line-139)">--verbose</text><text class="breeze-start-airflow-r6" x="158.6" y="3411.6" textLength="24.4" clip-path="url(#breeze-start-airflow-line-139)">-v</text><text class="breeze-start-airflow-r1" x="207.4" y="3411.6" textLength="585.6" cli [...]
</text><text class="breeze-start-airflow-r5" x="0" y="3436" textLength="12.2" clip-path="url(#breeze-start-airflow-line-140)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="3436" textLength="109.8" clip-path="url(#breeze-start-airflow-line-140)">--help   </text><text class="breeze-start-airflow-r6" x="158.6" y="3436" textLength="24.4" clip-path="url(#breeze-start-airflow-line-140)">-h</text><text class="breeze-start-airflow-r1" x="207.4" y="3436" textLength="329 [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="3460.4" textLength="1464" clip-path="url(#breeze-start-airflow-line-141)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-start-airflow-r1" x="1464" y="3460.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-141)">
+</text><text class="breeze-start-airflow-r5" x="0" y="3460.4" textLength="1464" clip-path="url(#breeze-start-airflow-line-141)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-start-airflow-r1" x="1464" y="3460.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-141)">
</text>
</g>
</g>
diff --git a/dev/breeze/doc/images/output_start-airflow.txt b/dev/breeze/doc/images/output_start-airflow.txt
index d2fb8b32bbc..f17c0c91b3c 100644
--- a/dev/breeze/doc/images/output_start-airflow.txt
+++ b/dev/breeze/doc/images/output_start-airflow.txt
@@ -1 +1 @@
-d0896b89f29fb1862a8a4331e2c6d3a7
+a8f600fe603562fecd520fb96e6652c6
diff --git a/dev/breeze/doc/images/output_testing_providers-integration-tests.svg b/dev/breeze/doc/images/output_testing_providers-integration-tests.svg
index ac2c209db2d..3ebbcdcf4cf 100644
--- a/dev/breeze/doc/images/output_testing_providers-integration-tests.svg
+++ b/dev/breeze/doc/images/output_testing_providers-integration-tests.svg
@@ -221,14 +221,14 @@
</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-2)">
</text><text class="breeze-testing-providers-integration-tests-r1" x="12.2" y="93.2" textLength="439.2" clip-path="url(#breeze-testing-providers-integration-tests-line-3)">Run the specified integration tests.</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-3)">
</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-4)">
-</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-testing-providers-integration-tests-line-5)">┌─</text><text class="breeze-testing-providers-integration-tests-r5" x="24.4" y="142" textLength="170.8" clip-path="url(#breeze-testing-providers-integration-tests-line-5)"> Test options </text><text class="breeze-testing-providers-integration-tests-r5" x="195.2" y="142" textLength="1244.4" clip-path="url(#br [...]
+</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-testing-providers-integration-tests-line-5)">╭─</text><text class="breeze-testing-providers-integration-tests-r5" x="24.4" y="142" textLength="170.8" clip-path="url(#breeze-testing-providers-integration-tests-line-5)"> Test options </text><text class="breeze-testing-providers-integration-tests-r5" x="195.2" y="142" textLength="1244.4" clip-path="url(#br [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-6)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="166.4" textLength="292.8" clip-path="url(#breeze-testing-providers-integration-tests-line-6)">--test-timeout          </text><text class="breeze-testing-providers-integration-tests-r1" x="390.4 [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-7)">│</text><text class="breeze-testing-providers-integration-tests-r1" x="390.4" y="190.8" textLength="73.2" clip-path="url(#breeze-testing-providers-integration-tests-line-7)">value </text><text class="breeze-testing-providers-integration-tests-r5" x="463.6" y="190.8" textLength="158.6" clip-path="url(#breeze-testing-p [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-8)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="215.2" textLength="292.8" clip-path="url(#breeze-testing-providers-integration-tests-line-8)">--enable-coverage       </text><text class="breeze-testing-providers-integration-tests-r1" x="390.4" y="215.2" tex [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-9)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="239.6" textLength="292.8" clip-path="url(#breeze-testing-providers-integration-tests-line-9)">--collect-only          </text><text class="breeze-testing-providers-integration-tests-r1" x="390.4 [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-10)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="264" textLength="122" clip-path="url(#breeze-testing-providers-integration-tests-line-10)">--db-reset</text><text class="breeze-testing-providers-integration-tests-r1" x="146.4" y="264" textLength="12.2" clip-path="url(#breeze-testing-providers [...]
-</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="288.4" textLength="1464" clip-path="url(#breeze-testing-providers-integration-tests-line-11)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-11)">
-</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="312.8" textLength="24.4" clip-path="url(#breeze-testing-providers-integration-tests-line-12)">┌─</text><text class="breeze-testing-providers-integration-tests-r5" x="24.4" y="312.8" textLength="219.6" clip-path="url(#breeze-testing-providers-integration-tests-line-12)"> Test environment </text><text class="breeze-testing-providers-integration-tests-r5" x="244" y="312.8" textLength="1195.6" clip-pat [...]
+</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="288.4" textLength="1464" clip-path="url(#breeze-testing-providers-integration-tests-line-11)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-11)">
+</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="312.8" textLength="24.4" clip-path="url(#breeze-testing-providers-integration-tests-line-12)">╭─</text><text class="breeze-testing-providers-integration-tests-r5" x="24.4" y="312.8" textLength="219.6" clip-path="url(#breeze-testing-providers-integration-tests-line-12)"> Test environment </text><text class="breeze-testing-providers-integration-tests-r5" x="244" y="312.8" textLength="1195.6" clip-pat [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-13)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="337.2" textLength="512.4" clip-path="url(#breeze-testing-providers-integration-tests-line-13)">--backend                        [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-14)">│</text><text class="breeze-testing-providers-integration-tests-r1" x="610" y="361.6" textLength="829.6" clip-path="url(#breeze-testing-providers-integration-tests-line-14)">Breeze will start with an invalid database configuration — no        [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-15)">│</text><text class="breeze-testing-providers-integration-tests-r1" x="610" y="386" textLength="829.6" clip-path="url(#breeze-testing-providers-integration-tests-line-15)">database will be available, and any attempt to run Airflow will     </text><t [...]
@@ -251,25 +251,25 @@
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-32)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="800.8" textLength="512.4" clip-path="url(#breeze-testing-providers-integration-tests-line-32)">--forward-credentials                      [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-33)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="825.2" textLength="231.8" clip-path="url(#breeze-testing-providers-integration-tests-line-33)">--force-sa-warnings</text><text class="breeze-testing-providers-integration-tests-r1" x="256.2" y="825.2" textLength="12.2" clip-path="url(#breeze- [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-34)">│</text><text class="breeze-testing-providers-integration-tests-r5" x="610" y="849.6" textLength="341.6" clip-path="url(#breeze-testing-providers-integration-tests-line-34)">[default: force-sa-warnings]</text><text class="breeze-testing-providers-integration-tests-r5" x="1451.8" y="849.6" textLength="12.2" clip-path [...]
-</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="874" textLength="1464" clip-path="url(#breeze-testing-providers-integration-tests-line-35)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="874" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-35)">
-</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="898.4" textLength="24.4" clip-path="url(#breeze-testing-providers-integration-tests-line-36)">┌─</text><text class="breeze-testing-providers-integration-tests-r5" x="24.4" y="898.4" textLength="231.8" clip-path="url(#breeze-testing-providers-integration-tests-line-36)"> Integration tests </text><text class="breeze-testing-providers-integration-tests-r5" x="256.2" y="898.4" textLength="1183.4" clip- [...]
+</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="874" textLength="1464" clip-path="url(#breeze-testing-providers-integration-tests-line-35)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="874" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-35)">
+</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="898.4" textLength="24.4" clip-path="url(#breeze-testing-providers-integration-tests-line-36)">╭─</text><text class="breeze-testing-providers-integration-tests-r5" x="24.4" y="898.4" textLength="231.8" clip-path="url(#breeze-testing-providers-integration-tests-line-36)"> Integration tests </text><text class="breeze-testing-providers-integration-tests-r5" x="256.2" y="898.4" textLength="1183.4" clip- [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-37)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="922.8" textLength="158.6" clip-path="url(#breeze-testing-providers-integration-tests-line-37)">--integration</text><text class="breeze-testing-providers-integration-tests-r1" x="207.4" y="922.8" textLength="878.4" clip-path="url(#breeze-testi [...]
-</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-38)">│</text><text class="breeze-testing-providers-integration-tests-r6" x="207.4" y="947.2" textLength="1232.2" clip-path="url(#breeze-testing-providers-integration-tests-line-38)">cassandra | celery | drill | elasticsearch | kafka | localstack | mongo | m [...]
-</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-39)">│</text><text class="breeze-testing-providers-integration-tests-r6" x="207.4" y="971.6" textLength="524.6" clip-path="url(#breeze-testing-providers-integration-tests-line-39)">| qdrant | redis | tinkerpop | trino | ydb)</text><text class="breeze-testing-providers-integration-t [...]
-</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="996" textLength="1464" clip-path="url(#breeze-testing-providers-integration-tests-line-40)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="996" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-40)">
-</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1020.4" textLength="24.4" clip-path="url(#breeze-testing-providers-integration-tests-line-41)">┌─</text><text class="breeze-testing-providers-integration-tests-r5" x="24.4" y="1020.4" textLength="402.6" clip-path="url(#breeze-testing-providers-integration-tests-line-41)"> Advanced flag for tests command </text><text class="breeze-testing-providers-integration-tests-r5" x="427" y="102 [...]
+</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-38)">│</text><text class="breeze-testing-providers-integration-tests-r6" x="207.4" y="947.2" textLength="1171.2" clip-path="url(#breeze-testing-providers-integration-tests-line-38)">cassandra | celery | drill | elasticsearch | kafka | localstack | mongo | m [...]
+</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-39)">│</text><text class="breeze-testing-providers-integration-tests-r6" x="207.4" y="971.6" textLength="756.4" clip-path="url(#breeze-testing-providers-integration-tests-line-39)">opensearch | pinot | qdrant | redis | tinkerpop | trino | ydb)</text><text class="bree [...]
+</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="996" textLength="1464" clip-path="url(#breeze-testing-providers-integration-tests-line-40)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="996" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-40)">
+</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1020.4" textLength="24.4" clip-path="url(#breeze-testing-providers-integration-tests-line-41)">╭─</text><text class="breeze-testing-providers-integration-tests-r5" x="24.4" y="1020.4" textLength="402.6" clip-path="url(#breeze-testing-providers-integration-tests-line-41)"> Advanced flag for tests command </text><text class="breeze-testing-providers-integration-tests-r5" x="427" y="102 [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-42)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="1044.8" textLength="317.2" clip-path="url(#breeze-testing-providers-integration-tests-line-42)">--github-repository       </text><text class="breeze-testing-providers-integration-tests-r7" x="366" y="1044.8 [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-43)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="1069.2" textLength="317.2" clip-path="url(#breeze-testing-providers-integration-tests-line-43)">--mount-sources           </text><text class="breeze-testing-providers-integration-tests-r [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-44)">│</text><text class="breeze-testing-providers-integration-tests-r1" x="414.8" y="1093.6" textLength="134.2" clip-path="url(#breeze-testing-providers-integration-tests-line-44)">selected). </text><text class="breeze-testing-providers-integration-tests-r5" x="549" y="1093.6" textLength="231.8" clip-path="url(#breeze- [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-45)">│</text><text class="breeze-testing-providers-integration-tests-r6" x="414.8" y="1118" textLength="244" clip-path="url(#breeze-testing-providers-integration-tests-line-45)">providers-and-tests)</text><text class="breeze-testing-providers-integration-tests-r5" x="1451.8" y="1118" textLength="12.2" clip-path="url(#breeze-te [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-46)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="1142.4" textLength="317.2" clip-path="url(#breeze-testing-providers-integration-tests-line-46)">--skip-docker-compose-down</text><text class="breeze-testing-providers-integration-tests-r1" x="414.8" y="1142.4" textLength="549" clip-path="url [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1166.8" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-47)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="1166.8" textLength="317.2" clip-path="url(#breeze-testing-providers-integration-tests-line-47)">--keep-env-variables      </text><text class="breeze-testing-providers-integration-tests-r1" x="414.8" y="1166.8" t [...]
-</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1191.2" textLength="1464" clip-path="url(#breeze-testing-providers-integration-tests-line-48)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="1191.2" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-48)">
-</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1215.6" textLength="24.4" clip-path="url(#breeze-testing-providers-integration-tests-line-49)">┌─</text><text class="breeze-testing-providers-integration-tests-r5" x="24.4" y="1215.6" textLength="195.2" clip-path="url(#breeze-testing-providers-integration-tests-line-49)"> Common options </text><text class="breeze-testing-providers-integration-tests-r5" x="219.6" y="1215.6" textLength="1220" clip-pa [...]
+</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1191.2" textLength="1464" clip-path="url(#breeze-testing-providers-integration-tests-line-48)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="1191.2" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-48)">
+</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1215.6" textLength="24.4" clip-path="url(#breeze-testing-providers-integration-tests-line-49)">╭─</text><text class="breeze-testing-providers-integration-tests-r5" x="24.4" y="1215.6" textLength="195.2" clip-path="url(#breeze-testing-providers-integration-tests-line-49)"> Common options </text><text class="breeze-testing-providers-integration-tests-r5" x="219.6" y="1215.6" textLength="1220" clip-pa [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-50)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="1240" textLength="109.8" clip-path="url(#breeze-testing-providers-integration-tests-line-50)">--dry-run</text><text class="breeze-testing-providers-integration-tests-r7" x="158.6" y="1240" textLength="24.4" clip-path="url(#breeze-testing-provi [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-51)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="1264.4" textLength="109.8" clip-path="url(#breeze-testing-providers-integration-tests-line-51)">--verbose</text><text class="breeze-testing-providers-integration-tests-r7" x="158.6" y="1264.4" textLength="24.4" clip-path="url(#breeze-testing [...]
</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1288.8" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-52)">│</text><text class="breeze-testing-providers-integration-tests-r4" x="24.4" y="1288.8" textLength="109.8" clip-path="url(#breeze-testing-providers-integration-tests-line-52)">--help   </text><text class="breeze-testing-providers-integration-tests-r7" x="158.6" y="1288.8" textLength="24.4" clip-path="url( [...]
-</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1313.2" textLength="1464" clip-path="url(#breeze-testing-providers-integration-tests-line-53)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="1313.2" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-53)">
+</text><text class="breeze-testing-providers-integration-tests-r5" x="0" y="1313.2" textLength="1464" clip-path="url(#breeze-testing-providers-integration-tests-line-53)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-providers-integration-tests-r1" x="1464" y="1313.2" textLength="12.2" clip-path="url(#breeze-testing-providers-integration-tests-line-53)">
</text>
</g>
</g>
diff --git a/dev/breeze/doc/images/output_testing_providers-integration-tests.txt b/dev/breeze/doc/images/output_testing_providers-integration-tests.txt
index 93f5cdd3369..23f68a03967 100644
--- a/dev/breeze/doc/images/output_testing_providers-integration-tests.txt
+++ b/dev/breeze/doc/images/output_testing_providers-integration-tests.txt
@@ -1 +1 @@
-f48be7aee656b40d9ba1ae09242af12b
+769bdb032703d156065cbfb473770aa6
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py b/dev/breeze/src/airflow_breeze/global_constants.py
index 6051821b724..987dc4b8db7 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -103,8 +103,9 @@ KEYCLOAK_INTEGRATION = "keycloak"
STATSD_INTEGRATION = "statsd"
OTEL_INTEGRATION = "otel"
OPENLINEAGE_INTEGRATION = "openlineage"
+OPENSEARCH_INTEGRATION = "opensearch"
OTHER_CORE_INTEGRATIONS = [STATSD_INTEGRATION, KEYCLOAK_INTEGRATION]
-OTHER_PROVIDERS_INTEGRATIONS = [OPENLINEAGE_INTEGRATION]
+OTHER_PROVIDERS_INTEGRATIONS = [OPENLINEAGE_INTEGRATION, OPENSEARCH_INTEGRATION]
ALLOWED_DEBIAN_VERSIONS = ["bookworm"]
ALL_CORE_INTEGRATIONS = sorted(
[
diff --git a/scripts/ci/docker-compose/integration-opensearch.yml b/scripts/ci/docker-compose/integration-opensearch.yml
new file mode 100644
index 00000000000..9579241679a
--- /dev/null
+++ b/scripts/ci/docker-compose/integration-opensearch.yml
@@ -0,0 +1,48 @@
+# 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.
+---
+services:
+ opensearch:
+ image: opensearchproject/opensearch:2.19.0
+ labels:
+ breeze.description: "Integration required for OpenSearch hooks."
+ environment:
+ - discovery.type=single-node
+ - DISABLE_SECURITY_PLUGIN=true
+ - DISABLE_INSTALL_DEMO_CONFIG=true
+ - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
+ volumes:
+ - opensearch-db-volume:/usr/share/opensearch/data
+ ports:
+ - "${OPENSEARCH_HOST_PORT:-9200}:9200"
+ healthcheck:
+ test: ["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1"]
+ interval: 10s
+ timeout: 30s
+ start_period: 60s
+ retries: 50
+ restart: "on-failure"
+
+ airflow:
+ environment:
+ - INTEGRATION_OPENSEARCH=true
+ depends_on:
+ opensearch:
+ condition: service_healthy
+
+volumes:
+ opensearch-db-volume: