This is an automated email from the ASF dual-hosted git repository. vatsrahul1001 pushed a commit to branch cherry-pick-65260 in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 4e6c2dbede922d618d6097b8f9b5b17e490a3a66 Author: Przemysław Mirowski <[email protected]> AuthorDate: Thu Apr 16 00:21:26 2026 +0200 Add breeze k8s deploy-cluster command (#65260) * Add breeze k8s deploy-cluster * Add outputs & skip flags * Regenerate images * Update test command docs * Update k8s tests doc (cherry picked from commit 7da8a11293586d9569f1f62dc58f748fbc9761ed) --- contributing-docs/testing/k8s_tests.rst | 8 +- dev/breeze/doc/05_test_commands.rst | 21 ++- dev/breeze/doc/images/output_k8s.svg | 42 +++--- dev/breeze/doc/images/output_k8s.txt | 2 +- .../doc/images/output_k8s_deploy-cluster.svg | 156 +++++++++++++++++++++ .../doc/images/output_k8s_deploy-cluster.txt | 1 + .../output_setup_check-all-params-in-groups.svg | 38 ++--- .../output_setup_check-all-params-in-groups.txt | 2 +- .../output_setup_regenerate-command-images.svg | 10 +- .../output_setup_regenerate-command-images.txt | 2 +- .../airflow_breeze/commands/kubernetes_commands.py | 105 +++++++++++++- .../commands/kubernetes_commands_config.py | 14 ++ 12 files changed, 350 insertions(+), 51 deletions(-) diff --git a/contributing-docs/testing/k8s_tests.rst b/contributing-docs/testing/k8s_tests.rst index 084bb5e0923..d856108ec69 100644 --- a/contributing-docs/testing/k8s_tests.rst +++ b/contributing-docs/testing/k8s_tests.rst @@ -215,8 +215,12 @@ You can exit k9s by pressing Ctrl-C. Typical testing pattern for Kubernetes tests -------------------------------------------- -The typical session for tests with Kubernetes looks like follows: +.. note:: + + Steps 1-6 from below instruction can be done by using one command ``breeze k8s deploy-cluster``. + For details visit `Test commands <../../dev/breeze/doc/05_test_commands.rst>`__. +The typical session for tests with Kubernetes looks like follows: 1. Prepare the environment: @@ -419,7 +423,7 @@ Should show the status of current KinD cluster. breeze k8s upload-k8s-image -5. Upload the image to KinD cluster - this uploads your image to make it available for the KinD cluster. +6. Upload the image to KinD cluster - this uploads your image to make it available for the KinD cluster. .. code-block:: bash diff --git a/dev/breeze/doc/05_test_commands.rst b/dev/breeze/doc/05_test_commands.rst index 5ae0372978f..656e83cfb81 100644 --- a/dev/breeze/doc/05_test_commands.rst +++ b/dev/breeze/doc/05_test_commands.rst @@ -421,9 +421,9 @@ You can: * Setup environment for k8s tests with ``breeze k8s setup-env`` * Build Airflow k8S images with ``breeze k8s build-k8s-image`` -* Manage KinD Kubernetes cluster and upload image and deploy Airflow to KinD cluster via +* Manage KinD Kubernetes cluster, upload Airflow image, deploy Airflow to the cluster and check its status with ``breeze k8s create-cluster``, ``breeze k8s configure-cluster``, ``breeze k8s deploy-airflow``, ``breeze k8s status``, - ``breeze k8s upload-k8s-image``, ``breeze k8s delete-cluster`` commands + ``breeze k8s upload-k8s-image``, ``breeze k8s delete-cluster`` and ``breeze k8s deploy-cluster`` commands * Hot-reload DAGs and core sources (scheduler/triggerer/dag-processor) with ``breeze k8s dev`` (skaffold sync) * Run Kubernetes tests specified with ``breeze k8s tests`` command * Run complete test run with ``breeze k8s run-complete-tests`` - performing the full cycle of creating @@ -531,6 +531,23 @@ All parameters of the command are here: :width: 100% :alt: Breeze k8s configure-cluster +Prepare Kind Cluster with Airflow image build +............................................. + +In order to not execute every KinD cluster-related command and building Airflow image separately, use +``breeze k8s deploy-cluster`` command for running: +1. Local environment setup for KinD cluster and Airflow deployment +2. KinD cluster creation and configuration +3. Airflow UI asset compilation +4. Airflow image build and upload + +All parameters of the command are here: + +.. image:: ./images/output_k8s_deploy-cluster.svg + :target: https://raw.githubusercontent.com/apache/airflow/main/dev/breeze/images/output_k8s_deploy-cluster.svg + :width: 100% + :alt: Breeze k8s deploy-cluster + Deploying Airflow to the Cluster ................................ diff --git a/dev/breeze/doc/images/output_k8s.svg b/dev/breeze/doc/images/output_k8s.svg index 30082c1981d..d2ec2c13c40 100644 --- a/dev/breeze/doc/images/output_k8s.svg +++ b/dev/breeze/doc/images/output_k8s.svg @@ -1,4 +1,4 @@ -<svg class="rich-terminal" viewBox="0 0 1482 830.8" xmlns="http://www.w3.org/2000/svg"> +<svg class="rich-terminal" viewBox="0 0 1482 855.1999999999999" xmlns="http://www.w3.org/2000/svg"> <!-- Generated with Rich https://www.textualize.io --> <style> @@ -43,7 +43,7 @@ <defs> <clipPath id="breeze-k8s-clip-terminal"> - <rect x="0" y="0" width="1463.0" height="779.8" /> + <rect x="0" y="0" width="1463.0" height="804.1999999999999" /> </clipPath> <clipPath id="breeze-k8s-line-0"> <rect x="0" y="1.5" width="1464" height="24.65"/> @@ -138,9 +138,12 @@ <clipPath id="breeze-k8s-line-30"> <rect x="0" y="733.5" width="1464" height="24.65"/> </clipPath> +<clipPath id="breeze-k8s-line-31"> + <rect x="0" y="757.9" width="1464" height="24.65"/> + </clipPath> </defs> - <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="828.8" rx="8"/><text class="breeze-k8s-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command: k8s</text> + <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="853.2" rx="8"/><text class="breeze-k8s-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command: k8s</text> <g transform="translate(26,22)"> <circle cx="0" cy="0" r="7" fill="#ff5f57"/> <circle cx="22" cy="0" r="7" fill="#febc2e"/> @@ -166,22 +169,23 @@ </text><text class="breeze-k8s-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-line-13)">│</text><text class="breeze-k8s-r1" x="256.2" y="337.2" textLength="1183.4" clip-path="url(#breeze-k8s-line-13)">all clusters in parallel).                                       [...] </text><text class="breeze-k8s-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-line-14)">│</text><text class="breeze-k8s-r4" x="24.4" y="361.6" textLength="207.4" clip-path="url(#breeze-k8s-line-14)">build-k8s-image  </text><text class="breeze-k8s-r1" x="256.2" y="361.6" textLength="1183.4" clip-path="url(#breeze-k8s-line-14)">Build k8s-ready airflow image (optionally all images in parallel).      [...] </text><text class="breeze-k8s-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-line-15)">│</text><text class="breeze-k8s-r4" x="24.4" y="386" textLength="207.4" clip-path="url(#breeze-k8s-line-15)">upload-k8s-image </text><text class="breeze-k8s-r1" x="256.2" y="386" textLength="1183.4" clip-path="url(#breeze-k8s-line-15)">Upload k8s-ready airflow image to the KinD cluster (optionally to all clusters in  [...] -</text><text class="breeze-k8s-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-line-16)">│</text><text class="breeze-k8s-r4" x="24.4" y="410.4" textLength="207.4" clip-path="url(#breeze-k8s-line-16)">deploy-airflow   </text><text class="breeze-k8s-r1" x="256.2" y="410.4" textLength="1183.4" clip-path="url(#breeze-k8s-line-16)">Deploy airflow image to the current KinD cluster (or all clusters).  &# [...] -</text><text class="breeze-k8s-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-line-17)">│</text><text class="breeze-k8s-r4" x="24.4" y="434.8" textLength="207.4" clip-path="url(#breeze-k8s-line-17)">dev              </text><text class="breeze-k8s-r1" x="256.2" y="434.8" textLength="1183.4" clip-path="url(#breeze-k8s-line-17)">Run skaffold dev loop to sync dags and [...] -</text><text class="breeze-k8s-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-line-18)">│</text><text class="breeze-k8s-r1" x="256.2" y="459.2" textLength="1183.4" clip-path="url(#breeze-k8s-line-18)">(scheduler/triggerer/dag-processor/API Server hot-reload; UI auto-refresh not supported yet).    </text><text class="breeze-k8s-r5" x="1451.8" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-line-18)">│</text><t [...] -</text><text class="breeze-k8s-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-line-19)">│</text><text class="breeze-k8s-r4" x="24.4" y="483.6" textLength="207.4" clip-path="url(#breeze-k8s-line-19)">delete-cluster   </text><text class="breeze-k8s-r1" x="256.2" y="483.6" textLength="1183.4" clip-path="url(#breeze-k8s-line-19)">Delete the current KinD Cluster (optionally all clusters).      &# [...] -</text><text class="breeze-k8s-r5" x="0" y="508" textLength="1464" clip-path="url(#breeze-k8s-line-20)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-r1" x="1464" y="508" textLength="12.2" clip-path="url(#breeze-k8s-line-20)"> -</text><text class="breeze-k8s-r5" x="0" y="532.4" textLength="24.4" clip-path="url(#breeze-k8s-line-21)">╭─</text><text class="breeze-k8s-r5" x="24.4" y="532.4" textLength="305" clip-path="url(#breeze-k8s-line-21)"> K8S inspection commands </text><text class="breeze-k8s-r5" x="329.4" y="532.4" textLength="1110.2" clip-path="url(#breeze-k8s-line-21)">───────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-k [...] -</text><text class="breeze-k8s-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-line-22)">│</text><text class="breeze-k8s-r4" x="24.4" y="556.8" textLength="97.6" clip-path="url(#breeze-k8s-line-22)">status  </text><text class="breeze-k8s-r1" x="146.4" y="556.8" textLength="1293.2" clip-path="url(#breeze-k8s-line-22)">Check status of the current cluster and airflow deployed to it (optionally all cl [...] -</text><text class="breeze-k8s-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-line-23)">│</text><text class="breeze-k8s-r4" x="24.4" y="581.2" textLength="97.6" clip-path="url(#breeze-k8s-line-23)">logs    </text><text class="breeze-k8s-r1" x="146.4" y="581.2" textLength="463.6" clip-path="url(#breeze-k8s-line-23)">Dump k8s logs to ${TMP_DIR}/kind_logs_</text><text class="breeze-k8s-r7" x="610" y="581.2" textLength="170.8" clip-pa [...] -</text><text class="breeze-k8s-r5" x="0" y="605.6" textLength="1464" clip-path="url(#breeze-k8s-line-24)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-line-24)"> -</text><text class="breeze-k8s-r5" x="0" y="630" textLength="24.4" clip-path="url(#breeze-k8s-line-25)">╭─</text><text class="breeze-k8s-r5" x="24.4" y="630" textLength="268.4" clip-path="url(#breeze-k8s-line-25)"> K8S testing commands </text><text class="breeze-k8s-r5" x="292.8" y="630" textLength="1146.8" clip-path="url(#breeze-k8s-line-25)">──────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-k8s-r [...] -</text><text class="breeze-k8s-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-line-26)">│</text><text class="breeze-k8s-r4" x="24.4" y="654.4" textLength="219.6" clip-path="url(#breeze-k8s-line-26)">tests             </text><text class="breeze-k8s-r1" x="268.4" y="654.4" textLength="1171.2" clip-path="url(#breeze-k8s-line-26)">Run tests against the current KinD cluster (o [...] -</text><text class="breeze-k8s-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-line-27)">│</text><text class="breeze-k8s-r4" x="24.4" y="678.8" textLength="219.6" clip-path="url(#breeze-k8s-line-27)">run-complete-tests</text><text class="breeze-k8s-r1" x="268.4" y="678.8" textLength="1171.2" clip-path="url(#breeze-k8s-line-27)">Run complete k8s tests consisting of: creating cluster, building and uploading image,  [...] -</text><text class="breeze-k8s-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-line-28)">│</text><text class="breeze-k8s-r1" x="268.4" y="703.2" textLength="1171.2" clip-path="url(#breeze-k8s-line-28)">airflow, running tests and deleting clusters (optionally for all clusters in parallel).         </text><text class="breeze-k8s-r5" x="1451.8" y="703.2" textLength="12.2" cli [...] -</text><text class="breeze-k8s-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-line-29)">│</text><text class="breeze-k8s-r4" x="24.4" y="727.6" textLength="219.6" clip-path="url(#breeze-k8s-line-29)">shell             </text><text class="breeze-k8s-r1" x="268.4" y="727.6" textLength="1171.2" clip-path="url(#breeze-k8s-line-29)">Run shell environment for the current KinD cl [...] -</text><text class="breeze-k8s-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-k8s-line-30)">│</text><text class="breeze-k8s-r4" x="24.4" y="752" textLength="219.6" clip-path="url(#breeze-k8s-line-30)">k9s               </text><text class="breeze-k8s-r1" x="268.4" y="752" textLength="1171.2" clip-path="url(#breeze-k8s-line-30)">Run k9s tool. You can pass any k9s a [...] -</text><text class="breeze-k8s-r5" x="0" y="776.4" textLength="1464" clip-path="url(#breeze-k8s-line-31)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#breeze-k8s-line-31)"> +</text><text class="breeze-k8s-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-line-16)">│</text><text class="breeze-k8s-r4" x="24.4" y="410.4" textLength="207.4" clip-path="url(#breeze-k8s-line-16)">deploy-cluster   </text><text class="breeze-k8s-r1" x="256.2" y="410.4" textLength="1183.4" clip-path="url(#breeze-k8s-line-16)">Create, configure kind cluster and build Airflow image for Airflow Chart dep [...] +</text><text class="breeze-k8s-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-line-17)">│</text><text class="breeze-k8s-r4" x="24.4" y="434.8" textLength="207.4" clip-path="url(#breeze-k8s-line-17)">deploy-airflow   </text><text class="breeze-k8s-r1" x="256.2" y="434.8" textLength="1183.4" clip-path="url(#breeze-k8s-line-17)">Deploy airflow image to the current KinD cluster (or all clusters).  &# [...] +</text><text class="breeze-k8s-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-line-18)">│</text><text class="breeze-k8s-r4" x="24.4" y="459.2" textLength="207.4" clip-path="url(#breeze-k8s-line-18)">dev              </text><text class="breeze-k8s-r1" x="256.2" y="459.2" textLength="1183.4" clip-path="url(#breeze-k8s-line-18)">Run skaffold dev loop to sync dags and [...] +</text><text class="breeze-k8s-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-line-19)">│</text><text class="breeze-k8s-r1" x="256.2" y="483.6" textLength="1183.4" clip-path="url(#breeze-k8s-line-19)">(scheduler/triggerer/dag-processor/API Server hot-reload; UI auto-refresh not supported yet).    </text><text class="breeze-k8s-r5" x="1451.8" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-line-19)">│</text><t [...] +</text><text class="breeze-k8s-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-line-20)">│</text><text class="breeze-k8s-r4" x="24.4" y="508" textLength="207.4" clip-path="url(#breeze-k8s-line-20)">delete-cluster   </text><text class="breeze-k8s-r1" x="256.2" y="508" textLength="1183.4" clip-path="url(#breeze-k8s-line-20)">Delete the current KinD Cluster (optionally all clusters).       &# [...] +</text><text class="breeze-k8s-r5" x="0" y="532.4" textLength="1464" clip-path="url(#breeze-k8s-line-21)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-line-21)"> +</text><text class="breeze-k8s-r5" x="0" y="556.8" textLength="24.4" clip-path="url(#breeze-k8s-line-22)">╭─</text><text class="breeze-k8s-r5" x="24.4" y="556.8" textLength="305" clip-path="url(#breeze-k8s-line-22)"> K8S inspection commands </text><text class="breeze-k8s-r5" x="329.4" y="556.8" textLength="1110.2" clip-path="url(#breeze-k8s-line-22)">───────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-k [...] +</text><text class="breeze-k8s-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-line-23)">│</text><text class="breeze-k8s-r4" x="24.4" y="581.2" textLength="97.6" clip-path="url(#breeze-k8s-line-23)">status  </text><text class="breeze-k8s-r1" x="146.4" y="581.2" textLength="1293.2" clip-path="url(#breeze-k8s-line-23)">Check status of the current cluster and airflow deployed to it (optionally all cl [...] +</text><text class="breeze-k8s-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-line-24)">│</text><text class="breeze-k8s-r4" x="24.4" y="605.6" textLength="97.6" clip-path="url(#breeze-k8s-line-24)">logs    </text><text class="breeze-k8s-r1" x="146.4" y="605.6" textLength="463.6" clip-path="url(#breeze-k8s-line-24)">Dump k8s logs to ${TMP_DIR}/kind_logs_</text><text class="breeze-k8s-r7" x="610" y="605.6" textLength="170.8" clip-pa [...] +</text><text class="breeze-k8s-r5" x="0" y="630" textLength="1464" clip-path="url(#breeze-k8s-line-25)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-r1" x="1464" y="630" textLength="12.2" clip-path="url(#breeze-k8s-line-25)"> +</text><text class="breeze-k8s-r5" x="0" y="654.4" textLength="24.4" clip-path="url(#breeze-k8s-line-26)">╭─</text><text class="breeze-k8s-r5" x="24.4" y="654.4" textLength="268.4" clip-path="url(#breeze-k8s-line-26)"> K8S testing commands </text><text class="breeze-k8s-r5" x="292.8" y="654.4" textLength="1146.8" clip-path="url(#breeze-k8s-line-26)">──────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze [...] +</text><text class="breeze-k8s-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-line-27)">│</text><text class="breeze-k8s-r4" x="24.4" y="678.8" textLength="219.6" clip-path="url(#breeze-k8s-line-27)">tests             </text><text class="breeze-k8s-r1" x="268.4" y="678.8" textLength="1171.2" clip-path="url(#breeze-k8s-line-27)">Run tests against the current KinD cluster (o [...] +</text><text class="breeze-k8s-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-line-28)">│</text><text class="breeze-k8s-r4" x="24.4" y="703.2" textLength="219.6" clip-path="url(#breeze-k8s-line-28)">run-complete-tests</text><text class="breeze-k8s-r1" x="268.4" y="703.2" textLength="1171.2" clip-path="url(#breeze-k8s-line-28)">Run complete k8s tests consisting of: creating cluster, building and uploading image,  [...] +</text><text class="breeze-k8s-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-line-29)">│</text><text class="breeze-k8s-r1" x="268.4" y="727.6" textLength="1171.2" clip-path="url(#breeze-k8s-line-29)">airflow, running tests and deleting clusters (optionally for all clusters in parallel).         </text><text class="breeze-k8s-r5" x="1451.8" y="727.6" textLength="12.2" cli [...] +</text><text class="breeze-k8s-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-k8s-line-30)">│</text><text class="breeze-k8s-r4" x="24.4" y="752" textLength="219.6" clip-path="url(#breeze-k8s-line-30)">shell             </text><text class="breeze-k8s-r1" x="268.4" y="752" textLength="1171.2" clip-path="url(#breeze-k8s-line-30)">Run shell environment for the current KinD cluster. [...] +</text><text class="breeze-k8s-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-k8s-line-31)">│</text><text class="breeze-k8s-r4" x="24.4" y="776.4" textLength="219.6" clip-path="url(#breeze-k8s-line-31)">k9s               </text><text class="breeze-k8s-r1" x="268.4" y="776.4" textLength="1171.2" clip-path="url(#breeze-k8s-line-31)">Run k9s tool. You can pass any k9s& [...] +</text><text class="breeze-k8s-r5" x="0" y="800.8" textLength="1464" clip-path="url(#breeze-k8s-line-32)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#breeze-k8s-line-32)"> </text> </g> </g> diff --git a/dev/breeze/doc/images/output_k8s.txt b/dev/breeze/doc/images/output_k8s.txt index d601d2a74e7..fdbc1e0160d 100644 --- a/dev/breeze/doc/images/output_k8s.txt +++ b/dev/breeze/doc/images/output_k8s.txt @@ -1 +1 @@ -21941a0b62454979f5b84da7c1630768 +d311e591fd9e3e467bfcb3fe2f18df2b diff --git a/dev/breeze/doc/images/output_k8s_deploy-cluster.svg b/dev/breeze/doc/images/output_k8s_deploy-cluster.svg new file mode 100644 index 00000000000..35b4841a057 --- /dev/null +++ b/dev/breeze/doc/images/output_k8s_deploy-cluster.svg @@ -0,0 +1,156 @@ +<svg class="rich-terminal" viewBox="0 0 1482 635.5999999999999" xmlns="http://www.w3.org/2000/svg"> + <!-- Generated with Rich https://www.textualize.io --> + <style> + + @font-face { + font-family: "Fira Code"; + src: local("FiraCode-Regular"), + url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"), + url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff"); + font-style: normal; + font-weight: 400; + } + @font-face { + font-family: "Fira Code"; + src: local("FiraCode-Bold"), + url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"), + url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff"); + font-style: bold; + font-weight: 700; + } + + .breeze-k8s-deploy-cluster-matrix { + font-family: Fira Code, monospace; + font-size: 20px; + line-height: 24.4px; + font-variant-east-asian: full-width; + } + + .breeze-k8s-deploy-cluster-title { + font-size: 18px; + font-weight: bold; + font-family: arial; + } + + .breeze-k8s-deploy-cluster-r1 { fill: #c5c8c6 } +.breeze-k8s-deploy-cluster-r2 { fill: #d0b344 } +.breeze-k8s-deploy-cluster-r3 { fill: #c5c8c6;font-weight: bold } +.breeze-k8s-deploy-cluster-r4 { fill: #68a0b3;font-weight: bold } +.breeze-k8s-deploy-cluster-r5 { fill: #868887 } +.breeze-k8s-deploy-cluster-r6 { fill: #98a84b;font-weight: bold } +.breeze-k8s-deploy-cluster-r7 { fill: #8d7b39 } + </style> + + <defs> + <clipPath id="breeze-k8s-deploy-cluster-clip-terminal"> + <rect x="0" y="0" width="1463.0" height="584.5999999999999" /> + </clipPath> + <clipPath id="breeze-k8s-deploy-cluster-line-0"> + <rect x="0" y="1.5" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-1"> + <rect x="0" y="25.9" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-2"> + <rect x="0" y="50.3" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-3"> + <rect x="0" y="74.7" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-4"> + <rect x="0" y="99.1" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-5"> + <rect x="0" y="123.5" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-6"> + <rect x="0" y="147.9" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-7"> + <rect x="0" y="172.3" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-8"> + <rect x="0" y="196.7" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-9"> + <rect x="0" y="221.1" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-10"> + <rect x="0" y="245.5" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-11"> + <rect x="0" y="269.9" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-12"> + <rect x="0" y="294.3" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-13"> + <rect x="0" y="318.7" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-14"> + <rect x="0" y="343.1" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-15"> + <rect x="0" y="367.5" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-16"> + <rect x="0" y="391.9" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-17"> + <rect x="0" y="416.3" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-18"> + <rect x="0" y="440.7" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-19"> + <rect x="0" y="465.1" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-20"> + <rect x="0" y="489.5" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-21"> + <rect x="0" y="513.9" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-k8s-deploy-cluster-line-22"> + <rect x="0" y="538.3" width="1464" height="24.65"/> + </clipPath> + </defs> + + <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="633.6" rx="8"/><text class="breeze-k8s-deploy-cluster-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command: k8s deploy-cluster</text> + <g transform="translate(26,22)"> + <circle cx="0" cy="0" r="7" fill="#ff5f57"/> + <circle cx="22" cy="0" r="7" fill="#febc2e"/> + <circle cx="44" cy="0" r="7" fill="#28c840"/> + </g> + + <g transform="translate(9, 41)" clip-path="url(#breeze-k8s-deploy-cluster-clip-terminal)"> + + <g class="breeze-k8s-deploy-cluster-matrix"> + <text class="breeze-k8s-deploy-cluster-r1" x="1464" y="20" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-0)"> +</text><text class="breeze-k8s-deploy-cluster-r2" x="12.2" y="44.4" textLength="73.2" clip-path="url(#breeze-k8s-deploy-cluster-line-1)">Usage:</text><text class="breeze-k8s-deploy-cluster-r3" x="97.6" y="44.4" textLength="305" clip-path="url(#breeze-k8s-deploy-cluster-line-1)">breeze k8s deploy-cluster</text><text class="breeze-k8s-deploy-cluster-r1" x="414.8" y="44.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-1)">[</text><text class="breeze-k8s-deploy-c [...] +</text><text class="breeze-k8s-deploy-cluster-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-2)"> +</text><text class="breeze-k8s-deploy-cluster-r1" x="12.2" y="93.2" textLength="1024.8" clip-path="url(#breeze-k8s-deploy-cluster-line-3)">Create, configure kind cluster and build Airflow image for Airflow Chart deployment.</text><text class="breeze-k8s-deploy-cluster-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-3)"> +</text><text class="breeze-k8s-deploy-cluster-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-4)"> +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-k8s-deploy-cluster-line-5)">╭─</text><text class="breeze-k8s-deploy-cluster-r5" x="24.4" y="142" textLength="341.6" clip-path="url(#breeze-k8s-deploy-cluster-line-5)"> K8S cluster creation flags </text><text class="breeze-k8s-deploy-cluster-r5" x="366" y="142" textLength="1073.6" clip-path="url(#breeze-k8s-deploy-cluster-line-5)">────────────────────────────── [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-6)">│</text><text class="breeze-k8s-deploy-cluster-r4" x="24.4" y="166.4" textLength="292.8" clip-path="url(#breeze-k8s-deploy-cluster-line-6)">--python                </text><text class="breeze-k8s-deploy-cluster-r6" x="341.6" y="166.4" textLength="24.4" clip-path="url(#breeze-k8 [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-7)">│</text><text class="breeze-k8s-deploy-cluster-r7" x="390.4" y="190.8" textLength="317.2" clip-path="url(#breeze-k8s-deploy-cluster-line-7)">3.11 | 3.12 | 3.13 | 3.14)</text><text class="breeze-k8s-deploy-cluster-r5" x="1451.8" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-7)">│</text><text class= [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-8)">│</text><text class="breeze-k8s-deploy-cluster-r4" x="24.4" y="215.2" textLength="292.8" clip-path="url(#breeze-k8s-deploy-cluster-line-8)">--kubernetes-version    </text><text class="breeze-k8s-deploy-cluster-r1" x="390.4" y="215.2" textLength="671" clip-path="url(#breeze-k8s-deploy-cluster-line-8)">Kubernetes version used&# [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-9)">│</text><text class="breeze-k8s-deploy-cluster-r7" x="390.4" y="239.6" textLength="622.2" clip-path="url(#breeze-k8s-deploy-cluster-line-9)">| v1.31.12 | v1.32.8 | v1.33.4 | v1.34.0 | v1.35.0)</text><text class="breeze-k8s-deploy-cluster-r5" x="1451.8" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-depl [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-10)">│</text><text class="breeze-k8s-deploy-cluster-r4" x="24.4" y="264" textLength="292.8" clip-path="url(#breeze-k8s-deploy-cluster-line-10)">--force-recreate-cluster</text><text class="breeze-k8s-deploy-cluster-r1" x="390.4" y="264" textLength="756.4" clip-path="url(#breeze-k8s-deploy-cluster-line-10)">Force recreation of the cluster  [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-11)">│</text><text class="breeze-k8s-deploy-cluster-r4" x="24.4" y="288.4" textLength="292.8" clip-path="url(#breeze-k8s-deploy-cluster-line-11)">--force-venv-setup      </text><text class="breeze-k8s-deploy-cluster-r1" x="390.4" y="288.4" textLength="427" clip-path="url(#breeze-k8s-deploy-cluster-line-11)">Force recreation& [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="312.8" textLength="1464" clip-path="url(#breeze-k8s-deploy-cluster-line-12)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-deploy-cluster-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-12)"> +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="337.2" textLength="24.4" clip-path="url(#breeze-k8s-deploy-cluster-line-13)">╭─</text><text class="breeze-k8s-deploy-cluster-r5" x="24.4" y="337.2" textLength="231.8" clip-path="url(#breeze-k8s-deploy-cluster-line-13)"> Build image flags </text><text class="breeze-k8s-deploy-cluster-r5" x="256.2" y="337.2" textLength="1183.4" clip-path="url(#breeze-k8s-deploy-cluster-line-13)">───────────────────────────────── [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-14)">│</text><text class="breeze-k8s-deploy-cluster-r4" x="24.4" y="361.6" textLength="244" clip-path="url(#breeze-k8s-deploy-cluster-line-14)">--rebuild-base-image</text><text class="breeze-k8s-deploy-cluster-r1" x="292.8" y="361.6" textLength="658.8" clip-path="url(#breeze-k8s-deploy-cluster-line-14)">Rebuilds base Airflow image before&# [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-15)">│</text><text class="breeze-k8s-deploy-cluster-r4" x="24.4" y="386" textLength="97.6" clip-path="url(#breeze-k8s-deploy-cluster-line-15)">--use-uv</text><text class="breeze-k8s-deploy-cluster-r1" x="122" y="386" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-15)">/</text><text class="breeze-k8s-deploy-cluster-r4" x="134.2" y="386" textLen [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-16)">│</text><text class="breeze-k8s-deploy-cluster-r4" x="24.4" y="410.4" textLength="244" clip-path="url(#breeze-k8s-deploy-cluster-line-16)">--skip-image-build  </text><text class="breeze-k8s-deploy-cluster-r1" x="292.8" y="410.4" textLength="878.4" clip-path="url(#breeze-k8s-deploy-cluster-line-16)">Skips execution of breeze  [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="434.8" textLength="1464" clip-path="url(#breeze-k8s-deploy-cluster-line-17)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-deploy-cluster-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-17)"> +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="459.2" textLength="24.4" clip-path="url(#breeze-k8s-deploy-cluster-line-18)">╭─</text><text class="breeze-k8s-deploy-cluster-r5" x="24.4" y="459.2" textLength="122" clip-path="url(#breeze-k8s-deploy-cluster-line-18)"> UI flags </text><text class="breeze-k8s-deploy-cluster-r5" x="146.4" y="459.2" textLength="1293.2" clip-path="url(#breeze-k8s-deploy-cluster-line-18)">───────────────────────────────────────────────── [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-19)">│</text><text class="breeze-k8s-deploy-cluster-r4" x="24.4" y="483.6" textLength="292.8" clip-path="url(#breeze-k8s-deploy-cluster-line-19)">--skip-compile-ui-assets</text><text class="breeze-k8s-deploy-cluster-r1" x="341.6" y="483.6" textLength="854" clip-path="url(#breeze-k8s-deploy-cluster-line-19)">Skips execution of breeze ui [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="508" textLength="1464" clip-path="url(#breeze-k8s-deploy-cluster-line-20)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-deploy-cluster-r1" x="1464" y="508" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-20)"> +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="532.4" textLength="24.4" clip-path="url(#breeze-k8s-deploy-cluster-line-21)">╭─</text><text class="breeze-k8s-deploy-cluster-r5" x="24.4" y="532.4" textLength="195.2" clip-path="url(#breeze-k8s-deploy-cluster-line-21)"> Common options </text><text class="breeze-k8s-deploy-cluster-r5" x="219.6" y="532.4" textLength="1220" clip-path="url(#breeze-k8s-deploy-cluster-line-21)">─────────────────────────────────────────── [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-22)">│</text><text class="breeze-k8s-deploy-cluster-r4" x="24.4" y="556.8" textLength="73.2" clip-path="url(#breeze-k8s-deploy-cluster-line-22)">--help</text><text class="breeze-k8s-deploy-cluster-r6" x="122" y="556.8" textLength="24.4" clip-path="url(#breeze-k8s-deploy-cluster-line-22)">-h</text><text class="breeze-k8s-deploy-cluster-r1" x="170.8" y="556.8" [...] +</text><text class="breeze-k8s-deploy-cluster-r5" x="0" y="581.2" textLength="1464" clip-path="url(#breeze-k8s-deploy-cluster-line-23)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-deploy-cluster-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-cluster-line-23)"> +</text> + </g> + </g> +</svg> diff --git a/dev/breeze/doc/images/output_k8s_deploy-cluster.txt b/dev/breeze/doc/images/output_k8s_deploy-cluster.txt new file mode 100644 index 00000000000..fa099647e20 --- /dev/null +++ b/dev/breeze/doc/images/output_k8s_deploy-cluster.txt @@ -0,0 +1 @@ +6b82815ccbac7e68a900d84d9b2be1cd diff --git a/dev/breeze/doc/images/output_setup_check-all-params-in-groups.svg b/dev/breeze/doc/images/output_setup_check-all-params-in-groups.svg index 5b606270774..d6fb341f80f 100644 --- a/dev/breeze/doc/images/output_setup_check-all-params-in-groups.svg +++ b/dev/breeze/doc/images/output_setup_check-all-params-in-groups.svg @@ -203,25 +203,25 @@ </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-8)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="215.2" textLength="1281" clip-path="url(#breeze-setup-check-all-params-in-groups-line-8)">ci-image:pull | ci-image:save | ci-image:verify | ci:fix-ownership | ci:free-space | ci:get-workflow-info</text [...] </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-9)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="239.6" textLength="1281" clip-path="url(#breeze-setup-check-all-params-in-groups-line-9)">| ci:resource-check | ci:selective-check | ci:set-milestone | ci:upgrade | cleanup | doctor | do [...] </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-10)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="264" textLength="1281" clip-path="url(#breeze-setup-check-all-params-in-groups-line-10)">| generate-migration-file | issues | issues:unassign | k8s | k8s:build-k8s-image | k8s:configure-cluster [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-11)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="288.4" textLength="1171.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-11)">| k8s:create-cluster | k8s:delete-cluster | k8s:deploy-airflow | k8s:dev | k8s:k9s | k8s:logs |&# [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-12)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="312.8" textLength="1281" clip-path="url(#breeze-setup-check-all-params-in-groups-line-12)">k8s:run-complete-tests | k8s:setup-env | k8s:shell | k8s:status | k8s:tests | k8s:upload-k8s-image | [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-13)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="337.2" textLength="1256.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-13)">pr:auto-triage | prod-image | prod-image:build | prod-image:load | prod-image:pull | prod-image:save | [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-14)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="361.6" textLength="1256.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-14)">prod-image:verify | registry | registry:backfill | registry:extract-data | registry:publish-versions | </te [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-15)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="386" textLength="1256.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-15)">release-management | release-management:add-back-references | release-management:check-release-files | </text><text class="breeze-s [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="410.4" textLength="1183.4" clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">release-management:clean-old-provider-artifacts | release-management:constraints-version-check | </text><text class="breeze-setup-check-a [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="434.8" textLength="1012.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">release-management:create-minor-branch | release-management:generate-constraints | </text><text class="breeze-setup-check-all-params-in-g [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="459.2" textLength="1268.8" clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">release-management:generate-issue-content-core | release-management:generate-issue-content-helm-chart | </text><text class="breeze-setup- [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="483.6" textLength="1256.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">release-management:generate-issue-content-providers | release-management:generate-providers-metadata | </text><text class="breeze-setup-c [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="508" textLength="1110.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">release-management:install-provider-distributions | release-management:merge-prod-images | </text><text class="breeze-setup-check-all-params- [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-21)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="532.4" textLength="1281" clip-path="url(#breeze-setup-check-all-params-in-groups-line-21)">release-management:prepare-airflow-ctl-distributions | release-management:prepare-airflow-distributions |</text><text class="breeze-setup-check- [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="556.8" textLength="1171.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">release-management:prepare-helm-chart-package | release-management:prepare-helm-chart-tarball | </text><text class="breeze-setup-check-al [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="581.2" textLength="1220" clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">release-management:prepare-mypy-distributions | release-management:prepare-provider-distributions | </text><text class="breeze-setup-check- [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-24)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="605.6" textLength="1159" clip-path="url(#breeze-setup-check-all-params-in-groups-line-24)">release-management:prepare-provider-documentation | release-management:prepare-python-client | </text><text class="breeze-setup-check-all-p [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-25)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="630" textLength="1085.8" clip-path="url(#breeze-setup-check-all-params-in-groups-line-25)">release-management:prepare-tarball | release-management:prepare-task-sdk-distributions | </text><text class="breeze-setup-check-all-params-in [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-26)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="654.4" textLength="902.8" clip-path="url(#breeze-setup-check-all-params-in-groups-line-26)">release-management:publish-docs | release-management:publish-docs-to-s3 | </text><text class="breeze-setup-check-all-params-in-groups-r5" [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-27)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="678.8" textLength="963.8" clip-path="url(#breeze-setup-check-all-params-in-groups-line-27)">release-management:release-prod-images | release-management:start-rc-process | </text><text class="breeze-setup-check-all-params-in-groups [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-28)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="703.2" textLength="854" clip-path="url(#breeze-setup-check-all-params-in-groups-line-28)">release-management:start-release | release-management:tag-providers | </text><text class="breeze-setup-check-all-params-in-groups-r5" x="145 [...] -</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-29)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="727.6" textLength="1110.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-29)">release-management:update-constraints | release-management:update-providers-next-version | </text><text class="breeze-setup-check-all-par [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-11)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="288.4" textLength="1281" clip-path="url(#breeze-setup-check-all-params-in-groups-line-11)">| k8s:create-cluster | k8s:delete-cluster | k8s:deploy-airflow | k8s:deploy-cluster | k8s:dev | k8s:k9s& [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-12)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="312.8" textLength="1085.8" clip-path="url(#breeze-setup-check-all-params-in-groups-line-12)">k8s:logs | k8s:run-complete-tests | k8s:setup-env | k8s:shell | k8s:status | k8s:tests | </text>< [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-13)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="337.2" textLength="1159" clip-path="url(#breeze-setup-check-all-params-in-groups-line-13)">k8s:upload-k8s-image | pr | pr:auto-triage | prod-image | prod-image:build | prod-image:load | </te [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-14)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="361.6" textLength="1061.4" clip-path="url(#breeze-setup-check-all-params-in-groups-line-14)">prod-image:pull | prod-image:save | prod-image:verify | registry | registry:backfill | </text><text class=" [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-15)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="386" textLength="890.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-15)">registry:extract-data | registry:publish-versions | release-management | </text><text class="breeze-setup-check-all-params-in-groups [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="410.4" textLength="1000.4" clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">release-management:add-back-references | release-management:check-release-files | </text><text class="breeze-setup-check-all-params-in-gr [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="434.8" textLength="1183.4" clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">release-management:clean-old-provider-artifacts | release-management:constraints-version-check | </text><text class="breeze-setup-check-a [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="459.2" textLength="1012.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">release-management:create-minor-branch | release-management:generate-constraints | </text><text class="breeze-setup-check-all-params-in-g [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="483.6" textLength="1268.8" clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">release-management:generate-issue-content-core | release-management:generate-issue-content-helm-chart | </text><text class="breeze-setup- [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="508" textLength="1256.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">release-management:generate-issue-content-providers | release-management:generate-providers-metadata | </text><text class="breeze-setup-check [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-21)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="532.4" textLength="1110.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-21)">release-management:install-provider-distributions | release-management:merge-prod-images | </text><text class="breeze-setup-check-all-par [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="556.8" textLength="1281" clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">release-management:prepare-airflow-ctl-distributions | release-management:prepare-airflow-distributions |</text><text class="breeze-setup-check- [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="581.2" textLength="1171.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">release-management:prepare-helm-chart-package | release-management:prepare-helm-chart-tarball | </text><text class="breeze-setup-check-al [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-24)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="605.6" textLength="1268.8" clip-path="url(#breeze-setup-check-all-params-in-groups-line-24)">release-management:prepare-provider-distributions | release-management:prepare-provider-documentation | </text><text class="breeze-setup- [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-25)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="630" textLength="976" clip-path="url(#breeze-setup-check-all-params-in-groups-line-25)">release-management:prepare-python-client | release-management:prepare-tarball | </text><text class="breeze-setup-check-all-params-in-groups-r5" [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-26)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="654.4" textLength="1049.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-26)">release-management:prepare-task-sdk-distributions | release-management:publish-docs | </text><text class="breeze-setup-check-all-params-i [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-27)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="678.8" textLength="988.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-27)">release-management:publish-docs-to-s3 | release-management:release-prod-images | </text><text class="breeze-setup-check-all-params-in-grou [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-28)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="703.2" textLength="1281" clip-path="url(#breeze-setup-check-all-params-in-groups-line-28)">release-management:start-rc-process | release-management:start-release | release-management:tag-providers</text><text class="breeze-setup-c [...] +</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-29)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="727.6" textLength="1134.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-29)">| release-management:update-constraints | release-management:update-providers-next-version | </text><text class="breeze-setup-check- [...] </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-30)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="752" textLength="1244.4" clip-path="url(#breeze-setup-check-all-params-in-groups-line-30)">release-management:verify-provider-distributions | release-management:verify-rc-by-pmc | run | sbom | </text><text class= [...] </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-31)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="776.4" textLength="1281" clip-path="url(#breeze-setup-check-all-params-in-groups-line-31)">sbom:build-all-airflow-images | sbom:export-dependency-information | sbom:generate-providers-requirements</text><text class="breeze-setup-c [...] </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-32)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="800.8" textLength="1183.4" clip-path="url(#breeze-setup-check-all-params-in-groups-line-32)">| sbom:update-sbom-information | setup | setup:autocomplete | setup:check-all-params-in-groups | </text><text cl [...] diff --git a/dev/breeze/doc/images/output_setup_check-all-params-in-groups.txt b/dev/breeze/doc/images/output_setup_check-all-params-in-groups.txt index b5ce7e19e2d..f95050ee76f 100644 --- a/dev/breeze/doc/images/output_setup_check-all-params-in-groups.txt +++ b/dev/breeze/doc/images/output_setup_check-all-params-in-groups.txt @@ -1 +1 @@ -dae2ff77eea9c05c5577b1df97fd7d0a +6772aef5422f3ba332bd1999088c0cc1 diff --git a/dev/breeze/doc/images/output_setup_regenerate-command-images.svg b/dev/breeze/doc/images/output_setup_regenerate-command-images.svg index 58070708cbe..b071cfab3e5 100644 --- a/dev/breeze/doc/images/output_setup_regenerate-command-images.svg +++ b/dev/breeze/doc/images/output_setup_regenerate-command-images.svg @@ -223,11 +223,11 @@ </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-10)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="264" textLength="1171.2" clip-path="url(#breeze-setup-regenerate-command-images-line-10)">ci:get-workflow-info | ci:resource-check | ci:selective-check | ci:set-milestone | ci:upgrade | </text><text class= [...] </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-11)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="288.4" textLength="1122.4" clip-path="url(#breeze-setup-regenerate-command-images-line-11)">cleanup | doctor | down | exec | generate-migration-file | issues | issues:unassign | k8s&# [...] </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-12)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="312.8" textLength="1073.6" clip-path="url(#breeze-setup-regenerate-command-images-line-12)">k8s:build-k8s-image | k8s:configure-cluster | k8s:create-cluster | k8s:delete-cluster | </text><text class="breeze-setup- [...] -</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-13)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="337.2" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-13)">k8s:deploy-airflow | k8s:dev | k8s:k9s | k8s:logs | k8s:run-complete-tests | k8s:setup-env | k8s:shel [...] -</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-14)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="361.6" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-14)">| k8s:status | k8s:tests | k8s:upload-k8s-image | pr | pr:auto-triage | prod-image | prod-image: [...] -</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-15)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="386" textLength="1061.4" clip-path="url(#breeze-setup-regenerate-command-images-line-15)">| prod-image:load | prod-image:pull | prod-image:save | prod-image:verify | registry | </text><text class="bre [...] -</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-16)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="410.4" textLength="1134.6" clip-path="url(#breeze-setup-regenerate-command-images-line-16)">registry:backfill | registry:extract-data | registry:publish-versions | release-management | </text><text class="breeze-s [...] -</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-17)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="434.8" textLength="1000.4" clip-path="url(#breeze-setup-regenerate-command-images-line-17)">release-management:add-back-references | release-management:check-release-files | </text><text class="breeze-setup-regenerate-command-images- [...] +</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-13)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="337.2" textLength="1195.6" clip-path="url(#breeze-setup-regenerate-command-images-line-13)">k8s:deploy-airflow | k8s:deploy-cluster | k8s:dev | k8s:k9s | k8s:logs | k8s:run-complete-tests | </t [...] +</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-14)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="361.6" textLength="1195.6" clip-path="url(#breeze-setup-regenerate-command-images-line-14)">k8s:setup-env | k8s:shell | k8s:status | k8s:tests | k8s:upload-k8s-image | pr | pr:auto-triage  [...] +</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-15)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="386" textLength="1049.2" clip-path="url(#breeze-setup-regenerate-command-images-line-15)">prod-image | prod-image:build | prod-image:load | prod-image:pull | prod-image:save | </text><text class="breeze-se [...] +</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-16)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="410.4" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-16)">prod-image:verify | registry | registry:backfill | registry:extract-data | registry:publish-versions |</text><text c [...] +</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-17)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="434.8" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-17)">release-management | release-management:add-back-references | release-management:check-release-files |</text><text class="breeze-setup-r [...] </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="459.2" textLength="1183.4" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">release-management:clean-old-provider-artifacts | release-management:constraints-version-check | </text><text class="breeze-setup-regenerate- [...] </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="483.6" textLength="1012.6" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">release-management:create-minor-branch | release-management:generate-constraints | </text><text class="breeze-setup-regenerate-command-images [...] </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="508" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">release-management:generate-issue-content-core | release-management:generate-issue-content-helm-chart </text><text class="breeze-setup-regenerate-comm [...] diff --git a/dev/breeze/doc/images/output_setup_regenerate-command-images.txt b/dev/breeze/doc/images/output_setup_regenerate-command-images.txt index cf22549a326..98a4f40915c 100644 --- a/dev/breeze/doc/images/output_setup_regenerate-command-images.txt +++ b/dev/breeze/doc/images/output_setup_regenerate-command-images.txt @@ -1 +1 @@ -307baf61691900bafe8131f97ba35579 +20d6a168f26f63f701f6057cfc618ad7 diff --git a/dev/breeze/src/airflow_breeze/commands/kubernetes_commands.py b/dev/breeze/src/airflow_breeze/commands/kubernetes_commands.py index 9b1506294b0..093cbeb960e 100644 --- a/dev/breeze/src/airflow_breeze/commands/kubernetes_commands.py +++ b/dev/breeze/src/airflow_breeze/commands/kubernetes_commands.py @@ -45,6 +45,7 @@ from airflow_breeze.commands.common_options import ( option_verbose, ) from airflow_breeze.commands.production_image_commands import run_build_production_image +from airflow_breeze.commands.ui_commands import run_compile_ui_assets from airflow_breeze.global_constants import ( AIRFLOW_SOURCES_TO, ALLOWED_EXECUTORS, @@ -61,6 +62,7 @@ from airflow_breeze.utils.click_utils import BreezeGroup from airflow_breeze.utils.confirm import confirm_action from airflow_breeze.utils.console import Output, console_print, get_console from airflow_breeze.utils.custom_param_types import CacheableChoice, CacheableDefault +from airflow_breeze.utils.docker_command_utils import perform_environment_checks from airflow_breeze.utils.kubernetes_utils import ( CHART_PATH, K8S_CLUSTERS_PATH, @@ -90,7 +92,12 @@ from airflow_breeze.utils.parallel import ( ) from airflow_breeze.utils.path_utils import AIRFLOW_ROOT_PATH from airflow_breeze.utils.recording import generating_command_images -from airflow_breeze.utils.run_utils import RunCommandResult, check_if_image_exists, run_command +from airflow_breeze.utils.run_utils import ( + RunCommandResult, + assert_prek_installed, + check_if_image_exists, + run_command, +) KUBERNETES_PYTEST_ARGS = [ "--strict-markers", @@ -249,6 +256,18 @@ option_parallelism_cluster = click.option( envvar="PARALLELISM", show_default=True, ) +option_skip_image_build = click.option( + "--skip-image-build", + help="Skips execution of breeze k8s build-k8s-image in deploy-cluster command.", + is_flag=True, + envvar="SKIP_IMAGE_BUILD", +) +option_skip_compile_ui_assets = click.option( + "--skip-compile-ui-assets", + help="Skips execution of breeze ui compile-assets in deploy-cluster command.", + is_flag=True, + envvar="SKIP_IMAGE_BUILD", +) option_all = click.option("--all", help="Apply it to all created clusters", is_flag=True, envvar="ALL") K8S_CLUSTER_CREATE_PROGRESS_REGEXP = r".*airflow-python-[0-9.]+-v[0-9.].*|.*Connecting to localhost.*" @@ -2231,3 +2250,87 @@ def run_complete_tests( ) if result != 0: sys.exit(result) + + +@kubernetes_group.command( + name="deploy-cluster", + help="Create, configure kind cluster and build Airflow image for Airflow Chart deployment.", + context_settings=dict( + ignore_unknown_options=True, + ), +) +@option_force_venv_setup +@option_force_recreate_cluster +@option_python +@option_kubernetes_version +@option_rebuild_base_image +@option_use_uv +@option_skip_image_build +@option_skip_compile_ui_assets +def deploy_cluster( + force_venv_setup: bool, + force_recreate_cluster: bool, + python: str, + kubernetes_version: str, + rebuild_base_image: bool, + use_uv: bool, + skip_image_build: bool, + skip_compile_ui_assets: bool, +): + console_print("[info]Syncing Virtual Environment[/]") + result = sync_virtualenv(force_venv_setup=force_venv_setup) + if result.returncode != 0: + sys.exit(result.returncode) + make_sure_kubernetes_tools_are_installed() + + return_code, _ = _create_cluster( + python=python, + kubernetes_version=kubernetes_version, + output=None, + force_recreate_cluster=force_recreate_cluster, + num_tries=1, + show_hints=False, + ) + if return_code != 0: + sys.exit(return_code) + + return_code, _ = _configure_k8s_cluster( + python=python, + kubernetes_version=kubernetes_version, + output=None, + ) + if return_code != 0: + sys.exit(return_code) + + if skip_compile_ui_assets: + console_print("[info]Skipping compilation of Airflow UI assets[/]") + else: + console_print("[info]Compiling Airflow UI assets[/]") + perform_environment_checks() + assert_prek_installed() + result = run_compile_ui_assets( + dev=False, run_in_background=False, force_clean=False, additional_ui_hooks=[] + ) + if result.returncode != 0: + sys.exit(result.returncode) + + if skip_image_build: + console_print("[info]Skipping Airflow Image Build[/]") + else: + return_code, _ = _rebuild_k8s_image( + python=python, + rebuild_base_image=rebuild_base_image, + copy_local_sources=True, + use_uv=use_uv, + output=None, + ) + if return_code != 0: + sys.exit(return_code) + + return_code, _ = _upload_k8s_image( + python=python, + kubernetes_version=kubernetes_version, + output=None, + ) + if return_code != 0: + sys.exit(return_code) diff --git a/dev/breeze/src/airflow_breeze/commands/kubernetes_commands_config.py b/dev/breeze/src/airflow_breeze/commands/kubernetes_commands_config.py index fcabbbcba93..274439111ea 100644 --- a/dev/breeze/src/airflow_breeze/commands/kubernetes_commands_config.py +++ b/dev/breeze/src/airflow_breeze/commands/kubernetes_commands_config.py @@ -24,6 +24,7 @@ KUBERNETES_CLUSTER_COMMANDS: dict[str, str | list[str]] = { "configure-cluster", "build-k8s-image", "upload-k8s-image", + "deploy-cluster", "deploy-airflow", "dev", "delete-cluster", @@ -265,4 +266,17 @@ KUBERNETES_PARAMETERS: dict[str, list[dict[str, str | list[str]]]] = { "options": ["--python", "--kubernetes-version", "--executor", "--force-venv-setup"], } ], + "breeze k8s deploy-cluster": [ + { + "name": "K8S cluster creation flags", + "options": [ + "--python", + "--kubernetes-version", + "--force-recreate-cluster", + "--force-venv-setup", + ], + }, + {"name": "Build image flags", "options": ["--rebuild-base-image", "--use-uv", "--skip-image-build"]}, + {"name": "UI flags", "options": ["--skip-compile-ui-assets"]}, + ], }
