This is an automated email from the ASF dual-hosted git repository.

vatsrahul1001 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 bb859bde5a4 Add opensearch to default PROD image extras (#68659)
bb859bde5a4 is described below

commit bb859bde5a40af9b2cffeda7af50dabdd4df07ee
Author: Rahul Vats <[email protected]>
AuthorDate: Wed Jun 17 12:56:10 2026 +0530

    Add opensearch to default PROD image extras (#68659)
    
    #65374 added opensearch to prod_image_installed_providers.txt (so the PROD
    image verify asserts it is installed) but did not add it to the default
    image extras. opensearch is therefore the only required provider that is
    neither a default extra nor a bundled core dependency, so its only path
    into the image was being built from source.
    
    On a release branch the source build skips already-released providers
    (the final tag providers-opensearch/<v> exists), so opensearch is the
    single required provider with no fallback and the PROD image verify
    (test_required_providers_are_installed) fails. main passes only because
    its dev-mode build compiles every provider from source in-place.
    
    Add opensearch to the default extras so it is backfilled from PyPI the
    same way every other required provider is, making the PROD image
    consistent across dev and release builds.
---
 Dockerfile                                        | 2 +-
 dev/breeze/doc/images/output_prod-image_build.svg | 4 ++--
 dev/breeze/doc/images/output_prod-image_build.txt | 2 +-
 dev/breeze/src/airflow_breeze/global_constants.py | 1 +
 docker-stack-docs/build-arg-ref.rst               | 1 +
 5 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 7ea413a1ddb..dc859e8b25c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -38,7 +38,7 @@
 #                        much smaller.
 #
 # Use the same builder frontend version for everyone
-ARG 
AIRFLOW_EXTRAS="aiobotocore,amazon,async,celery,cncf-kubernetes,common-io,common-messaging,docker,elasticsearch,fab,ftp,git,google,google-auth,graphviz,grpc,hashicorp,http,ldap,microsoft-azure,mysql,odbc,openlineage,pandas,postgres,redis,sendgrid,sftp,slack,snowflake,ssh,statsd,uv"
+ARG 
AIRFLOW_EXTRAS="aiobotocore,amazon,async,celery,cncf-kubernetes,common-io,common-messaging,docker,elasticsearch,fab,ftp,git,google,google-auth,graphviz,grpc,hashicorp,http,ldap,microsoft-azure,mysql,odbc,openlineage,opensearch,pandas,postgres,redis,sendgrid,sftp,slack,snowflake,ssh,statsd,uv"
 ARG ADDITIONAL_AIRFLOW_EXTRAS=""
 ARG ADDITIONAL_PYTHON_DEPS=""
 
diff --git a/dev/breeze/doc/images/output_prod-image_build.svg 
b/dev/breeze/doc/images/output_prod-image_build.svg
index b7bc09c4f57..8179f3577a8 100644
--- a/dev/breeze/doc/images/output_prod-image_build.svg
+++ b/dev/breeze/doc/images/output_prod-image_build.svg
@@ -425,8 +425,8 @@
 </text><text class="breeze-prod-image-build-r5" x="0" y="1313.2" 
textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-53)">│</text><text 
class="breeze-prod-image-build-r4" x="24.4" y="1313.2" textLength="390.4" 
clip-path="url(#breeze-prod-image-build-line-53)">--airflow-extras&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-prod-image-build-r1" x="439.2" y="1313.2" textLength="366" 
clip-path="url(#breeze- [...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="1337.6" 
textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-54)">│</text><text 
class="breeze-prod-image-build-r5" x="439.2" y="1337.6" textLength="1000.4" 
clip-path="url(#breeze-prod-image-build-line-54)">aiobotocore,amazon,async,celery,cncf-kubernetes,common-io,common-messaging,docker,</text><text
 class="breeze-prod-image-build-r5" x="1451.8" y="1337.6" textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-54)" [...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="1362" 
textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-55)">│</text><text 
class="breeze-prod-image-build-r5" x="439.2" y="1362" textLength="1000.4" 
clip-path="url(#breeze-prod-image-build-line-55)">elasticsearch,fab,ftp,git,google,google-auth,graphviz,grpc,hashicorp,http,ldap,mic</text><text
 class="breeze-prod-image-build-r5" x="1451.8" y="1362" textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-55)">│</te [...]
