This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch staging
in repository https://gitbox.apache.org/repos/asf/airflow-site-archive.git
The following commit(s) were added to refs/heads/staging by this push:
new 6c5046bbfb1 Sync S3 to GitHub
6c5046bbfb1 is described below
commit 6c5046bbfb10bf9e8cbeaf9102ac3f86a50be510
Author: GitHub Actions <[email protected]>
AuthorDate: Sat Feb 28 19:07:37 2026 +0000
Sync S3 to GitHub
---
.../_pagefind/fragment/en_116069d.pf_fragment | Bin 0 -> 4856 bytes
.../_pagefind/fragment/en_195872b.pf_fragment | Bin 3212 -> 0 bytes
.../_pagefind/fragment/en_9e8eea7.pf_fragment | Bin 0 -> 15364 bytes
.../_pagefind/fragment/en_a1e237f.pf_fragment | Bin 15804 -> 0 bytes
.../_pagefind/fragment/en_a64816a.pf_fragment | Bin 0 -> 6784 bytes
.../_pagefind/fragment/en_b36ce95.pf_fragment | Bin 6786 -> 0 bytes
.../_pagefind/fragment/en_c9348e4.pf_fragment | Bin 4865 -> 0 bytes
.../_pagefind/fragment/en_e77a25d.pf_fragment | Bin 7190 -> 0 bytes
.../_pagefind/fragment/en_ed12bc9.pf_fragment | Bin 0 -> 3259 bytes
.../_pagefind/fragment/en_efc9654.pf_fragment | Bin 0 -> 7256 bytes
.../_pagefind/index/en_2535a27.pf_index | Bin 0 -> 16212 bytes
.../_pagefind/index/en_74f02e3.pf_index | Bin 36485 -> 0 bytes
.../_pagefind/index/en_dffa31f.pf_index | Bin 0 -> 36418 bytes
.../_pagefind/index/en_e142e52.pf_index | Bin 16545 -> 0 bytes
.../docker-stack/_pagefind/pagefind-entry.json | 2 +-
.../_pagefind/pagefind.en_87796aeb28.pf_meta | Bin 186 -> 0 bytes
.../_pagefind/pagefind.en_eb43497e61.pf_meta | Bin 0 -> 184 bytes
.../docker-stack/_sources/build-arg-ref.rst.txt | 2 +
docs-archive/docker-stack/_sources/build.rst.txt | 40 +++--------
.../docker-stack/_sources/changelog.rst.txt | 2 +
.../docker-stack/_sources/entrypoint.rst.txt | 14 ++--
docs-archive/docker-stack/_sources/index.rst.txt | 2 -
docs-archive/docker-stack/_static/css/pagefind.css | 4 +-
docs-archive/docker-stack/build-arg-ref.html | 18 +++--
docs-archive/docker-stack/build.html | 80 +++++++++------------
docs-archive/docker-stack/changelog.html | 25 ++++---
docs-archive/docker-stack/entrypoint.html | 14 ++--
docs-archive/docker-stack/index.html | 16 ++---
docs-archive/docker-stack/objects.inv | Bin 667 -> 615 bytes
.../docker-stack/output-build-docker-stack.log | 22 +++---
docs-archive/docker-stack/recipes.html | 2 +-
docs-archive/docker-stack/searchindex.js | 2 +-
32 files changed, 113 insertions(+), 132 deletions(-)
diff --git
a/docs-archive/docker-stack/_pagefind/fragment/en_116069d.pf_fragment
b/docs-archive/docker-stack/_pagefind/fragment/en_116069d.pf_fragment
new file mode 100644
index 00000000000..c8fddaf1b29
Binary files /dev/null and
b/docs-archive/docker-stack/_pagefind/fragment/en_116069d.pf_fragment differ
diff --git
a/docs-archive/docker-stack/_pagefind/fragment/en_195872b.pf_fragment
b/docs-archive/docker-stack/_pagefind/fragment/en_195872b.pf_fragment
deleted file mode 100644
index 6578377b57f..00000000000
Binary files
a/docs-archive/docker-stack/_pagefind/fragment/en_195872b.pf_fragment and
/dev/null differ
diff --git
a/docs-archive/docker-stack/_pagefind/fragment/en_9e8eea7.pf_fragment
b/docs-archive/docker-stack/_pagefind/fragment/en_9e8eea7.pf_fragment
new file mode 100644
index 00000000000..6da15bd14e5
Binary files /dev/null and
b/docs-archive/docker-stack/_pagefind/fragment/en_9e8eea7.pf_fragment differ
diff --git
a/docs-archive/docker-stack/_pagefind/fragment/en_a1e237f.pf_fragment
b/docs-archive/docker-stack/_pagefind/fragment/en_a1e237f.pf_fragment
deleted file mode 100644
index f385210dfb5..00000000000
Binary files
a/docs-archive/docker-stack/_pagefind/fragment/en_a1e237f.pf_fragment and
/dev/null differ
diff --git
a/docs-archive/docker-stack/_pagefind/fragment/en_a64816a.pf_fragment
b/docs-archive/docker-stack/_pagefind/fragment/en_a64816a.pf_fragment
new file mode 100644
index 00000000000..17f9351b70f
Binary files /dev/null and
b/docs-archive/docker-stack/_pagefind/fragment/en_a64816a.pf_fragment differ
diff --git
a/docs-archive/docker-stack/_pagefind/fragment/en_b36ce95.pf_fragment
b/docs-archive/docker-stack/_pagefind/fragment/en_b36ce95.pf_fragment
deleted file mode 100644
index 796a13088d0..00000000000
Binary files
a/docs-archive/docker-stack/_pagefind/fragment/en_b36ce95.pf_fragment and
/dev/null differ
diff --git
a/docs-archive/docker-stack/_pagefind/fragment/en_c9348e4.pf_fragment
b/docs-archive/docker-stack/_pagefind/fragment/en_c9348e4.pf_fragment
deleted file mode 100644
index 918d3d9a9b1..00000000000
Binary files
a/docs-archive/docker-stack/_pagefind/fragment/en_c9348e4.pf_fragment and
/dev/null differ
diff --git
a/docs-archive/docker-stack/_pagefind/fragment/en_e77a25d.pf_fragment
b/docs-archive/docker-stack/_pagefind/fragment/en_e77a25d.pf_fragment
deleted file mode 100644
index 1a263b30ff3..00000000000
Binary files
a/docs-archive/docker-stack/_pagefind/fragment/en_e77a25d.pf_fragment and
/dev/null differ
diff --git
a/docs-archive/docker-stack/_pagefind/fragment/en_ed12bc9.pf_fragment
b/docs-archive/docker-stack/_pagefind/fragment/en_ed12bc9.pf_fragment
new file mode 100644
index 00000000000..328dcb5f8fc
Binary files /dev/null and
b/docs-archive/docker-stack/_pagefind/fragment/en_ed12bc9.pf_fragment differ
diff --git
a/docs-archive/docker-stack/_pagefind/fragment/en_efc9654.pf_fragment
b/docs-archive/docker-stack/_pagefind/fragment/en_efc9654.pf_fragment
new file mode 100644
index 00000000000..b6f380d4eb0
Binary files /dev/null and
b/docs-archive/docker-stack/_pagefind/fragment/en_efc9654.pf_fragment differ
diff --git a/docs-archive/docker-stack/_pagefind/index/en_2535a27.pf_index
b/docs-archive/docker-stack/_pagefind/index/en_2535a27.pf_index
new file mode 100644
index 00000000000..dcc7908f652
Binary files /dev/null and
b/docs-archive/docker-stack/_pagefind/index/en_2535a27.pf_index differ
diff --git a/docs-archive/docker-stack/_pagefind/index/en_74f02e3.pf_index
b/docs-archive/docker-stack/_pagefind/index/en_74f02e3.pf_index
deleted file mode 100644
index ec6101271c6..00000000000
Binary files a/docs-archive/docker-stack/_pagefind/index/en_74f02e3.pf_index
and /dev/null differ
diff --git a/docs-archive/docker-stack/_pagefind/index/en_dffa31f.pf_index
b/docs-archive/docker-stack/_pagefind/index/en_dffa31f.pf_index
new file mode 100644
index 00000000000..1aba5bc3357
Binary files /dev/null and
b/docs-archive/docker-stack/_pagefind/index/en_dffa31f.pf_index differ
diff --git a/docs-archive/docker-stack/_pagefind/index/en_e142e52.pf_index
b/docs-archive/docker-stack/_pagefind/index/en_e142e52.pf_index
deleted file mode 100644
index e4dbb6b2d35..00000000000
Binary files a/docs-archive/docker-stack/_pagefind/index/en_e142e52.pf_index
and /dev/null differ
diff --git a/docs-archive/docker-stack/_pagefind/pagefind-entry.json
b/docs-archive/docker-stack/_pagefind/pagefind-entry.json
index 8363583266d..8c3da0316f6 100644
--- a/docs-archive/docker-stack/_pagefind/pagefind-entry.json
+++ b/docs-archive/docker-stack/_pagefind/pagefind-entry.json
@@ -1 +1 @@
-{"version":"1.5.0-beta.1","languages":{"en":{"hash":"en_87796aeb28","wasm":"en","page_count":9}},"include_characters":["_","‿","⁀","⁔","︳","︴","﹍","﹎","﹏","_"]}
\ No newline at end of file
+{"version":"1.5.0-beta.1","languages":{"en":{"hash":"en_eb43497e61","wasm":"en","page_count":9}},"include_characters":["_","‿","⁀","⁔","︳","︴","﹍","﹎","﹏","_"]}
\ No newline at end of file
diff --git a/docs-archive/docker-stack/_pagefind/pagefind.en_87796aeb28.pf_meta
b/docs-archive/docker-stack/_pagefind/pagefind.en_87796aeb28.pf_meta
deleted file mode 100644
index 1bcc0dd63b0..00000000000
Binary files
a/docs-archive/docker-stack/_pagefind/pagefind.en_87796aeb28.pf_meta and
/dev/null differ
diff --git a/docs-archive/docker-stack/_pagefind/pagefind.en_eb43497e61.pf_meta
b/docs-archive/docker-stack/_pagefind/pagefind.en_eb43497e61.pf_meta
new file mode 100644
index 00000000000..c20e47224db
Binary files /dev/null and
b/docs-archive/docker-stack/_pagefind/pagefind.en_eb43497e61.pf_meta differ
diff --git a/docs-archive/docker-stack/_sources/build-arg-ref.rst.txt
b/docs-archive/docker-stack/_sources/build-arg-ref.rst.txt
index 56fc38626c0..bad7047a326 100644
--- a/docs-archive/docker-stack/_sources/build-arg-ref.rst.txt
+++ b/docs-archive/docker-stack/_sources/build-arg-ref.rst.txt
@@ -52,6 +52,8 @@ Those are the most common arguments that you use when you
want to build a custom
| ``AIRFLOW_USE_UV`` | ``false``
| Whether to use UV to build the image. |
| |
| This is an experimental feature. |
+------------------------------------------+-------------------------------------------+---------------------------------------------+
+| ``UV_HTTP_TIMEOUT`` | ``300``
| Timeout in seconds for UV pull requests. |
++------------------------------------------+-------------------------------------------+---------------------------------------------+
| ``ADDITIONAL_PIP_INSTALL_FLAGS`` |
| additional ``pip`` flags passed to the |
| |
| installation commands (except when |
| |
| reinstalling ``pip`` itself) |
diff --git a/docs-archive/docker-stack/_sources/build.rst.txt
b/docs-archive/docker-stack/_sources/build.rst.txt
index a9d3e27d7e6..3951750ccb6 100644
--- a/docs-archive/docker-stack/_sources/build.rst.txt
+++ b/docs-archive/docker-stack/_sources/build.rst.txt
@@ -792,13 +792,15 @@ Building images with MySQL client
.. warning::
- As of Airflow 3.2.0 - our images only support installation of "MariaDB"
client from default Debian
- repositories. If you need to use "MySQL" client from Oracle, you need to
extend the images and add
- your own ways of installing the client. The main reason for that is that
Oracle's
- ``MySQL`` client installation is broken due to expiring GPG keys and every
2 years the old
- packages stop installing unless you manually update the keys (but there is
a period of time when the
- packages are not installable at all). MariaDB client is a drop-in
replacement for MySQL client
- and it works perfectly well with MySQL server.
+ By default Airflow images as of Airflow 2.8.0 use "MariaDB" client by
default on both "X86_64" and "ARM64"
+ platforms. However, you can also build images with MySQL client. The
following example builds the
+ production image in default Python version with "MySQL" client.
+
+.. exampleinclude:: docker-examples/customizing/mysql-client.sh
+ :language: bash
+ :start-after: [START build]
+ :end-before: [END build]
+
.. _image-build-custom:
@@ -862,30 +864,6 @@ vetted by the security teams. It is also the most complex
way of building the im
expert of building and using Dockerfiles in order to use it and have to have
specific needs of security if
you want to follow that route.
-.. _image-build-fips:
-
-Build images in FIPS-compliant environments
-...........................................
-
-If you are building images in a FIPS-compliant environment, you might
encounter issues with the default
-build process. For example, the default build process uses ``--with-lto``
(Link Time Optimization) when
-building Python, which might fail in FIPS mode because LTO uses MD5 checksums
to verify object files
-during compilation, and MD5 is blocked in FIPS mode.
-
-In order to build the image in FIPS-compliant environment, you can use
``PYTHON_LTO`` build argument
-and set it to ``false``.
-
-.. code-block:: bash
-
- docker build . --build-arg PYTHON_LTO="false" --tag my-image:my-tag
-
-.. note::
-
- While disabling LTO is necessary for FIPS compliance during the build
process, it is not sufficient
- to make the image fully FIPS compliant. There might be other reasons for
FIPS incompatibility
- (for example usage of non-FIPS compliant algorithms in the software
installed in the image).
- You should verify the compliance of the image yourself.
-
This builds below builds the production image with packages and constraints
used from the local
``docker-context-files`` rather than installed from PyPI or GitHub. It also
disables MySQL client
installation as it is using external installation method.
diff --git a/docs-archive/docker-stack/_sources/changelog.rst.txt
b/docs-archive/docker-stack/_sources/changelog.rst.txt
index 1ab2a03d33e..89024b1c38e 100644
--- a/docs-archive/docker-stack/_sources/changelog.rst.txt
+++ b/docs-archive/docker-stack/_sources/changelog.rst.txt
@@ -383,6 +383,8 @@ here so that users affected can find the reason for the
changes.
+--------------+-------------+-----------------------------------------------------------------------------------+-------------------------------------------------------+------------------------------------------------+
| Date | Versions | Potentially breaking change
| Reason
| Link to Pull Request / Issue |
+==============+=============+===================================================================================+=======================================================+================================================+
+| 28 Feb 2026 | 2.11.1 | * The grpcio==1.78.0 is used instead of 1.78.1
in Python 3.12 images. | The 1.78.1 version was yanked - caused
major outage. | https://github.com/grpc/grpc/issues/41725. |
++--------------+-------------+-----------------------------------------------------------------------------------+-------------------------------------------------------+------------------------------------------------+
| 23 Feb 2026 | 2.11.1 | * Several dependencies upgraded with minor
versions/patchlevels | Virtualenv project pulling out
released 20.37.0 | https://github.com/pypa/virtualenv/issues/3061 |
| | | * See
https://github.com/apache/airflow/commit/4a55543 for details |
|
|
+--------------+-------------+-----------------------------------------------------------------------------------+-------------------------------------------------------+------------------------------------------------+
diff --git a/docs-archive/docker-stack/_sources/entrypoint.rst.txt
b/docs-archive/docker-stack/_sources/entrypoint.rst.txt
index b77669dea12..9de8e16805f 100644
--- a/docs-archive/docker-stack/_sources/entrypoint.rst.txt
+++ b/docs-archive/docker-stack/_sources/entrypoint.rst.txt
@@ -132,7 +132,7 @@ if you specify extra arguments. For example:
.. code-block:: bash
- docker run -it apache/airflow:3.2.0-python3.10 bash -c "ls -la"
+ docker run -it apache/airflow:3.1.7-python3.10 bash -c "ls -la"
total 16
drwxr-xr-x 4 airflow root 4096 Jun 5 18:12 .
drwxr-xr-x 1 root root 4096 Jun 5 18:12 ..
@@ -144,7 +144,7 @@ you pass extra parameters. For example:
.. code-block:: bash
- > docker run -it apache/airflow:3.2.0-python3.10 python -c "print('test')"
+ > docker run -it apache/airflow:3.1.7-python3.10 python -c "print('test')"
test
If first argument equals to ``airflow`` - the rest of the arguments is treated
as an Airflow command
@@ -152,13 +152,13 @@ to execute. Example:
.. code-block:: bash
- docker run -it apache/airflow:3.2.0-python3.10 airflow webserver
+ docker run -it apache/airflow:3.1.7-python3.10 airflow webserver
If there are any other arguments - they are simply passed to the "airflow"
command
.. code-block:: bash
- > docker run -it apache/airflow:3.2.0-python3.10 help
+ > docker run -it apache/airflow:3.1.7-python3.10 help
usage: airflow [-h] GROUP_OR_COMMAND ...
Positional Arguments:
@@ -366,7 +366,7 @@ database and creating an ``admin/admin`` Admin user with
the following command:
--env "_AIRFLOW_DB_MIGRATE=true" \
--env "_AIRFLOW_WWW_USER_CREATE=true" \
--env "_AIRFLOW_WWW_USER_PASSWORD=admin" \
- apache/airflow:3.2.0-python3.10 webserver
+ apache/airflow:3.1.7-python3.10 webserver
.. code-block:: bash
@@ -375,7 +375,7 @@ database and creating an ``admin/admin`` Admin user with
the following command:
--env "_AIRFLOW_DB_MIGRATE=true" \
--env "_AIRFLOW_WWW_USER_CREATE=true" \
--env "_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin" \
- apache/airflow:3.2.0-python3.10 webserver
+ apache/airflow:3.1.7-python3.10 webserver
The commands above perform initialization of the SQLite database, create admin
user with admin password
and Admin role. They also forward local port ``8080`` to the webserver port
and finally start the webserver.
@@ -415,6 +415,6 @@ Example:
--env "_AIRFLOW_DB_MIGRATE=true" \
--env "_AIRFLOW_WWW_USER_CREATE=true" \
--env "_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin" \
- apache/airflow:3.2.0-python3.10 webserver
+ apache/airflow:3.1.7-python3.10 webserver
This method is only available starting from Docker image of Airflow 2.1.1 and
above.
diff --git a/docs-archive/docker-stack/_sources/index.rst.txt
b/docs-archive/docker-stack/_sources/index.rst.txt
index ee5ee1a89a0..0d14af8eb45 100644
--- a/docs-archive/docker-stack/_sources/index.rst.txt
+++ b/docs-archive/docker-stack/_sources/index.rst.txt
@@ -95,8 +95,6 @@ are also images published from branches but they are used
mainly for development
See `Airflow Git Branching
<https://github.com/apache/airflow/blob/main/contributing-docs/10_working_with_git.rst#airflow-git-branches>`_
for details.
-.. _fixing-image-at-release-time:
-
Fixing images at release time
=============================
diff --git a/docs-archive/docker-stack/_static/css/pagefind.css
b/docs-archive/docker-stack/_static/css/pagefind.css
index 8a793078a17..aa72e9440fb 100644
--- a/docs-archive/docker-stack/_static/css/pagefind.css
+++ b/docs-archive/docker-stack/_static/css/pagefind.css
@@ -157,12 +157,12 @@
.search-modal__result-item:hover,
.search-modal__result-item--selected {
- background: #e9ecef;
+ background: #f8f9fa;
}
[data-bs-theme="dark"] .search-modal__result-item:hover,
[data-bs-theme="dark"] .search-modal__result-item--selected {
- background: #30363d;
+ background: #21262d;
}
.search-modal__result-icon {
diff --git a/docs-archive/docker-stack/build-arg-ref.html
b/docs-archive/docker-stack/build-arg-ref.html
index ae78badc60b..7a3c0043824 100644
--- a/docs-archive/docker-stack/build-arg-ref.html
+++ b/docs-archive/docker-stack/build-arg-ref.html
@@ -748,7 +748,7 @@ Those arguments are used when you want to customize the
image. You can see some
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">AIRFLOW_VERSION</span></code></p></td>
-<td><p><code class="code docutils literal notranslate"><span
class="pre">3.2.0</span></code></p></td>
+<td><p><code class="code docutils literal notranslate"><span
class="pre">3.1.7</span></code></p></td>
<td><p>Version of Airflow.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">AIRFLOW_PYTHON_VERSION</span></code></p></td>
@@ -787,28 +787,32 @@ SQLite databases are stored).</p></td>
<td><p>Whether to use UV to build the image.
This is an experimental feature.</p></td>
</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">UV_HTTP_TIMEOUT</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span
class="pre">300</span></code></p></td>
+<td><p>Timeout in seconds for UV pull requests.</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code></p></td>
<td></td>
<td><p>additional <code class="docutils literal notranslate"><span
class="pre">pip</span></code> flags passed to the
installation commands (except when
reinstalling <code class="docutils literal notranslate"><span
class="pre">pip</span></code> itself)</p></td>
</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">PIP_PROGRESS_BAR</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">PIP_PROGRESS_BAR</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span
class="pre">on</span></code></p></td>
<td><p>Progress bar for PIP installation</p></td>
</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">AIRFLOW_UID</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">AIRFLOW_UID</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span
class="pre">50000</span></code></p></td>
<td><p>Airflow user UID.</p></td>
</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">AIRFLOW_CONSTRAINTS</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">AIRFLOW_CONSTRAINTS</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span
class="pre">constraints</span></code></p></td>
<td><p>Type of constraints to build the image.
This can be <code class="docutils literal notranslate"><span
class="pre">constraints</span></code> for regular
images or <code class="docutils literal notranslate"><span
class="pre">constraints-no-providers</span></code> for
slim images.</p></td>
</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">AIRFLOW_CONSTRAINTS_REFERENCE</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">AIRFLOW_CONSTRAINTS_REFERENCE</span></code></p></td>
<td></td>
<td><p>Reference (branch or tag) from GitHub
where constraints file is taken from
@@ -817,7 +821,7 @@ It can be <code class="docutils literal notranslate"><span
class="pre">constrain
3.X.* installation. In case of building
specific version you want to point it
to specific tag, for example
-<code class="code docutils literal notranslate"><span
class="pre">constraints-3.2.0</span></code>.
+<code class="code docutils literal notranslate"><span
class="pre">constraints-3.1.7</span></code>.
Auto-detected if empty.</p></td>
</tr>
</tbody>
diff --git a/docs-archive/docker-stack/build.html
b/docs-archive/docker-stack/build.html
index 3f080d746bc..f12e01d1597 100644
--- a/docs-archive/docker-stack/build.html
+++ b/docs-archive/docker-stack/build.html
@@ -499,7 +499,6 @@
<li class="toctree-l3"><a class="reference internal"
href="#building-images-with-mysql-client">Building images with MySQL
client</a></li>
<li class="toctree-l3"><a class="reference internal"
href="#using-custom-installation-sources">Using custom installation
sources</a></li>
<li class="toctree-l3"><a class="reference internal"
href="#build-images-in-security-restricted-environments">Build images in
security restricted environments</a></li>
-<li class="toctree-l3"><a class="reference internal"
href="#build-images-in-fips-compliant-environments">Build images in
FIPS-compliant environments</a></li>
<li class="toctree-l3"><a class="reference internal"
href="#modifying-the-dockerfile">Modifying the Dockerfile</a></li>
</ul>
</li>
@@ -670,7 +669,6 @@
<li class="toctree-l3"><a class="reference internal"
href="#building-images-with-mysql-client">Building images with MySQL
client</a></li>
<li class="toctree-l3"><a class="reference internal"
href="#using-custom-installation-sources">Using custom installation
sources</a></li>
<li class="toctree-l3"><a class="reference internal"
href="#build-images-in-security-restricted-environments">Build images in
security restricted environments</a></li>
-<li class="toctree-l3"><a class="reference internal"
href="#build-images-in-fips-compliant-environments">Build images in
FIPS-compliant environments</a></li>
<li class="toctree-l3"><a class="reference internal"
href="#modifying-the-dockerfile">Modifying the Dockerfile</a></li>
</ul>
</li>
@@ -842,7 +840,7 @@ switch to the <code class="docutils literal
notranslate"><span class="pre">root<
<code class="docutils literal notranslate"><span
class="pre">airflow</span></code> user after installation is complete.</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/add-apt-packages/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">USER</span><span class="w"> </span><span class="s">root</span>
<span class="k">RUN</span><span class="w"> </span>apt-get<span class="w">
</span>update<span class="w"> </span><span class="se">\</span>
<span class="w"> </span><span class="o">&&</span><span class="w">
</span>apt-get<span class="w"> </span>install<span class="w"> </span>-y<span
class="w"> </span>--no-install-recommends<span class="w"> </span><span
class="se">\</span>
@@ -882,7 +880,7 @@ which will dynamically source and install python
dependencies during runtime. Wi
</div>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/add-pypi-packages/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">RUN</span><span class="w"> </span>pip<span class="w">
</span>install<span class="w"> </span>--no-cache-dir<span class="w">
</span><span class="s2">"apache-airflow==</span><span
class="si">${</span><span class="nv">AIRFLOW_VERSION</span><span
class="si">}</span><span class="s2">"</span><span class="w"> </span>lxml
</pre></div>
</div>
@@ -907,7 +905,7 @@ to match the new version of airflow.</p>
</div>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/add-requirement-packages/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">COPY</span><span class="w"> </span>requirements.txt<span
class="w"> </span>/
<span class="k">RUN</span><span class="w"> </span>pip<span class="w">
</span>install<span class="w"> </span>--no-cache-dir<span class="w">
</span><span class="s2">"apache-airflow==</span><span
class="si">${</span><span class="nv">AIRFLOW_VERSION</span><span
class="si">}</span><span class="s2">"</span><span class="w">
</span>-r<span class="w"> </span>/requirements.txt
</pre></div>
@@ -926,7 +924,7 @@ beautifulsoup4
<p>The following example adds <code class="docutils literal notranslate"><span
class="pre">test_dag.py</span></code> to your image in the <code
class="docutils literal notranslate"><span
class="pre">/opt/airflow/dags</span></code> folder.</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/embedding-dags/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">COPY</span><span class="w"> </span>--chown<span
class="o">=</span>airflow:root<span class="w"> </span>test_dag.py<span
class="w"> </span>/opt/airflow/dags
</pre></div>
@@ -970,7 +968,7 @@ beautifulsoup4
<span class="target" id="index-0"></span><a class="reference external"
href="/docs/apache-airflow/stable/cli-and-env-variables-ref.html#envvar-AIRFLOW__-SECTION-__-KEY"
title="(in apache-airflow v3.2.0)"><code class="xref std std-envvar docutils
literal notranslate"><span
class="pre">AIRFLOW__{SECTION}__{KEY}</span></code></a> (note the double
underscores).</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/add-airflow-configuration/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">ENV</span><span class="w"> </span><span
class="nv">AIRFLOW__CORE__LOAD_EXAMPLES</span><span class="o">=</span>True
<span class="k">ENV</span><span class="w"> </span><span
class="nv">AIRFLOW__DATABASE__SQL_ALCHEMY_CONN</span><span
class="o">=</span>my_conn_string
</pre></div>
@@ -1069,7 +1067,7 @@ typical tools here are the simple examples.</p>
<li><p>Create your own <code class="docutils literal notranslate"><span
class="pre">Dockerfile</span></code> (name it <code class="docutils literal
notranslate"><span class="pre">Dockerfile</span></code>) where you add:</p></li>
</ol>
<ul class="simple">
-<li><p>information what your image should be based on (for example <code
class="docutils literal notranslate"><span class="pre">FROM:</span> <span
class="pre">apache/airflow:3.2.0-python3.10</span></code></p></li>
+<li><p>information what your image should be based on (for example <code
class="docutils literal notranslate"><span class="pre">FROM:</span> <span
class="pre">apache/airflow:3.1.7-python3.10</span></code></p></li>
<li><p>additional steps that should be executed in your image (typically in
the form of <code class="docutils literal notranslate"><span
class="pre">RUN</span> <span class="pre"><command></span></code>)</p></li>
</ul>
<ol class="arabic simple" start="2">
@@ -1247,7 +1245,7 @@ Airflow and sometimes you might want to upgrade specific
providers only to fix s
use features available in that provider version. Here is an example of how you
can do it</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/custom-providers/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">RUN</span><span class="w"> </span>pip<span class="w">
</span>install<span class="w"> </span><span
class="s2">"apache-airflow==</span><span class="si">${</span><span
class="nv">AIRFLOW_VERSION</span><span class="si">}</span><span
class="s2">"</span><span class="w"> </span>--no-cache-dir<span class="w">
</span>apache-airflow-providers-docker<span class="o">==</span><span
class="m">2</span>.5.1
</pre></div>
</div>
@@ -1259,7 +1257,7 @@ use features available in that provider version. Here is
an example of how you c
python package from PyPI.</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/add-providers/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">USER</span><span class="w"> </span><span class="s">root</span>
<span class="k">RUN</span><span class="w"> </span>apt-get<span class="w">
</span>update<span class="w"> </span><span class="se">\</span>
<span class="w"> </span><span class="o">&&</span><span class="w">
</span>apt-get<span class="w"> </span>install<span class="w"> </span>-y<span
class="w"> </span>--no-install-recommends<span class="w"> </span><span
class="se">\</span>
@@ -1279,7 +1277,7 @@ python package from PyPI.</p>
<p>The following example adds <code class="docutils literal notranslate"><span
class="pre">vim</span></code> to the Airflow image.</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/add-apt-packages/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">USER</span><span class="w"> </span><span class="s">root</span>
<span class="k">RUN</span><span class="w"> </span>apt-get<span class="w">
</span>update<span class="w"> </span><span class="se">\</span>
<span class="w"> </span><span class="o">&&</span><span class="w">
</span>apt-get<span class="w"> </span>install<span class="w"> </span>-y<span
class="w"> </span>--no-install-recommends<span class="w"> </span><span
class="se">\</span>
@@ -1297,7 +1295,7 @@ python package from PyPI.</p>
<p>The following example adds <code class="docutils literal notranslate"><span
class="pre">lxml</span></code> python package from PyPI to the image.</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/add-pypi-packages/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">RUN</span><span class="w"> </span>pip<span class="w">
</span>install<span class="w"> </span>--no-cache-dir<span class="w">
</span><span class="s2">"apache-airflow==</span><span
class="si">${</span><span class="nv">AIRFLOW_VERSION</span><span
class="si">}</span><span class="s2">"</span><span class="w"> </span>lxml
</pre></div>
</div>
@@ -1311,7 +1309,7 @@ given version of Airflow. You can also use it if you do
not want to use potentia
that were released after the version of Airflow you are using.</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/add-pypi-packages-constraints/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">RUN</span><span class="w"> </span>pip<span class="w">
</span>install<span class="w"> </span>--no-cache-dir<span class="w">
</span><span class="s2">"apache-airflow==</span><span
class="si">${</span><span class="nv">AIRFLOW_VERSION</span><span
class="si">}</span><span class="s2">"</span><span class="w">
</span>lxml<span class="w"> </span>--constraint<span class="w"> </span><span
class="s2">"</span><span class="si">${</span><span
class="nv">HOME</span><span cl [...]
</pre></div>
</div>
@@ -1323,9 +1321,9 @@ that were released after the version of Airflow you are
using.</p>
experimental feature as <code class="docutils literal notranslate"><span
class="pre">uv</span></code> is a very fast but also very new tool in the
Python ecosystem.</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/add-pypi-packages-uv/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
-<span class="c"># The `uv` tools is Rust packaging tool that is much faster
than `pip` and other installers</span>
+<span class="c"># The `uv` tools is Rust packaging tool that is much faster
than `pip` and other installer</span>
<span class="c"># Support for uv as installation tool is experimental</span>
<span class="k">RUN</span><span class="w"> </span>uv<span class="w">
</span>pip<span class="w"> </span>install<span class="w">
</span>--no-cache<span class="w"> </span><span
class="s2">"apache-airflow==</span><span class="si">${</span><span
class="nv">AIRFLOW_VERSION</span><span class="si">}</span><span
class="s2">"</span><span class="w"> </span>lxml
@@ -1352,7 +1350,7 @@ to match the new version of airflow.</p>
</div>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/add-requirement-packages/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">COPY</span><span class="w"> </span>requirements.txt<span
class="w"> </span>/
<span class="k">RUN</span><span class="w"> </span>pip<span class="w">
</span>install<span class="w"> </span>--no-cache-dir<span class="w">
</span><span class="s2">"apache-airflow==</span><span
class="si">${</span><span class="nv">AIRFLOW_VERSION</span><span
class="si">}</span><span class="s2">"</span><span class="w">
</span>-r<span class="w"> </span>/requirements.txt
</pre></div>
@@ -1372,7 +1370,7 @@ beautifulsoup4
running the container.</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/writable-directory/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">RUN</span><span class="w"> </span><span
class="nb">umask</span><span class="w"> </span><span class="m">0002</span><span
class="p">;</span><span class="w"> </span><span class="se">\</span>
<span class="w"> </span>mkdir<span class="w"> </span>-p<span class="w">
</span>~/writeable-directory
</pre></div>
@@ -1384,7 +1382,7 @@ running the container.</p>
<p>The following example adds <code class="docutils literal notranslate"><span
class="pre">mpi4py</span></code> package which requires both <code
class="docutils literal notranslate"><span
class="pre">build-essential</span></code> and <code class="docutils literal
notranslate"><span class="pre">mpi</span> <span
class="pre">compiler</span></code>.</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/add-build-essential-extend/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">USER</span><span class="w"> </span><span class="s">root</span>
<span class="k">RUN</span><span class="w"> </span>apt-get<span class="w">
</span>update<span class="w"> </span><span class="se">\</span>
<span class="w"> </span><span class="o">&&</span><span class="w">
</span>apt-get<span class="w"> </span>install<span class="w"> </span>-y<span
class="w"> </span>--no-install-recommends<span class="w"> </span><span
class="se">\</span>
@@ -1405,7 +1403,7 @@ size of the image in case you use “Customizing” rather
than “Extending”
<p>The following example adds <code class="docutils literal notranslate"><span
class="pre">test_dag.py</span></code> to your image in the <code
class="docutils literal notranslate"><span
class="pre">/opt/airflow/dags</span></code> folder.</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/embedding-dags/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">COPY</span><span class="w"> </span>--chown<span
class="o">=</span>airflow:root<span class="w"> </span>test_dag.py<span
class="w"> </span>/opt/airflow/dags
</pre></div>
@@ -1447,7 +1445,7 @@ size of the image in case you use “Customizing” rather
than “Extending”
<p>The following example adds Airflow configuration changes to the Airflow
image.</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/extending/add-airflow-configuration/Dockerfile</span></p>
-<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.2.0</span>
+<div class="highlight-Dockerfile notranslate"><div
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w">
</span><span class="s">apache/airflow:3.1.7</span>
<span class="k">ENV</span><span class="w"> </span><span
class="nv">AIRFLOW__CORE__LOAD_EXAMPLES</span><span class="o">=</span>True
<span class="k">ENV</span><span class="w"> </span><span
class="nv">AIRFLOW__DATABASE__SQL_ALCHEMY_CONN</span><span
class="o">=</span>my_conn_string
</pre></div>
@@ -1481,7 +1479,7 @@ Docker version <code class="docutils literal
notranslate"><span class="pre">23.0
You can extract the officially released version of the Dockerfile from the
<a class="reference external"
href="https://airflow.apache.org/docs/apache-airflow/stable/installation/installing-from-sources.html">released
sources</a>.
You can also conveniently download the latest released version
-<a class="reference external"
href="https://raw.githubusercontent.com/apache/airflow/3.2.0/Dockerfile">from
GitHub</a>. You can save it
+<a class="reference external"
href="https://raw.githubusercontent.com/apache/airflow/3.1.7/Dockerfile">from
GitHub</a>. You can save it
in any directory - there is no need for any other files to be present there.
If you wish to use your own
files (for example custom configuration of <code class="docutils literal
notranslate"><span class="pre">pip</span></code> or your own <code
class="docutils literal notranslate"><span
class="pre">requirements</span></code> or custom dependencies,
you need to use <code class="docutils literal notranslate"><span
class="pre">DOCKER_CONTEXT_FILES</span></code> build arg and place the files in
the directory pointed at by
@@ -1776,13 +1774,19 @@ docker<span class="w"> </span>build<span class="w">
</span>.<span class="w"> </s
<span id="image-build-mysql"></span><h3>Building images with MySQL client<a
class="headerlink" href="#building-images-with-mysql-client" title="Link to
this heading">¶</a></h3>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
-<p>As of Airflow 3.2.0 - our images only support installation of “MariaDB”
client from default Debian
-repositories. If you need to use “MySQL” client from Oracle, you need to
extend the images and add
-your own ways of installing the client. The main reason for that is that
Oracle’s
-<code class="docutils literal notranslate"><span
class="pre">MySQL</span></code> client installation is broken due to expiring
GPG keys and every 2 years the old
-packages stop installing unless you manually update the keys (but there is a
period of time when the
-packages are not installable at all). MariaDB client is a drop-in replacement
for MySQL client
-and it works perfectly well with MySQL server.</p>
+<p>By default Airflow images as of Airflow 2.8.0 use “MariaDB” client by
default on both “X86_64” and “ARM64”
+platforms. However, you can also build images with MySQL client. The following
example builds the
+production image in default Python version with “MySQL” client.</p>
+</div>
+<div class="example-block-wrapper compound">
+<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/customizing/mysql-client.sh</span></p>
+<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span><span class="nb">export</span><span
class="w"> </span><span class="nv">DOCKER_BUILDKIT</span><span
class="o">=</span><span class="m">1</span>
+
+docker<span class="w"> </span>build<span class="w"> </span>.<span class="w">
</span><span class="se">\</span>
+<span class="w"> </span>--build-arg<span class="w"> </span><span
class="nv">INSTALL_MYSQL_CLIENT_TYPE</span><span class="o">=</span><span
class="s2">"mysql"</span><span class="w"> </span><span
class="se">\</span>
+<span class="w"> </span>--tag<span class="w"> </span><span
class="s2">"my-mysql-airflow:0.0.1"</span>
+</pre></div>
+</div>
</div>
</section>
<section id="using-custom-installation-sources">
@@ -1865,25 +1869,6 @@ wheel files. This is often useful in Enterprise
environments where the binary fi
vetted by the security teams. It is also the most complex way of building the
image. You should be an
expert of building and using Dockerfiles in order to use it and have to have
specific needs of security if
you want to follow that route.</p>
-</section>
-<section id="build-images-in-fips-compliant-environments">
-<span id="image-build-fips"></span><h3>Build images in FIPS-compliant
environments<a class="headerlink"
href="#build-images-in-fips-compliant-environments" title="Link to this
heading">¶</a></h3>
-<p>If you are building images in a FIPS-compliant environment, you might
encounter issues with the default
-build process. For example, the default build process uses <code
class="docutils literal notranslate"><span class="pre">--with-lto</span></code>
(Link Time Optimization) when
-building Python, which might fail in FIPS mode because LTO uses MD5 checksums
to verify object files
-during compilation, and MD5 is blocked in FIPS mode.</p>
-<p>In order to build the image in FIPS-compliant environment, you can use
<code class="docutils literal notranslate"><span
class="pre">PYTHON_LTO</span></code> build argument
-and set it to <code class="docutils literal notranslate"><span
class="pre">false</span></code>.</p>
-<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span>docker<span class="w"> </span>build<span
class="w"> </span>.<span class="w"> </span>--build-arg<span class="w">
</span><span class="nv">PYTHON_LTO</span><span class="o">=</span><span
class="s2">"false"</span><span class="w"> </span>--tag<span
class="w"> </span>my-image:my-tag
-</pre></div>
-</div>
-<div class="admonition note">
-<p class="admonition-title">Note</p>
-<p>While disabling LTO is necessary for FIPS compliance during the build
process, it is not sufficient
-to make the image fully FIPS compliant. There might be other reasons for FIPS
incompatibility
-(for example usage of non-FIPS compliant algorithms in the software installed
in the image).
-You should verify the compliance of the image yourself.</p>
-</div>
<p>This builds below builds the production image with packages and
constraints used from the local
<code class="docutils literal notranslate"><span
class="pre">docker-context-files</span></code> rather than installed from PyPI
or GitHub. It also disables MySQL client
installation as it is using external installation method.</p>
@@ -2143,7 +2128,6 @@ python packages), pip caching has been enabled. The
caching id is based on four
<li><a class="reference internal"
href="#building-images-with-mysql-client">Building images with MySQL
client</a></li>
<li><a class="reference internal"
href="#using-custom-installation-sources">Using custom installation
sources</a></li>
<li><a class="reference internal"
href="#build-images-in-security-restricted-environments">Build images in
security restricted environments</a></li>
-<li><a class="reference internal"
href="#build-images-in-fips-compliant-environments">Build images in
FIPS-compliant environments</a></li>
<li><a class="reference internal" href="#modifying-the-dockerfile">Modifying
the Dockerfile</a></li>
</ul>
</li>
diff --git a/docs-archive/docker-stack/changelog.html
b/docs-archive/docker-stack/changelog.html
index afa816aa234..39b0cacd015 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/docker-stack/changelog.html
@@ -1194,7 +1194,16 @@ here so that users affected can find the reason for the
changes.</p>
</tr>
</thead>
<tbody>
-<tr class="row-even"><td><p>23 Feb 2026</p></td>
+<tr class="row-even"><td><p>28 Feb 2026</p></td>
+<td><p>2.11.1</p></td>
+<td><ul class="simple">
+<li><p>The grpcio==1.78.0 is used instead of 1.78.1 in Python 3.12
images.</p></li>
+</ul>
+</td>
+<td><p>The 1.78.1 version was yanked - caused major outage.</p></td>
+<td><p><a class="reference external"
href="https://github.com/grpc/grpc/issues/41725">https://github.com/grpc/grpc/issues/41725</a>.</p></td>
+</tr>
+<tr class="row-odd"><td><p>23 Feb 2026</p></td>
<td><p>2.11.1</p></td>
<td><ul class="simple">
<li><p>Several dependencies upgraded with minor versions/patchlevels</p></li>
@@ -1204,7 +1213,7 @@ here so that users affected can find the reason for the
changes.</p>
<td><p>Virtualenv project pulling out released 20.37.0</p></td>
<td><p><a class="reference external"
href="https://github.com/pypa/virtualenv/issues/3061">https://github.com/pypa/virtualenv/issues/3061</a></p></td>
</tr>
-<tr class="row-odd"><td><p>19 July 2025</p></td>
+<tr class="row-even"><td><p>19 July 2025</p></td>
<td><p>3.0.3</p></td>
<td><ul class="simple">
<li><p>The <code class="docutils literal notranslate"><span
class="pre">standard</span></code> provider upgraded from 1.4.0 to
1.4.1</p></li>
@@ -1213,7 +1222,7 @@ here so that users affected can find the reason for the
changes.</p>
<td><p>Sensor skipping issue</p></td>
<td><p><a class="reference external"
href="https://github.com/apache/airflow/pull/53455">https://github.com/apache/airflow/pull/53455</a></p></td>
</tr>
-<tr class="row-even"><td><p>24 Jun 2025</p></td>
+<tr class="row-odd"><td><p>24 Jun 2025</p></td>
<td><p>3.0.2</p></td>
<td><ul class="simple">
<li><p>The <code class="docutils literal notranslate"><span
class="pre">fab</span></code> provider upgraded from 2.2.0 to 2.2.1</p></li>
@@ -1228,7 +1237,7 @@ git bundle need it</p></td>
<a class="reference external"
href="https://github.com/apache/airflow/issues/51770">https://github.com/apache/airflow/issues/51770</a>
<a class="reference external"
href="https://github.com/apache/airflow/pull/51580">https://github.com/apache/airflow/pull/51580</a></p></td>
</tr>
-<tr class="row-odd"><td><p>02 Aug 2024</p></td>
+<tr class="row-even"><td><p>02 Aug 2024</p></td>
<td><p>2.9.3</p></td>
<td><ul class="simple">
<li><p>The <code class="docutils literal notranslate"><span
class="pre">apache-airflow-providers-fab</span></code> upgraded from 1.2.1 to
1.2.2</p></li>
@@ -1237,7 +1246,7 @@ git bundle need it</p></td>
<td><p>FAB provider logout did not work for 2.9.3</p></td>
<td><p><a class="reference external"
href="https://github.com/apache/airflow/issues/40922">https://github.com/apache/airflow/issues/40922</a></p></td>
</tr>
-<tr class="row-even"><td><p>12 Mar 2024</p></td>
+<tr class="row-odd"><td><p>12 Mar 2024</p></td>
<td><p>2.8.3</p></td>
<td><ul class="simple">
<li><p>The image was refreshed with new dependencies (pandas < 2.2 and SMTP
provider
@@ -1248,7 +1257,7 @@ git bundle need it</p></td>
<td><p><a class="reference external"
href="https://github.com/apache/airflow/pull/37748">https://github.com/apache/airflow/pull/37748</a>
<a class="reference external"
href="https://github.com/apache/airflow/pull/37701">https://github.com/apache/airflow/pull/37701</a></p></td>
</tr>
-<tr class="row-odd"><td><p>16 Dec 2023</p></td>
+<tr class="row-even"><td><p>16 Dec 2023</p></td>
<td><p>All 2.*</p></td>
<td><ul class="simple">
<li><p>The AIRFLOW_GID 500 was removed</p></li>
@@ -1259,7 +1268,7 @@ git bundle need it</p></td>
fiasco</p></td>
<td><p><a class="reference external"
href="https://github.com/apache/airflow/issues/36231">https://github.com/apache/airflow/issues/36231</a></p></td>
</tr>
-<tr class="row-even"><td><p>17 June 2022</p></td>
+<tr class="row-odd"><td><p>17 June 2022</p></td>
<td><p>2.2.5
2.3.0-2.3.2</p></td>
<td><ul class="simple">
@@ -1269,7 +1278,7 @@ fiasco</p></td>
<td><p>Flask App Builder not compatible with Authlib >= 1.0</p></td>
<td><p><a class="reference external"
href="https://github.com/apache/airflow/pull/24516">https://github.com/apache/airflow/pull/24516</a></p></td>
</tr>
-<tr class="row-odd"><td><p>18 Jan 2022</p></td>
+<tr class="row-even"><td><p>18 Jan 2022</p></td>
<td><p>All 2.2.*,
2.1.*</p></td>
<td><ul class="simple">
diff --git a/docs-archive/docker-stack/entrypoint.html
b/docs-archive/docker-stack/entrypoint.html
index c2375bf350f..ef2946fcc08 100644
--- a/docs-archive/docker-stack/entrypoint.html
+++ b/docs-archive/docker-stack/entrypoint.html
@@ -839,7 +839,7 @@ To disable check, set <code class="docutils literal
notranslate"><span class="pr
<span id="entrypoint-commands"></span><h2>Executing commands<a
class="headerlink" href="#executing-commands" title="Link to this
heading">¶</a></h2>
<p>If first argument equals to “bash” - you are dropped to a bash shell or you
can executes bash command
if you specify extra arguments. For example:</p>
-<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span>docker<span class="w"> </span>run<span
class="w"> </span>-it<span class="w">
</span>apache/airflow:3.2.0-python3.10<span class="w"> </span>bash<span
class="w"> </span>-c<span class="w"> </span><span class="s2">"ls
-la"</span>
+<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span>docker<span class="w"> </span>run<span
class="w"> </span>-it<span class="w">
</span>apache/airflow:3.1.7-python3.10<span class="w"> </span>bash<span
class="w"> </span>-c<span class="w"> </span><span class="s2">"ls
-la"</span>
total<span class="w"> </span><span class="m">16</span>
drwxr-xr-x<span class="w"> </span><span class="m">4</span><span class="w">
</span>airflow<span class="w"> </span>root<span class="w"> </span><span
class="m">4096</span><span class="w"> </span>Jun<span class="w"> </span><span
class="m">5</span><span class="w"> </span><span class="m">18</span>:12<span
class="w"> </span>.
drwxr-xr-x<span class="w"> </span><span class="m">1</span><span class="w">
</span>root<span class="w"> </span>root<span class="w"> </span><span
class="m">4096</span><span class="w"> </span>Jun<span class="w"> </span><span
class="m">5</span><span class="w"> </span><span class="m">18</span>:12<span
class="w"> </span>..
@@ -849,17 +849,17 @@ drwxr-xr-x<span class="w"> </span><span
class="m">2</span><span class="w"> </spa
</div>
<p>If first argument is equal to <code class="docutils literal
notranslate"><span class="pre">python</span></code> - you are dropped in python
shell or python commands are executed if
you pass extra parameters. For example:</p>
-<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span>><span class="w"> </span>docker<span
class="w"> </span>run<span class="w"> </span>-it<span class="w">
</span>apache/airflow:3.2.0-python3.10<span class="w"> </span>python<span
class="w"> </span>-c<span class="w"> </span><span
class="s2">"print('test')"</span>
+<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span>><span class="w"> </span>docker<span
class="w"> </span>run<span class="w"> </span>-it<span class="w">
</span>apache/airflow:3.1.7-python3.10<span class="w"> </span>python<span
class="w"> </span>-c<span class="w"> </span><span
class="s2">"print('test')"</span>
<span class="nb">test</span>
</pre></div>
</div>
<p>If first argument equals to <code class="docutils literal
notranslate"><span class="pre">airflow</span></code> - the rest of the
arguments is treated as an Airflow command
to execute. Example:</p>
-<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span>docker<span class="w"> </span>run<span
class="w"> </span>-it<span class="w">
</span>apache/airflow:3.2.0-python3.10<span class="w"> </span>airflow<span
class="w"> </span>webserver
+<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span>docker<span class="w"> </span>run<span
class="w"> </span>-it<span class="w">
</span>apache/airflow:3.1.7-python3.10<span class="w"> </span>airflow<span
class="w"> </span>webserver
</pre></div>
</div>
<p>If there are any other arguments - they are simply passed to the “airflow”
command</p>
-<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span>><span class="w"> </span>docker<span
class="w"> </span>run<span class="w"> </span>-it<span class="w">
</span>apache/airflow:3.2.0-python3.10<span class="w"> </span><span
class="nb">help</span>
+<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span>><span class="w"> </span>docker<span
class="w"> </span>run<span class="w"> </span>-it<span class="w">
</span>apache/airflow:3.1.7-python3.10<span class="w"> </span><span
class="nb">help</span>
<span class="w"> </span>usage:<span class="w"> </span>airflow<span class="w">
</span><span class="o">[</span>-h<span class="o">]</span><span class="w">
</span>GROUP_OR_COMMAND<span class="w"> </span>...
<span class="w"> </span>Positional<span class="w"> </span>Arguments:
@@ -1067,14 +1067,14 @@ database and creating an <code class="docutils literal
notranslate"><span class=
<span class="w"> </span>--env<span class="w"> </span><span
class="s2">"_AIRFLOW_DB_MIGRATE=true"</span><span class="w">
</span><span class="se">\</span>
<span class="w"> </span>--env<span class="w"> </span><span
class="s2">"_AIRFLOW_WWW_USER_CREATE=true"</span><span class="w">
</span><span class="se">\</span>
<span class="w"> </span>--env<span class="w"> </span><span
class="s2">"_AIRFLOW_WWW_USER_PASSWORD=admin"</span><span class="w">
</span><span class="se">\</span>
-<span class="w"> </span>apache/airflow:3.2.0-python3.10<span class="w">
</span>webserver
+<span class="w"> </span>apache/airflow:3.1.7-python3.10<span class="w">
</span>webserver
</pre></div>
</div>
<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span>docker<span class="w"> </span>run<span
class="w"> </span>-it<span class="w"> </span>-p<span class="w"> </span><span
class="m">8080</span>:8080<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>--env<span class="w"> </span><span
class="s2">"_AIRFLOW_DB_MIGRATE=true"</span><span class="w">
</span><span class="se">\</span>
<span class="w"> </span>--env<span class="w"> </span><span
class="s2">"_AIRFLOW_WWW_USER_CREATE=true"</span><span class="w">
</span><span class="se">\</span>
<span class="w"> </span>--env<span class="w"> </span><span
class="s2">"_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin"</span><span
class="w"> </span><span class="se">\</span>
-<span class="w"> </span>apache/airflow:3.2.0-python3.10<span class="w">
</span>webserver
+<span class="w"> </span>apache/airflow:3.1.7-python3.10<span class="w">
</span>webserver
</pre></div>
</div>
<p>The commands above perform initialization of the SQLite database, create
admin user with admin password
@@ -1112,7 +1112,7 @@ you should create your custom image with dependencies
baked in.</p>
<span class="w"> </span>--env<span class="w"> </span><span
class="s2">"_AIRFLOW_DB_MIGRATE=true"</span><span class="w">
</span><span class="se">\</span>
<span class="w"> </span>--env<span class="w"> </span><span
class="s2">"_AIRFLOW_WWW_USER_CREATE=true"</span><span class="w">
</span><span class="se">\</span>
<span class="w"> </span>--env<span class="w"> </span><span
class="s2">"_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin"</span><span
class="w"> </span><span class="se">\</span>
-<span class="w"> </span>apache/airflow:3.2.0-python3.10<span class="w">
</span>webserver
+<span class="w"> </span>apache/airflow:3.1.7-python3.10<span class="w">
</span>webserver
</pre></div>
</div>
<p>This method is only available starting from Docker image of Airflow 2.1.1
and above.</p>
diff --git a/docs-archive/docker-stack/index.html
b/docs-archive/docker-stack/index.html
index 7b40c04f2c1..ad24f68caac 100644
--- a/docs-archive/docker-stack/index.html
+++ b/docs-archive/docker-stack/index.html
@@ -741,12 +741,12 @@ all providers released in the regular reference image.</p>
are installed by default in the regular reference image do not support Python
3.13,
the “default” Python version for the image should be Python 3.12.</p>
<p>The same applies to the “slim” images.</p>
-<p>You can find the following images there (Assuming Airflow version <code
class="code docutils literal notranslate"><span
class="pre">3.2.0</span></code>):</p>
+<p>You can find the following images there (Assuming Airflow version <code
class="code docutils literal notranslate"><span
class="pre">3.1.7</span></code>):</p>
<ul class="simple">
<li><p><code class="code docutils literal notranslate"><span
class="pre">apache/airflow:latest</span></code> - the latest
released Airflow image with default Python version (3.12 currently)</p></li>
<li><p><code class="code docutils literal notranslate"><span
class="pre">apache/airflow:latest-pythonX.Y</span></code> - the latest
released Airflow image with specific Python version</p></li>
-<li><p><code class="code docutils literal notranslate"><span
class="pre">apache/airflow:3.2.0</span></code> - the versioned
Airflow image with default Python version (3.12 currently)</p></li>
-<li><p><code class="code docutils literal notranslate"><span
class="pre">apache/airflow:3.2.0-pythonX.Y</span></code> - the versioned
Airflow image with specific Python version</p></li>
+<li><p><code class="code docutils literal notranslate"><span
class="pre">apache/airflow:3.1.7</span></code> - the versioned
Airflow image with default Python version (3.12 currently)</p></li>
+<li><p><code class="code docutils literal notranslate"><span
class="pre">apache/airflow:3.1.7-pythonX.Y</span></code> - the versioned
Airflow image with specific Python version</p></li>
</ul>
<p>Those are “reference” regular images. They contain the most common set of
extras, dependencies and providers that are
often used by the users and they are good to “try-things-out” when you want to
just take Airflow for a spin,</p>
@@ -756,14 +756,14 @@ via <a class="reference internal"
href="build.html#build-build-image"><span clas
<ul class="simple">
<li><p><code class="code docutils literal notranslate"><span
class="pre">apache/airflow:slim-latest</span></code> - the latest
released Airflow image with default Python version (3.12 currently)</p></li>
<li><p><code class="code docutils literal notranslate"><span
class="pre">apache/airflow:slim-latest-pythonX.Y</span></code> - the latest
released Airflow image with specific Python version</p></li>
-<li><p><code class="code docutils literal notranslate"><span
class="pre">apache/airflow:slim-3.2.0</span></code> - the versioned
Airflow image with default Python version (3.12 currently)</p></li>
-<li><p><code class="code docutils literal notranslate"><span
class="pre">apache/airflow:slim-3.2.0-pythonX.Y</span></code> - the versioned
Airflow image with specific Python version</p></li>
+<li><p><code class="code docutils literal notranslate"><span
class="pre">apache/airflow:slim-3.1.7</span></code> - the versioned
Airflow image with default Python version (3.12 currently)</p></li>
+<li><p><code class="code docutils literal notranslate"><span
class="pre">apache/airflow:slim-3.1.7-pythonX.Y</span></code> - the versioned
Airflow image with specific Python version</p></li>
</ul>
<p>The Apache Airflow image provided as convenience package is optimized for
size, and
it provides just a bare minimal set of the extras and dependencies installed
and in most cases
you want to either extend or customize the image. You can see all possible
extras in <a class="reference external"
href="/docs/apache-airflow/stable/extra-packages-ref.html" title="(in
apache-airflow v3.2.0)"><span>Reference for package extras</span></a>.
The set of extras used in Airflow Production image are available in the
-<a class="reference external"
href="https://github.com/apache/airflow/blob/3.2.0/Dockerfile">Dockerfile</a>.</p>
+<a class="reference external"
href="https://github.com/apache/airflow/blob/3.1.7/Dockerfile">Dockerfile</a>.</p>
<p>However, Airflow has more than 60 community-managed providers (installable
via extras) and some of the
default extras/providers installed are not used by everyone, sometimes others
extras/providers
are needed, sometimes (very often actually) you need to add your own custom
dependencies,
@@ -774,7 +774,7 @@ See <a class="reference external"
href="https://github.com/apache/airflow/blob/m
for details.</p>
</section>
<section id="fixing-images-at-release-time">
-<span id="fixing-image-at-release-time"></span><h1
data-pagefind-weight="9.0">Fixing images at release time<a class="headerlink"
href="#fixing-images-at-release-time" title="Link to this heading">¶</a></h1>
+<h1 data-pagefind-weight="9.0">Fixing images at release time<a
class="headerlink" href="#fixing-images-at-release-time" title="Link to this
heading">¶</a></h1>
<p>The released “versioned” reference images are mostly <code class="docutils
literal notranslate"><span class="pre">fixed</span></code> when we release
Airflow version and we only
update them in exceptional circumstances. For example when we find out that
there are dependency errors
that might prevent important Airflow or embedded provider’s functionalities
working. In normal circumstances,
@@ -830,7 +830,7 @@ security fixes in the dependencies.</p></li>
and you want to use other base images, you can take a look at what system
dependencies are installed
and scripts in the latest <code class="docutils literal notranslate"><span
class="pre">Dockerfile</span></code> of Airflow and take inspiration from it
and build your own image
or copy it and modify it to your needs. See the
-<a class="reference external"
href="https://github.com/apache/airflow/blob/3.2.0/Dockerfile">Dockerfile</a>
for the latest version.</p></li>
+<a class="reference external"
href="https://github.com/apache/airflow/blob/3.1.7/Dockerfile">Dockerfile</a>
for the latest version.</p></li>
<li><p>Research if the vulnerability affects you or not. Even if there is a
dependency with high or critical
vulnerability, it does not mean that it can be exploited in Airflow (or
specifically in the way you are
using Airflow). If you do have a reproducible scenario how a vulnerability can
be exploited in Airflow, you should -
diff --git a/docs-archive/docker-stack/objects.inv
b/docs-archive/docker-stack/objects.inv
index d7ecd979b83..e6f139c7833 100644
Binary files a/docs-archive/docker-stack/objects.inv and
b/docs-archive/docker-stack/objects.inv differ
diff --git a/docs-archive/docker-stack/output-build-docker-stack.log
b/docs-archive/docker-stack/output-build-docker-stack.log
index ba9665d6790..6d159605472 100644
--- a/docs-archive/docker-stack/output-build-docker-stack.log
+++ b/docs-archive/docker-stack/output-build-docker-stack.log
@@ -1,5 +1,12 @@
[01mRunning Sphinx v8.1.3[39;49;00m
+2026-02-28T18:13:44.036164Z [info ] setup plugin
alembic.autogenerate.schemas [alembic.runtime.plugins] loc=plugins.py:37
+2026-02-28T18:13:44.036340Z [info ] setup plugin
alembic.autogenerate.tables [alembic.runtime.plugins] loc=plugins.py:37
+2026-02-28T18:13:44.036435Z [info ] setup plugin
alembic.autogenerate.types [alembic.runtime.plugins] loc=plugins.py:37
+2026-02-28T18:13:44.036525Z [info ] setup plugin
alembic.autogenerate.constraints [alembic.runtime.plugins] loc=plugins.py:37
+2026-02-28T18:13:44.036612Z [info ] setup plugin
alembic.autogenerate.defaults [alembic.runtime.plugins] loc=plugins.py:37
+2026-02-28T18:13:44.036701Z [info ] setup plugin
alembic.autogenerate.comments [alembic.runtime.plugins] loc=plugins.py:37
[01mloading translations [en]... [39;49;00mdone
+/usr/python/lib/python3.10/site-packages/requests/__init__.py:113
RequestsDependencyWarning: urllib3 (2.6.3) or chardet
(6.0.0.post1)/charset_normalizer (3.4.4) doesn't match a supported version!
Initializing Spelling Checker 8.0.2
loading intersphinx inventory 'boto3' from
/opt/airflow/generated/_inventory_cache/boto3/objects.inv ...
loading intersphinx inventory 'celery' from
/opt/airflow/generated/_inventory_cache/celery/objects.inv ...
@@ -14,7 +21,6 @@ loading intersphinx inventory 'sqlalchemy' from
/opt/airflow/generated/_inventor
loading intersphinx inventory 'apache-airflow-providers-airbyte' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-airbyte/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-alibaba' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-alibaba/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-amazon' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-amazon/objects.inv
...
-loading intersphinx inventory 'apache-airflow-providers-apache-beam' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-apache-beam/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-apache-cassandra' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-apache-cassandra/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-apache-drill' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-apache-drill/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-apache-druid' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-apache-druid/objects.inv
...
@@ -38,7 +44,6 @@ loading intersphinx inventory
'apache-airflow-providers-celery' from /opt/airflo
loading intersphinx inventory 'apache-airflow-providers-cloudant' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-cloudant/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-cncf-kubernetes' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-cncf-kubernetes/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-cohere' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-cohere/objects.inv
...
-loading intersphinx inventory 'apache-airflow-providers-common-ai' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-common-ai/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-common-compat' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-common-compat/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-common-io' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-common-io/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-common-messaging' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-common-messaging/objects.inv
...
@@ -63,7 +68,6 @@ loading intersphinx inventory
'apache-airflow-providers-hashicorp' from /opt/air
loading intersphinx inventory 'apache-airflow-providers-http' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-http/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-imap' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-imap/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-influxdb' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-influxdb/objects.inv
...
-loading intersphinx inventory 'apache-airflow-providers-informatica' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-informatica/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-jdbc' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-jdbc/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-jenkins' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-jenkins/objects.inv
...
loading intersphinx inventory 'apache-airflow-providers-keycloak' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-keycloak/objects.inv
...
@@ -167,8 +171,8 @@ sphinx.errors.PycodeError: error importing
'docker-examples.extending.embedding-
[01mpreparing documents... [39;49;00mdone
[01mcopying assets... [39;49;00m
[01mcopying static files... [39;49;00m
-Writing evaluated template result to
/opt/airflow/generated/_build/docs/docker-stack/_static/language_data.js
Writing evaluated template result to
/opt/airflow/generated/_build/docs/docker-stack/_static/basic.css
+Writing evaluated template result to
/opt/airflow/generated/_build/docs/docker-stack/_static/language_data.js
Writing evaluated template result to
/opt/airflow/generated/_build/docs/docker-stack/_static/documentation_options.js
Writing evaluated template result to
/opt/airflow/generated/_build/docs/docker-stack/_static/copybutton.js
[01mcopying static files: [39;49;00mdone
@@ -190,11 +194,11 @@ Writing evaluated template result to
/opt/airflow/generated/_build/docs/docker-s
[01mdumping search index in English (code: en)... [39;49;00mdone
[01mdumping object inventory... [39;49;00mdone
-2026-02-23T22:39:06.867971Z [info ] Adding content weights to HTML
files... [sphinx_exts.pagefind_search.builder] loc=builder.py:94
-2026-02-23T22:39:06.875898Z [info ] Added content weights to 9 files
[sphinx_exts.pagefind_search.builder] loc=builder.py:99
-2026-02-23T22:39:06.876092Z [info ] Building Pagefind search index...
[sphinx_exts.pagefind_search.builder] loc=builder.py:111
-2026-02-23T22:39:07.083548Z [info ] Pagefind indexed 9 pages
[sphinx_exts.pagefind_search.builder] loc=builder.py:165
-2026-02-23T22:39:07.187809Z [info ] ✓ Pagefind index created with 9 pages
[sphinx_exts.pagefind_search.builder] loc=builder.py:197
+2026-02-28T18:13:50.956241Z [info ] Adding content weights to HTML
files... [sphinx_exts.pagefind_search.builder] loc=builder.py:93
+2026-02-28T18:13:50.963658Z [info ] Added content weights to 9 files
[sphinx_exts.pagefind_search.builder] loc=builder.py:98
+2026-02-28T18:13:50.963808Z [info ] Building Pagefind search index...
[sphinx_exts.pagefind_search.builder] loc=builder.py:110
+2026-02-28T18:13:51.172487Z [info ] Pagefind indexed 9 pages
[sphinx_exts.pagefind_search.builder] loc=builder.py:159
+2026-02-28T18:13:51.274870Z [info ] ✓ Pagefind index created with 9 pages
[sphinx_exts.pagefind_search.builder] loc=builder.py:191
[01mbuild succeeded.[39;49;00m
The HTML pages are in generated/_build/docs/docker-stack.
diff --git a/docs-archive/docker-stack/recipes.html
b/docs-archive/docker-stack/recipes.html
index c4affd386dc..a4b1dc07cc7 100644
--- a/docs-archive/docker-stack/recipes.html
+++ b/docs-archive/docker-stack/recipes.html
@@ -916,7 +916,7 @@ Below are the steps to take tools that are frequently used
in Hadoop-world:</p>
</section>
<section id="apache-beam-go-stack-installation">
<h2>Apache Beam Go Stack installation<a class="headerlink"
href="#apache-beam-go-stack-installation" title="Link to this
heading">¶</a></h2>
-<p>To be able to run Beam Go Pipeline with the <a class="reference external"
href="/docs/apache-airflow-providers-apache-beam/stable/_api/airflow/providers/apache/beam/operators/beam/index.html#airflow.providers.apache.beam.operators.beam.BeamRunGoPipelineOperator"
title="(in apache-airflow-providers-apache-beam v6.2.2)"><code class="xref py
py-class docutils literal notranslate"><span
class="pre">BeamRunGoPipelineOperator</span></code></a>,
+<p>To be able to run Beam Go Pipeline with the <code class="xref py py-class
docutils literal notranslate"><span
class="pre">BeamRunGoPipelineOperator</span></code>,
you will need Go in your container. Install Airflow with <code class="docutils
literal notranslate"><span
class="pre">apache-airflow-providers-google>=6.5.0</span></code> and <code
class="docutils literal notranslate"><span
class="pre">apache-airflow-providers-apache-beam>=3.2.0</span></code></p>
<p>Create a new Dockerfile like the one shown below.</p>
<div class="example-block-wrapper compound">
diff --git a/docs-archive/docker-stack/searchindex.js
b/docs-archive/docker-stack/searchindex.js
index bff6df2535e..da00b6f2a4a 100644
--- a/docs-archive/docker-stack/searchindex.js
+++ b/docs-archive/docker-stack/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"Add Airflow configuration with environment
variables": [[0, "add-airflow-configuration-with-environment-variables"]],
"Adding custom image behaviour": [[3, "adding-custom-image-behaviour"]],
"Adding new PyPI packages individually": [[0,
"adding-new-pypi-packages-individually"]], "Adding new apt package": [[0,
"adding-new-apt-package"]], "Adding packages from requirements.txt": [[0,
"adding-packages-from-requirements-txt"]], "Additional quick test options":
[...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"Add Airflow configuration with environment
variables": [[0, "add-airflow-configuration-with-environment-variables"]],
"Adding custom image behaviour": [[3, "adding-custom-image-behaviour"]],
"Adding new PyPI packages individually": [[0,
"adding-new-pypi-packages-individually"]], "Adding new apt package": [[0,
"adding-new-apt-package"]], "Adding packages from requirements.txt": [[0,
"adding-packages-from-requirements-txt"]], "Additional quick test options":
[...]
\ No newline at end of file