-</text><text class="breeze-prod-image-build-r5" x="0" y="1386.4" 
textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-56)">│</text><text 
class="breeze-prod-image-build-r5" x="439.2" y="1386.4" textLength="1000.4" 
clip-path="url(#breeze-prod-image-build-line-56)">rosoft-azure,mysql,odbc,openlineage,pandas,postgres,redis,sendgrid,sftp,slack,snow</text><text
 class="breeze-prod-image-build-r5" x="1451.8" y="1386.4" textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-56)" [...]
-</text><text class="breeze-prod-image-build-r5" x="0" y="1410.8" 
textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-57)">│</text><text 
class="breeze-prod-image-build-r5" x="439.2" y="1410.8" textLength="244" 
clip-path="url(#breeze-prod-image-build-line-57)">flake,ssh,statsd,uv]</text><text
 class="breeze-prod-image-build-r6" x="695.4" y="1410.8" textLength="73.2" 
clip-path="url(#breeze-prod-image-build-line-57)">(TEXT)</text><text 
class="breeze-prod-image-build-r5" x="1451.8"  [...]
+</text><text class="breeze-prod-image-build-r5" x="0" y="1386.4" 
textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-56)">│</text><text 
class="breeze-prod-image-build-r5" x="439.2" y="1386.4" textLength="1000.4" 
clip-path="url(#breeze-prod-image-build-line-56)">rosoft-azure,mysql,odbc,openlineage,opensearch,pandas,postgres,redis,sendgrid,sftp</text><text
 class="breeze-prod-image-build-r5" x="1451.8" y="1386.4" textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-56)" [...]
+</text><text class="breeze-prod-image-build-r5" x="0" y="1410.8" 
textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-57)">│</text><text 
class="breeze-prod-image-build-r5" x="439.2" y="1410.8" textLength="378.2" 
clip-path="url(#breeze-prod-image-build-line-57)">,slack,snowflake,ssh,statsd,uv]</text><text
 class="breeze-prod-image-build-r6" x="829.6" y="1410.8" textLength="73.2" 
clip-path="url(#breeze-prod-image-build-line-57)">(TEXT)</text><text 
class="breeze-prod-image-build-r5 [...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="1435.2" 
textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-58)">│</text><text 
class="breeze-prod-image-build-r4" x="24.4" y="1435.2" textLength="390.4" 
clip-path="url(#breeze-prod-image-build-line-58)">--additional-airflow-extras&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-prod-image-build-r1" x="439.2" y="1435.2" textLength="780.8" 
clip-path="url(#breeze-prod-image-build-line-58)">Additional&#160;extra&#160 
[...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="1459.6" 
textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-59)">│</text><text 
class="breeze-prod-image-build-r4" x="24.4" y="1459.6" textLength="390.4" 
clip-path="url(#breeze-prod-image-build-line-59)">--additional-python-deps&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-prod-image-build-r1" x="439.2" y="1459.6" textLength="780.8" 
clip-path="url(#breeze-prod-image-build-line-59)">Additional& [...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="1484" 
textLength="12.2" 
clip-path="url(#breeze-prod-image-build-line-60)">│</text><text 
class="breeze-prod-image-build-r4" x="24.4" y="1484" textLength="390.4" 
clip-path="url(#breeze-prod-image-build-line-60)">--dev-apt-deps&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-prod-image-build-r1" x="439.2" y="1484" textLength="658.8" 
clip-path="url(#b [...]
diff --git a/dev/breeze/doc/images/output_prod-image_build.txt 
b/dev/breeze/doc/images/output_prod-image_build.txt
index aee5acad71a..ebdcb250b46 100644
--- a/dev/breeze/doc/images/output_prod-image_build.txt
+++ b/dev/breeze/doc/images/output_prod-image_build.txt
@@ -1 +1 @@
-7def92d438b944e1f957b30ba27fc28d
+1760d6aa232389338d997ce33e5032a2
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py 
b/dev/breeze/src/airflow_breeze/global_constants.py
index 8d76174f8aa..651b6fd72c3 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -794,6 +794,7 @@ DEFAULT_EXTRAS = [
     "mysql",
     "odbc",
     "openlineage",
+    "opensearch",
     "pandas",
     "postgres",
     "redis",
diff --git a/docker-stack-docs/build-arg-ref.rst 
b/docker-stack-docs/build-arg-ref.rst
index 2fa07dca4ed..7b549cef830 100644
--- a/docker-stack-docs/build-arg-ref.rst
+++ b/docker-stack-docs/build-arg-ref.rst
@@ -108,6 +108,7 @@ List of default extras in the production Dockerfile:
 * mysql
 * odbc
 * openlineage
+* opensearch
 * pandas
 * postgres
 * redis

Reply via email to