This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow-site-archive.git
The following commit(s) were added to refs/heads/main by this push:
new 5acfee1901 Sync S3 to GitHub
5acfee1901 is described below
commit 5acfee1901450ab8d1285f8e3155ec061feb3693
Author: GitHub Actions <[email protected]>
AuthorDate: Tue Jun 24 08:53:40 2025 +0000
Sync S3 to GitHub
---
docs-archive/docker-stack/_modules/index.html | 2 +-
.../docker-stack/_sources/build-arg-ref.rst.txt | 4 +-
docs-archive/docker-stack/_sources/build.rst.txt | 42 +++++------
.../docker-stack/_sources/changelog.rst.txt | 14 ++++
.../docker-stack/_sources/entrypoint.rst.txt | 14 ++--
docs-archive/docker-stack/_sources/index.rst.txt | 4 +-
docs-archive/docker-stack/_sources/recipes.rst.txt | 2 +-
docs-archive/docker-stack/_static/custom.css | 17 ++++-
docs-archive/docker-stack/build-arg-ref.html | 10 +--
docs-archive/docker-stack/build.html | 88 +++++++++++-----------
docs-archive/docker-stack/changelog.html | 45 +++++++++--
docs-archive/docker-stack/entrypoint.html | 16 ++--
docs-archive/docker-stack/genindex.html | 2 +-
docs-archive/docker-stack/index.html | 22 +++---
.../docker-stack/output-build-docker-stack.log | 4 +-
docs-archive/docker-stack/recipes.html | 8 +-
docs-archive/docker-stack/search.html | 2 +-
docs-archive/docker-stack/searchindex.js | 2 +-
18 files changed, 181 insertions(+), 117 deletions(-)
diff --git a/docs-archive/docker-stack/_modules/index.html
b/docs-archive/docker-stack/_modules/index.html
index 75d5b5868e..7e9fa1041d 100644
--- a/docs-archive/docker-stack/_modules/index.html
+++ b/docs-archive/docker-stack/_modules/index.html
@@ -16,7 +16,7 @@
<link rel="stylesheet" type="text/css"
href="../_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css"
href="../_static/_gen/css/main-custom.min.css?v=24ed3fb0" />
<link rel="stylesheet" type="text/css"
href="../_static/sphinx-design.min.css?v=95c83b7e" />
- <link rel="stylesheet" type="text/css"
href="../_static/custom.css?v=101b2490" />
+ <link rel="stylesheet" type="text/css"
href="../_static/custom.css?v=957f1c83" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
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 0e3a444b84..776d50d280 100644
--- a/docs-archive/docker-stack/_sources/build-arg-ref.rst.txt
+++ b/docs-archive/docker-stack/_sources/build-arg-ref.rst.txt
@@ -34,11 +34,11 @@ Those are the most common arguments that you use when you
want to build a custom
+------------------------------------------+------------------------------------------+---------------------------------------------+
| ``AIRFLOW_VERSION`` | :subst-code:`|airflow-version|`
| version of Airflow. |
+------------------------------------------+------------------------------------------+---------------------------------------------+
-| ``AIRFLOW_EXTRAS`` | (see below the table)
| Default extras with which airflow is |
+| ``AIRFLOW_EXTRAS`` | (see below the table)
| Default extras with which Airflow is |
| |
| installed. |
+------------------------------------------+------------------------------------------+---------------------------------------------+
| ``ADDITIONAL_AIRFLOW_EXTRAS`` |
| Optional additional extras with which |
-| |
| airflow is installed. |
+| |
| Airflow is installed. |
+------------------------------------------+------------------------------------------+---------------------------------------------+
| ``AIRFLOW_HOME`` | ``/opt/airflow``
| Airflow's HOME (that's where logs and |
| |
| SQLite databases are stored). |
diff --git a/docs-archive/docker-stack/_sources/build.rst.txt
b/docs-archive/docker-stack/_sources/build.rst.txt
index 74d75d699d..2876cbe319 100644
--- a/docs-archive/docker-stack/_sources/build.rst.txt
+++ b/docs-archive/docker-stack/_sources/build.rst.txt
@@ -63,7 +63,7 @@ as ``root`` will fail with an appropriate error message.
your new packages have conflicting dependencies, ``pip`` might decide to
downgrade or upgrade
apache-airflow for you, so adding it explicitly is a good practice - this
way if you have conflicting
requirements, you will get an error message with conflict information,
rather than a surprise
- downgrade or upgrade of airflow. If you upgrade airflow base image, you
should also update the version
+ downgrade or upgrade of airflow. If you upgrade Airflow base image, you
should also update the version
to match the new version of airflow.
.. note::
@@ -93,7 +93,7 @@ Note that similarly when adding individual packages, you need
to use the ``airfl
your new packages have conflicting dependencies, ``pip`` might decide to
downgrade or upgrade
apache-airflow for you, so adding it explicitly is a good practice - this
way if you have conflicting
requirements, you will get an error message with conflict information,
rather than a surprise
- downgrade or upgrade of airflow. If you upgrade airflow base image, you
should also update the version
+ downgrade or upgrade of airflow. If you upgrade Airflow base image, you
should also update the version
to match the new version of airflow.
@@ -125,7 +125,7 @@ The following example adds ``test_dag.py`` to your image in
the ``/opt/airflow/d
Add Airflow configuration with environment variables
....................................................
-The following example adds airflow configuration to the image. ``airflow.cfg``
file in
+The following example adds Airflow configuration to the image. ``airflow.cfg``
file in
``$AIRFLOW_HOME`` directory contains Airflow's configuration. You can set
options with environment variables for those Airflow's configuration by using
this format:
:envvar:`AIRFLOW__{SECTION}__{KEY}` (note the double underscores).
@@ -155,7 +155,7 @@ Here is the comparison of the two approaches:
+----------------------------------------------------+-----------+-------------+
| Produces image heavily optimized for size | No | Yes
|
+----------------------------------------------------+-----------+-------------+
-| Can build from custom airflow sources (forks) | No | Yes
|
+| Can build from custom Airflow sources (forks) | No | Yes
|
+----------------------------------------------------+-----------+-------------+
| Can build on air-gapped system | No | Yes
|
+----------------------------------------------------+-----------+-------------+
@@ -234,7 +234,7 @@ In the simplest case building your image consists of those
steps:
3) [Optional] Test the image. Airflow contains tool that allows you to test
the image. This step, however,
requires locally checked out or extracted Airflow sources. If you happen to
have the sources you can
- test the image by running this command (in airflow root folder). The output
will tell you if the image
+ test the image by running this command (in Airflow root folder). The output
will tell you if the image
is "good-to-go".
.. code-block:: shell
@@ -316,9 +316,9 @@ Naming conventions for the images:
+----------------+-----------------------+---------------------------------+--------------------------------------+
| Image | Python | Standard image |
Slim image |
+================+=======================+=================================+======================================+
-| Latest default | 3.9 | apache/airflow:latest |
apache/airflow:slim-latest |
+| Latest default | 3.12 | apache/airflow:latest |
apache/airflow:slim-latest |
+----------------+-----------------------+---------------------------------+--------------------------------------+
-| Default | 3.9 | apache/airflow:X.Y.Z |
apache/airflow:slim-X.Y.Z |
+| Default | 3.12 | apache/airflow:X.Y.Z |
apache/airflow:slim-X.Y.Z |
+----------------+-----------------------+---------------------------------+--------------------------------------+
| Latest | 3.9,3.10,3.11,3.12 | apache/airflow:latest-pythonN.M |
apache/airflow:slim-latest-pythonN.M |
+----------------+-----------------------+---------------------------------+--------------------------------------+
@@ -336,7 +336,7 @@ Important notes for the base images
You should be aware, about a few things
-* The production image of airflow uses "airflow" user, so if you want to add
some of the tools
+* The production image of Airflow uses "airflow" user, so if you want to add
some of the tools
as ``root`` user, you need to switch to it with ``USER`` directive of the
Dockerfile and switch back to
``airflow`` user when you are done. Also you should remember about following
the
`best practices of Dockerfiles
<https://docs.docker.com/develop/develop-images/dockerfile_best-practices/>`_
@@ -352,7 +352,7 @@ You should be aware, about a few things
* The PyPI dependencies in Apache Airflow are installed in the ``~/.local``
virtualenv, of the "airflow" user,
so PIP packages are installed to ``~/.local`` folder as if the ``--user``
flag was specified when running
PIP. This has the effect that when you create a virtualenv with
``--system-site-packages`` flag, the
- virtualenv created will automatically have all the same packages installed
as local airflow installation.
+ virtualenv created will automatically have all the same packages installed
as local Airflow installation.
Note also that using ``--no-cache-dir`` in ``pip`` or ``--no-cache`` in
``uv`` is a good idea that can
help to make your image smaller.
@@ -407,7 +407,7 @@ python package from PyPI.
Example of adding ``apt`` package
.................................
-The following example adds ``vim`` to the airflow image.
+The following example adds ``vim`` to the Airflow image.
.. exampleinclude:: docker-examples/extending/add-apt-packages/Dockerfile
:language: Dockerfile
@@ -465,7 +465,7 @@ Note that similarly when adding individual packages, you
need to use the ``airfl
your new packages have conflicting dependencies, ``pip`` might decide to
downgrade or upgrade
apache-airflow for you, so adding it explicitly is a good practice - this
way if you have conflicting
requirements, you will get an error message with conflict information,
rather than a surprise
- downgrade or upgrade of airflow. If you upgrade airflow base image, you
should also update the version
+ downgrade or upgrade of airflow. If you upgrade Airflow base image, you
should also update the version
to match the new version of airflow.
.. exampleinclude::
docker-examples/extending/add-requirement-packages/Dockerfile
@@ -518,10 +518,10 @@ The following example adds ``test_dag.py`` to your image
in the ``/opt/airflow/d
:start-after: [START dag]
:end-before: [END dag]
-Example of changing airflow configuration using environment variables
+Example of changing Airflow configuration using environment variables
.....................................................................
-The following example adds airflow configuration changes to the airflow image.
+The following example adds Airflow configuration changes to the Airflow image.
.. exampleinclude::
docker-examples/extending/add-airflow-configuration/Dockerfile
:language: Dockerfile
@@ -595,7 +595,7 @@ When customizing the image you can choose a number of
options how you install Ai
* From locally stored binary packages for Airflow, Airflow Providers and other
dependencies. This is
particularly useful if you want to build Airflow in a highly-secure
environment where all such packages
must be vetted by your security team and stored in your private artifact
registry. This also
- allows to build airflow image in an air-gaped environment.
+ allows to build Airflow image in an air-gaped environment.
* Side note. Building ``Airflow`` in an ``air-gaped`` environment sounds
pretty funny, doesn't it?
You can also add a range of customizations while building the image:
@@ -614,7 +614,7 @@ that it can be predictably installed, even if some new
versions of Airflow depen
released (or even dependencies of our dependencies!). The docker image and
accompanying scripts
usually determine automatically the right versions of constraints to be used
based on the Airflow
version installed and Python version. For example 2.0.2 version of Airflow
installed from PyPI
-uses constraints from ``constraints-2.0.2`` tag). However, in some cases -
when installing airflow from
+uses constraints from ``constraints-2.0.2`` tag). However, in some cases -
when installing Airflow from
GitHub for example - you have to manually specify the version of constraints
used, otherwise
it will default to the latest version of the constraints which might not be
compatible with the
version of Airflow you use.
@@ -655,7 +655,7 @@ You can use ``docker-context-files`` for the following
purposes:
your new packages have conflicting dependencies, ``pip`` might decide to
downgrade or upgrade
apache-airflow for you, so adding it explicitly is a good practice - this
way if you have conflicting
requirements, you will get an error message with conflict information,
rather than a surprise
- downgrade or upgrade of airflow. If you upgrade airflow base image, you
should also update the version
+ downgrade or upgrade of airflow. If you upgrade Airflow base image, you
should also update the version
to match the new version of airflow.
@@ -730,7 +730,7 @@ package. The ``2.3.0`` constraints are used automatically.
:start-after: [START build]
:end-before: [END build]
-The following example builds the production image in version ``3.9`` with
additional airflow extras
+The following example builds the production image in version ``3.9`` with
additional Airflow extras
(``mssql,hdfs``) from ``2.3.0`` PyPI package, and additional dependency
(``oauth2client``).
.. exampleinclude:: docker-examples/customizing/pypi-extras-and-deps.sh
@@ -757,7 +757,7 @@ have more complex dependencies to build.
Building optimized images
.........................
-The following example builds the production image in version ``3.9`` with
additional airflow extras from
+The following example builds the production image in version ``3.9`` with
additional Airflow extras from
PyPI package but it includes additional apt dev and runtime dependencies.
The dev dependencies are those that require ``build-essential`` and usually
need to involve recompiling
@@ -871,7 +871,7 @@ Note, that those customizations are only available in the
``build`` segment of t
are not present in the ``final`` image. If you wish to extend the final image
and add custom ``.piprc`` and
``pip.conf``, you should add them in your own Dockerfile used to extend the
Airflow image.
-Such customizations are independent of the way how airflow is installed.
+Such customizations are independent of the way how Airflow is installed.
.. note::
Similar results could be achieved by modifying the Dockerfile manually (see
below) and injecting the
@@ -883,7 +883,7 @@ Such customizations are independent of the way how airflow
is installed.
The following - rather complex - example shows capabilities of:
-* Adding airflow extras (slack, odbc)
+* Adding Airflow extras (slack, odbc)
* Adding PyPI dependencies (``azure-storage-blob, oauth2client,
beautifulsoup4, dateparser, rocketchat_API,typeform``)
* Adding custom environment variables while installing ``apt`` dependencies -
both DEV and RUNTIME
(``ACCEPT_EULA=Y'``)
@@ -914,7 +914,7 @@ installation as it is using external installation method.
Note that as a prerequisite - you need to have downloaded wheel files. In the
example below we
first download such constraint file locally and then use ``pip download`` to
get the ``.whl`` files needed
but in most likely scenario, those wheel files should be copied from an
internal repository of such .whl
-files. Note that ``AIRFLOW_VERSION_SPECIFICATION`` is only there for
reference, the apache airflow ``.whl`` file
+files. Note that ``AIRFLOW_VERSION_SPECIFICATION`` is only there for
reference, the Apache Airflow ``.whl`` file
in the right version is part of the ``.whl`` files downloaded.
Note that 'pip download' will only works on Linux host as some of the packages
need to be compiled from
diff --git a/docs-archive/docker-stack/_sources/changelog.rst.txt
b/docs-archive/docker-stack/_sources/changelog.rst.txt
index 6c5dfa7866..3c573e5c3e 100644
--- a/docs-archive/docker-stack/_sources/changelog.rst.txt
+++ b/docs-archive/docker-stack/_sources/changelog.rst.txt
@@ -34,6 +34,11 @@ the Airflow team.
any Airflow version from the ``Airflow 2`` line. There is no guarantee
that it will work, but if it does,
then you can use latest features from that image to build images for
previous Airflow versions.
+Airflow 3.0.3
+~~~~~~~~~~~~~
+
+ * The ``git`` binary was added to the image by default which is needed for
the git provider to work.
+
Airflow 3.0.1
~~~~~~~~~~~~~
@@ -323,6 +328,15 @@ here so that users affected can find the reason for the
changes.
+--------------+---------------------+-----------------------------------------+------------------------+------------------------------------------------+
| Date | Affected images | Potentially breaking change
| Reason | Link to Pull Request / Issue |
+==============+=====================+=========================================+========================+================================================+
+| 24 Jun 2025 | 3.0.2 | * The ``fab`` provider
| FAB provider user | https://github.com/apache/airflow/issues/51854 |
+| | | upgraded from 2.2.0 to 2.2.1
| creation did not work | |
+| | |
| | |
+| | | * ``common.messaging`` provider
| importing SQS message | https://github.com/apache/airflow/issues/51770 |
+| | | upgraded from 1.0.2 to 1.0.3
| failed with circular | |
+| | |
| import | |
+| | |
| | |
+| | | * git binary is added to the image
| git bundle need it | https://github.com/apache/airflow/pull/51580 |
++--------------+---------------------+-----------------------------------------+------------------------+------------------------------------------------+
| 02 Aug 2024 | 2.9.3 | * The ``apache-airflow-providers-fab``
| FAB provider logout | https://github.com/apache/airflow/issues/40922 |
| | | upgraded from 1.2.1 to 1.2.2
| did not work for 2.9.3 | |
+--------------+---------------------+-----------------------------------------+------------------------+------------------------------------------------+
diff --git a/docs-archive/docker-stack/_sources/entrypoint.rst.txt
b/docs-archive/docker-stack/_sources/entrypoint.rst.txt
index 6d274d5f4a..311ae098bb 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.0.2-python3.9 bash -c "ls -la"
+ docker run -it apache/airflow:3.1.0-python3.9 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.0.2-python3.9 python -c "print('test')"
+ > docker run -it apache/airflow:3.1.0-python3.9 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.0.2-python3.9 airflow webserver
+ docker run -it apache/airflow:3.1.0-python3.9 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.0.2-python3.9 help
+ > docker run -it apache/airflow:3.1.0-python3.9 help
usage: airflow [-h] GROUP_OR_COMMAND ...
positional arguments:
@@ -363,7 +363,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.0.2-python3.9 webserver
+ apache/airflow:3.1.0-python3.9 webserver
.. code-block:: bash
@@ -372,7 +372,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.0.2-python3.9 webserver
+ apache/airflow:3.1.0-python3.9 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.
@@ -412,6 +412,6 @@ Example:
--env "_AIRFLOW_DB_MIGRATE=true" \
--env "_AIRFLOW_WWW_USER_CREATE=true" \
--env "_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin" \
- apache/airflow:3.0.2-python3.9 webserver
+ apache/airflow:3.1.0-python3.9 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 5b8908e520..025bbdc800 100644
--- a/docs-archive/docker-stack/_sources/index.rst.txt
+++ b/docs-archive/docker-stack/_sources/index.rst.txt
@@ -60,7 +60,7 @@ You can find the following images there (Assuming Airflow
version :subst-code:`|
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,
-You can also use "slim" images that contain only core airflow and are about
half the size of the "regular" images
+You can also use "slim" images that contain only core Airflow and are about
half the size of the "regular" images
but you need to add all the :doc:`apache-airflow:extra-packages-ref` and
providers that you need separately
via :ref:`Building the image <build:build_image>`.
@@ -150,7 +150,7 @@ You have four options:
3. If the base platform we use (currently Debian Bookworm) does not contain
the latest versions you want
and you want to use other base images, you can take a look at what system
dependencies are installed
- and scripts in the latest ``Dockerfile`` of airflow and take inspiration
from it and build your own image
+ and scripts in the latest ``Dockerfile`` of Airflow and take inspiration
from it and build your own image
or copy it and modify it to your needs. See the
`Dockerfile
<https://github.com/apache/airflow/blob/|airflow-version|/Dockerfile>`__ for
the latest version.
diff --git a/docs-archive/docker-stack/_sources/recipes.rst.txt
b/docs-archive/docker-stack/_sources/recipes.rst.txt
index 7666fa892f..1ff87fb944 100644
--- a/docs-archive/docker-stack/_sources/recipes.rst.txt
+++ b/docs-archive/docker-stack/_sources/recipes.rst.txt
@@ -74,7 +74,7 @@ Apache Beam Go Stack installation
---------------------------------
To be able to run Beam Go Pipeline with the
:class:`~airflow.providers.apache.beam.operators.beam.BeamRunGoPipelineOperator`,
-you will need Go in your container. Install airflow with
``apache-airflow-providers-google>=6.5.0`` and
``apache-airflow-providers-apache-beam>=3.2.0``
+you will need Go in your container. Install Airflow with
``apache-airflow-providers-google>=6.5.0`` and
``apache-airflow-providers-apache-beam>=3.2.0``
Create a new Dockerfile like the one shown below.
diff --git a/docs-archive/docker-stack/_static/custom.css
b/docs-archive/docker-stack/_static/custom.css
index 70356c06a9..9671e47b2a 100644
--- a/docs-archive/docker-stack/_static/custom.css
+++ b/docs-archive/docker-stack/_static/custom.css
@@ -45,7 +45,7 @@ div.admonition.warning {
/* Needs to be cleaned in a follow-up to source this from the origin style in
*/
/*
https://github.com/apache/airflow-site/blob/main/landing-pages/site/assets/scss/_rst-content.scss
*/
.base-layout {
- padding-top: 123px !important;
+ padding-top: 163px !important; /* banner + navbar + 2px padding */
}
section {
@@ -66,3 +66,18 @@ a.headerlink::after {
content: " [link]" !important; /* Theme image not existing */
visibility: visible !important;
}
+
+/* compensate for sticky headers for anchored links */
+:target::before {
+ content: "";
+ display: block;
+ height: 161px; /* 40px banner + 121px navbar */
+ margin: -161px 0 0; /* negative fixed header height */
+}
+
+@media (max-width: 1280px) {
+ :target::before {
+ height: 117px; /* 40px banner + 77px mobile navbar */
+ margin: -117px 0 0; /* negative fixed header height */
+ }
+}
diff --git a/docs-archive/docker-stack/build-arg-ref.html
b/docs-archive/docker-stack/build-arg-ref.html
index 7b7cebd90d..1d2c646a95 100644
--- a/docs-archive/docker-stack/build-arg-ref.html
+++ b/docs-archive/docker-stack/build-arg-ref.html
@@ -17,7 +17,7 @@
<link rel="stylesheet" type="text/css"
href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css"
href="_static/_gen/css/main-custom.min.css?v=24ed3fb0" />
<link rel="stylesheet" type="text/css"
href="_static/sphinx-design.min.css?v=95c83b7e" />
- <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=101b2490" />
+ <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=957f1c83" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="prev" title="Recipes" href="recipes.html" />
@@ -611,18 +611,18 @@ Those arguments are used when you want to customize the
image. You can see some
<td><p>Base python image.</p></td>
</tr>
<tr class="row-odd"><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.0.2</span></code></p></td>
+<td><p><code class="code docutils literal notranslate"><span
class="pre">3.1.0</span></code></p></td>
<td><p>version of Airflow.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">AIRFLOW_EXTRAS</span></code></p></td>
<td><p>(see below the table)</p></td>
-<td><p>Default extras with which airflow is
+<td><p>Default extras with which Airflow is
installed.</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">ADDITIONAL_AIRFLOW_EXTRAS</span></code></p></td>
<td></td>
<td><p>Optional additional extras with which
-airflow is installed.</p></td>
+Airflow is installed.</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">AIRFLOW_HOME</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span
class="pre">/opt/airflow</span></code></p></td>
@@ -680,7 +680,7 @@ It can be <code class="docutils literal notranslate"><span
class="pre">constrain
2.0.* 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.0.2</span></code>.
+<code class="code docutils literal notranslate"><span
class="pre">constraints-3.1.0</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 7f059b1e18..8ca3057680 100644
--- a/docs-archive/docker-stack/build.html
+++ b/docs-archive/docker-stack/build.html
@@ -17,7 +17,7 @@
<link rel="stylesheet" type="text/css"
href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css"
href="_static/_gen/css/main-custom.min.css?v=24ed3fb0" />
<link rel="stylesheet" type="text/css"
href="_static/sphinx-design.min.css?v=95c83b7e" />
- <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=101b2490" />
+ <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=957f1c83" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Entrypoint" href="entrypoint.html" />
@@ -362,7 +362,7 @@
<li class="toctree-l3"><a class="reference internal"
href="#example-when-writable-directory-is-needed">Example when writable
directory is needed</a></li>
<li class="toctree-l3"><a class="reference internal"
href="#example-when-you-add-packages-requiring-compilation">Example when you
add packages requiring compilation</a></li>
<li class="toctree-l3"><a class="reference internal"
href="#example-when-you-want-to-embed-dags">Example when you want to embed
dags</a></li>
-<li class="toctree-l3"><a class="reference internal"
href="#example-of-changing-airflow-configuration-using-environment-variables">Example
of changing airflow configuration using environment variables</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="#example-of-changing-airflow-configuration-using-environment-variables">Example
of changing Airflow configuration using environment variables</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal"
href="#customizing-the-image">Customizing the image</a></li>
@@ -547,7 +547,7 @@
<li class="toctree-l3"><a class="reference internal"
href="#example-when-writable-directory-is-needed">Example when writable
directory is needed</a></li>
<li class="toctree-l3"><a class="reference internal"
href="#example-when-you-add-packages-requiring-compilation">Example when you
add packages requiring compilation</a></li>
<li class="toctree-l3"><a class="reference internal"
href="#example-when-you-want-to-embed-dags">Example when you want to embed
dags</a></li>
-<li class="toctree-l3"><a class="reference internal"
href="#example-of-changing-airflow-configuration-using-environment-variables">Example
of changing airflow configuration using environment variables</a></li>
+<li class="toctree-l3"><a class="reference internal"
href="#example-of-changing-airflow-configuration-using-environment-variables">Example
of changing Airflow configuration using environment variables</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal"
href="#customizing-the-image">Customizing the image</a></li>
@@ -701,7 +701,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.0.2</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.0</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>
@@ -728,7 +728,7 @@ be sure that the version you are using is the same as the
one you are extending.
your new packages have conflicting dependencies, <code class="docutils literal
notranslate"><span class="pre">pip</span></code> might decide to downgrade or
upgrade
apache-airflow for you, so adding it explicitly is a good practice - this way
if you have conflicting
requirements, you will get an error message with conflict information, rather
than a surprise
-downgrade or upgrade of airflow. If you upgrade airflow base image, you should
also update the version
+downgrade or upgrade of airflow. If you upgrade Airflow base image, you should
also update the version
to match the new version of airflow.</p>
</div>
<div class="admonition note">
@@ -741,7 +741,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.0.2</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.0</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>
@@ -761,12 +761,12 @@ be sure that the version you are using is the same as the
one you are extending.
your new packages have conflicting dependencies, <code class="docutils literal
notranslate"><span class="pre">pip</span></code> might decide to downgrade or
upgrade
apache-airflow for you, so adding it explicitly is a good practice - this way
if you have conflicting
requirements, you will get an error message with conflict information, rather
than a surprise
-downgrade or upgrade of airflow. If you upgrade airflow base image, you should
also update the version
+downgrade or upgrade of airflow. If you upgrade Airflow base image, you should
also update the version
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.0.2</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.0</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>
@@ -785,7 +785,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.0.2</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.0</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>
@@ -824,12 +824,12 @@ beautifulsoup4
</section>
<section id="add-airflow-configuration-with-environment-variables">
<h3>Add Airflow configuration with environment variables<a class="headerlink"
href="#add-airflow-configuration-with-environment-variables" title="Link to
this heading">¶</a></h3>
-<p>The following example adds airflow configuration to the image. <code
class="docutils literal notranslate"><span
class="pre">airflow.cfg</span></code> file in
+<p>The following example adds Airflow configuration to the image. <code
class="docutils literal notranslate"><span
class="pre">airflow.cfg</span></code> file in
<code class="docutils literal notranslate"><span
class="pre">$AIRFLOW_HOME</span></code> directory contains Airflow’s
configuration. You can set options with environment variables for those
Airflow’s configuration by using this format:
<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.1.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.0.2</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.0</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>
@@ -866,7 +866,7 @@ for Apache Airflow. This chapter gives you a short answer
to those questions.</p
<td><p>No</p></td>
<td><p>Yes</p></td>
</tr>
-<tr class="row-even"><td><p>Can build from custom airflow sources
(forks)</p></td>
+<tr class="row-even"><td><p>Can build from custom Airflow sources
(forks)</p></td>
<td><p>No</p></td>
<td><p>Yes</p></td>
</tr>
@@ -928,7 +928,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.0.2-python3.9</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.0-python3.9</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">
@@ -939,7 +939,7 @@ like follows (<code class="docutils literal
notranslate"><span class="pre">my-im
In case you use some kind of registry where you will be using the image from,
it is usually named
in the form of <code class="docutils literal notranslate"><span
class="pre">registry/image-name</span></code>. The name of the image has to be
configured for the deployment
method your image will be deployed. This can be set for example as image name
in the
-<a class="reference external"
href="/docs/apache-airflow/stable/howto/docker-compose/index.html" title="(in
apache-airflow v3.1.0)"><span>Running Airflow in Docker</span></a> or in the <a
class="reference external" href="/docs/helm-chart/stable/index.html" title="(in
helm-chart v1.17.0-dev)"><span>Helm Chart for Apache
Airflow</span></a>.</p></li>
+<a class="reference external"
href="/docs/apache-airflow/stable/howto/docker-compose/index.html" title="(in
apache-airflow v3.1.0)"><span>Running Airflow in Docker</span></a> or in the <a
class="reference external" href="/docs/helm-chart/stable/index.html" title="(in
helm-chart v1.17.0)"><span>Helm Chart for Apache Airflow</span></a>.</p></li>
</ol>
<div class="highlight-shell notranslate"><div
class="highlight"><pre><span></span>docker<span class="w"> </span>build<span
class="w"> </span>.<span class="w"> </span>-f<span class="w">
</span>Dockerfile<span class="w"> </span>--pull<span class="w">
</span>--tag<span class="w"> </span>my-image:0.0.1
</pre></div>
@@ -947,7 +947,7 @@ method your image will be deployed. This can be set for
example as image name in
<ol class="arabic simple" start="3">
<li><p>[Optional] Test the image. Airflow contains tool that allows you to
test the image. This step, however,
requires locally checked out or extracted Airflow sources. If you happen to
have the sources you can
-test the image by running this command (in airflow root folder). The output
will tell you if the image
+test the image by running this command (in Airflow root folder). The output
will tell you if the image
is “good-to-go”.</p></li>
</ol>
<div class="highlight-shell notranslate"><div
class="highlight"><pre><span></span>./scripts/ci/tools/verify_docker_image.sh<span
class="w"> </span>PROD<span class="w"> </span>my-image:0.0.1
@@ -1030,12 +1030,12 @@ require different limits for the same dependencies.</p>
</thead>
<tbody>
<tr class="row-even"><td><p>Latest default</p></td>
-<td><p>3.9</p></td>
+<td><p>3.12</p></td>
<td><p>apache/airflow:latest</p></td>
<td><p>apache/airflow:slim-latest</p></td>
</tr>
<tr class="row-odd"><td><p>Default</p></td>
-<td><p>3.9</p></td>
+<td><p>3.12</p></td>
<td><p>apache/airflow:X.Y.Z</p></td>
<td><p>apache/airflow:slim-X.Y.Z</p></td>
</tr>
@@ -1060,7 +1060,7 @@ require different limits for the same dependencies.</p>
<h2>Important notes for the base images<a class="headerlink"
href="#important-notes-for-the-base-images" title="Link to this
heading">¶</a></h2>
<p>You should be aware, about a few things</p>
<ul class="simple">
-<li><p>The production image of airflow uses “airflow” user, so if you want to
add some of the tools
+<li><p>The production image of Airflow uses “airflow” user, so if you want to
add some of the tools
as <code class="docutils literal notranslate"><span
class="pre">root</span></code> user, you need to switch to it with <code
class="docutils literal notranslate"><span class="pre">USER</span></code>
directive of the Dockerfile and switch back to
<code class="docutils literal notranslate"><span
class="pre">airflow</span></code> user when you are done. Also you should
remember about following the
<a class="reference external"
href="https://docs.docker.com/develop/develop-images/dockerfile_best-practices/">best
practices of Dockerfiles</a>
@@ -1074,7 +1074,7 @@ build the image is available in <code class="docutils
literal notranslate"><span
<li><p>The PyPI dependencies in Apache Airflow are installed in the <code
class="docutils literal notranslate"><span class="pre">~/.local</span></code>
virtualenv, of the “airflow” user,
so PIP packages are installed to <code class="docutils literal
notranslate"><span class="pre">~/.local</span></code> folder as if the <code
class="docutils literal notranslate"><span class="pre">--user</span></code>
flag was specified when running
PIP. This has the effect that when you create a virtualenv with <code
class="docutils literal notranslate"><span
class="pre">--system-site-packages</span></code> flag, the
-virtualenv created will automatically have all the same packages installed as
local airflow installation.
+virtualenv created will automatically have all the same packages installed as
local Airflow installation.
Note also that using <code class="docutils literal notranslate"><span
class="pre">--no-cache-dir</span></code> in <code class="docutils literal
notranslate"><span class="pre">pip</span></code> or <code class="docutils
literal notranslate"><span class="pre">--no-cache</span></code> in <code
class="docutils literal notranslate"><span class="pre">uv</span></code> is a
good idea that can
help to make your image smaller.</p></li>
<li><p>If your apt, or PyPI dependencies require some of the <code
class="docutils literal notranslate"><span
class="pre">build-essential</span></code> or other packages that need
@@ -1106,7 +1106,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.0.2</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.0</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>
@@ -1118,7 +1118,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.0.2</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.0</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>
@@ -1135,10 +1135,10 @@ python package from PyPI.</p>
</section>
<section id="example-of-adding-apt-package">
<h3>Example of adding <code class="docutils literal notranslate"><span
class="pre">apt</span></code> package<a class="headerlink"
href="#example-of-adding-apt-package" title="Link to this heading">¶</a></h3>
-<p>The following example adds <code class="docutils literal notranslate"><span
class="pre">vim</span></code> to the airflow image.</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.0.2</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.0</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>
@@ -1156,7 +1156,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.0.2</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.0</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>
@@ -1170,7 +1170,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.0.2</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.0</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>
@@ -1182,7 +1182,7 @@ 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.0.2</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.0</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>
@@ -1206,12 +1206,12 @@ be sure that the version you are using is the same as
the one you are extending.
your new packages have conflicting dependencies, <code class="docutils literal
notranslate"><span class="pre">pip</span></code> might decide to downgrade or
upgrade
apache-airflow for you, so adding it explicitly is a good practice - this way
if you have conflicting
requirements, you will get an error message with conflict information, rather
than a surprise
-downgrade or upgrade of airflow. If you upgrade airflow base image, you should
also update the version
+downgrade or upgrade of airflow. If you upgrade Airflow base image, you should
also update the version
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.0.2</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.0</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>
@@ -1231,7 +1231,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.0.2</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.0</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>
@@ -1243,7 +1243,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.0.2</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.0</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>
@@ -1264,7 +1264,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.0.2</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.0</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>
@@ -1302,11 +1302,11 @@ size of the image in case you use “Customizing” rather
than “Extending”
</div>
</section>
<section
id="example-of-changing-airflow-configuration-using-environment-variables">
-<h3>Example of changing airflow configuration using environment variables<a
class="headerlink"
href="#example-of-changing-airflow-configuration-using-environment-variables"
title="Link to this heading">¶</a></h3>
-<p>The following example adds airflow configuration changes to the airflow
image.</p>
+<h3>Example of changing Airflow configuration using environment variables<a
class="headerlink"
href="#example-of-changing-airflow-configuration-using-environment-variables"
title="Link to this heading">¶</a></h3>
+<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.0.2</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.0</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>
@@ -1340,7 +1340,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.0.2/Dockerfile">from
GitHub</a>. You can save it
+<a class="reference external"
href="https://raw.githubusercontent.com/apache/airflow/3.1.0/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
@@ -1372,7 +1372,7 @@ want to release the custom Airflow version to
PyPI.</p></li>
<li><p>From locally stored binary packages for Airflow, Airflow Providers and
other dependencies. This is
particularly useful if you want to build Airflow in a highly-secure
environment where all such packages
must be vetted by your security team and stored in your private artifact
registry. This also
-allows to build airflow image in an air-gaped environment.</p></li>
+allows to build Airflow image in an air-gaped environment.</p></li>
<li><p>Side note. Building <code class="docutils literal notranslate"><span
class="pre">Airflow</span></code> in an <code class="docutils literal
notranslate"><span class="pre">air-gaped</span></code> environment sounds
pretty funny, doesn’t it?</p></li>
</ul>
<p>You can also add a range of customizations while building the image:</p>
@@ -1391,7 +1391,7 @@ that it can be predictably installed, even if some new
versions of Airflow depen
released (or even dependencies of our dependencies!). The docker image and
accompanying scripts
usually determine automatically the right versions of constraints to be used
based on the Airflow
version installed and Python version. For example 2.0.2 version of Airflow
installed from PyPI
-uses constraints from <code class="docutils literal notranslate"><span
class="pre">constraints-2.0.2</span></code> tag). However, in some cases - when
installing airflow from
+uses constraints from <code class="docutils literal notranslate"><span
class="pre">constraints-2.0.2</span></code> tag). However, in some cases - when
installing Airflow from
GitHub for example - you have to manually specify the version of constraints
used, otherwise
it will default to the latest version of the constraints which might not be
compatible with the
version of Airflow you use.</p>
@@ -1426,7 +1426,7 @@ be sure that the version you are using is the same as the
one you are extending.
your new packages have conflicting dependencies, <code class="docutils literal
notranslate"><span class="pre">pip</span></code> might decide to downgrade or
upgrade
apache-airflow for you, so adding it explicitly is a good practice - this way
if you have conflicting
requirements, you will get an error message with conflict information, rather
than a surprise
-downgrade or upgrade of airflow. If you upgrade airflow base image, you should
also update the version
+downgrade or upgrade of airflow. If you upgrade Airflow base image, you should
also update the version
to match the new version of airflow.</p>
</div>
<div class="example-block-wrapper compound">
@@ -1546,7 +1546,7 @@ docker<span class="w"> </span>build<span class="w">
</span>.<span class="w"> </s
</pre></div>
</div>
</div>
-<p>The following example builds the production image in version <code
class="docutils literal notranslate"><span class="pre">3.9</span></code> with
additional airflow extras
+<p>The following example builds the production image in version <code
class="docutils literal notranslate"><span class="pre">3.9</span></code> with
additional Airflow extras
(<code class="docutils literal notranslate"><span
class="pre">mssql,hdfs</span></code>) from <code class="docutils literal
notranslate"><span class="pre">2.3.0</span></code> PyPI package, and additional
dependency (<code class="docutils literal notranslate"><span
class="pre">oauth2client</span></code>).</p>
<div class="example-block-wrapper compound">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-examples/customizing/pypi-extras-and-deps.sh</span></p>
@@ -1587,7 +1587,7 @@ have more complex dependencies to build.</p>
</section>
<section id="building-optimized-images">
<span id="image-build-optimized"></span><h3>Building optimized images<a
class="headerlink" href="#building-optimized-images" title="Link to this
heading">¶</a></h3>
-<p>The following example builds the production image in version <code
class="docutils literal notranslate"><span class="pre">3.9</span></code> with
additional airflow extras from
+<p>The following example builds the production image in version <code
class="docutils literal notranslate"><span class="pre">3.9</span></code> with
additional Airflow extras from
PyPI package but it includes additional apt dev and runtime dependencies.</p>
<p>The dev dependencies are those that require <code class="docutils literal
notranslate"><span class="pre">build-essential</span></code> and usually need
to involve recompiling
of some python dependencies so those packages might require some additional
DEV dependencies to be
@@ -1724,7 +1724,7 @@ of the <code class="docutils literal notranslate"><span
class="pre">airflow</spa
<p>Note, that those customizations are only available in the <code
class="docutils literal notranslate"><span class="pre">build</span></code>
segment of the Airflow image and they
are not present in the <code class="docutils literal notranslate"><span
class="pre">final</span></code> image. If you wish to extend the final image
and add custom <code class="docutils literal notranslate"><span
class="pre">.piprc</span></code> and
<code class="docutils literal notranslate"><span
class="pre">pip.conf</span></code>, you should add them in your own Dockerfile
used to extend the Airflow image.</p>
-<p>Such customizations are independent of the way how airflow is installed.</p>
+<p>Such customizations are independent of the way how Airflow is installed.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Similar results could be achieved by modifying the Dockerfile manually (see
below) and injecting the
@@ -1736,7 +1736,7 @@ future-proof.</p>
</div>
<p>The following - rather complex - example shows capabilities of:</p>
<ul class="simple">
-<li><p>Adding airflow extras (slack, odbc)</p></li>
+<li><p>Adding Airflow extras (slack, odbc)</p></li>
<li><p>Adding PyPI dependencies (<code class="docutils literal
notranslate"><span class="pre">azure-storage-blob,</span> <span
class="pre">oauth2client,</span> <span class="pre">beautifulsoup4,</span> <span
class="pre">dateparser,</span> <span
class="pre">rocketchat_API,typeform</span></code>)</p></li>
<li><p>Adding custom environment variables while installing <code
class="docutils literal notranslate"><span class="pre">apt</span></code>
dependencies - both DEV and RUNTIME
(<code class="docutils literal notranslate"><span
class="pre">ACCEPT_EULA=Y'</span></code>)</p></li>
@@ -1790,7 +1790,7 @@ installation as it is using external installation
method.</p>
<p>Note that as a prerequisite - you need to have downloaded wheel files. In
the example below we
first download such constraint file locally and then use <code class="docutils
literal notranslate"><span class="pre">pip</span> <span
class="pre">download</span></code> to get the <code class="docutils literal
notranslate"><span class="pre">.whl</span></code> files needed
but in most likely scenario, those wheel files should be copied from an
internal repository of such .whl
-files. Note that <code class="docutils literal notranslate"><span
class="pre">AIRFLOW_VERSION_SPECIFICATION</span></code> is only there for
reference, the apache airflow <code class="docutils literal notranslate"><span
class="pre">.whl</span></code> file
+files. Note that <code class="docutils literal notranslate"><span
class="pre">AIRFLOW_VERSION_SPECIFICATION</span></code> is only there for
reference, the Apache Airflow <code class="docutils literal notranslate"><span
class="pre">.whl</span></code> file
in the right version is part of the <code class="docutils literal
notranslate"><span class="pre">.whl</span></code> files downloaded.</p>
<p>Note that ‘pip download’ will only works on Linux host as some of the
packages need to be compiled from
sources and you cannot install them providing <code class="docutils literal
notranslate"><span class="pre">--platform</span></code> switch. They also need
to be downloaded using
@@ -2030,7 +2030,7 @@ python packages), pip caching has been enabled. The
caching id is based on four
<li><a class="reference internal"
href="#example-when-writable-directory-is-needed">Example when writable
directory is needed</a></li>
<li><a class="reference internal"
href="#example-when-you-add-packages-requiring-compilation">Example when you
add packages requiring compilation</a></li>
<li><a class="reference internal"
href="#example-when-you-want-to-embed-dags">Example when you want to embed
dags</a></li>
-<li><a class="reference internal"
href="#example-of-changing-airflow-configuration-using-environment-variables">Example
of changing airflow configuration using environment variables</a></li>
+<li><a class="reference internal"
href="#example-of-changing-airflow-configuration-using-environment-variables">Example
of changing Airflow configuration using environment variables</a></li>
</ul>
</li>
<li><a class="reference internal" href="#customizing-the-image">Customizing
the image</a></li>
diff --git a/docs-archive/docker-stack/changelog.html
b/docs-archive/docker-stack/changelog.html
index ead72f7f9b..d525180dd0 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/docker-stack/changelog.html
@@ -17,7 +17,7 @@
<link rel="stylesheet" type="text/css"
href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css"
href="_static/_gen/css/main-custom.min.css?v=24ed3fb0" />
<link rel="stylesheet" type="text/css"
href="_static/sphinx-design.min.css?v=95c83b7e" />
- <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=101b2490" />
+ <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=957f1c83" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Recipes" href="recipes.html" />
@@ -337,6 +337,7 @@
<li class="toctree-l1"><a class="reference internal"
href="build.html">Building the image</a></li>
<li class="toctree-l1"><a class="reference internal"
href="entrypoint.html">Entrypoint</a></li>
<li class="toctree-l1 current"><a class="current reference internal"
href="#">Dockerfile Changelog</a><ul>
+<li class="toctree-l2"><a class="reference internal"
href="#airflow-3-0-3">Airflow 3.0.3</a></li>
<li class="toctree-l2"><a class="reference internal"
href="#airflow-3-0-1">Airflow 3.0.1</a></li>
<li class="toctree-l2"><a class="reference internal"
href="#airflow-3-0">Airflow 3.0</a></li>
<li class="toctree-l2"><a class="reference internal"
href="#airflow-2-10">Airflow 2.10</a></li>
@@ -487,6 +488,7 @@
<li class="toctree-l1"><a class="reference internal"
href="build.html">Building the image</a></li>
<li class="toctree-l1"><a class="reference internal"
href="entrypoint.html">Entrypoint</a></li>
<li class="toctree-l1 current"><a class="current reference internal"
href="#">Dockerfile Changelog</a><ul>
+<li class="toctree-l2"><a class="reference internal"
href="#airflow-3-0-3">Airflow 3.0.3</a></li>
<li class="toctree-l2"><a class="reference internal"
href="#airflow-3-0-1">Airflow 3.0.1</a></li>
<li class="toctree-l2"><a class="reference internal"
href="#airflow-3-0">Airflow 3.0</a></li>
<li class="toctree-l2"><a class="reference internal"
href="#airflow-2-10">Airflow 2.10</a></li>
@@ -630,6 +632,14 @@ any Airflow version from the <code class="docutils literal
notranslate"><span cl
then you can use latest features from that image to build images for previous
Airflow versions.</p>
</dd>
</dl>
+<section id="airflow-3-0-3">
+<h2>Airflow 3.0.3<a class="headerlink" href="#airflow-3-0-3" title="Link to
this heading">¶</a></h2>
+<blockquote>
+<div><ul class="simple">
+<li><p>The <code class="docutils literal notranslate"><span
class="pre">git</span></code> binary was added to the image by default which is
needed for the git provider to work.</p></li>
+</ul>
+</div></blockquote>
+</section>
<section id="airflow-3-0-1">
<h2>Airflow 3.0.1<a class="headerlink" href="#airflow-3-0-1" title="Link to
this heading">¶</a></h2>
<blockquote>
@@ -985,7 +995,29 @@ here so that users affected can find the reason for the
changes.</p>
</tr>
</thead>
<tbody>
-<tr class="row-even"><td><p>02 Aug 2024</p></td>
+<tr class="row-even"><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>
+<li><p><code class="docutils literal notranslate"><span
class="pre">common.messaging</span></code> provider
+upgraded from 1.0.2 to 1.0.3</p></li>
+<li><p>git binary is added to the image</p></li>
+</ul>
+</td>
+<td><p>FAB provider user
+creation did not work</p>
+<p>importing SQS message
+failed with circular
+import</p>
+<p>git bundle need it</p>
+</td>
+<td><p><a class="reference external"
href="https://github.com/apache/airflow/issues/51854">https://github.com/apache/airflow/issues/51854</a></p>
+<p><a class="reference external"
href="https://github.com/apache/airflow/issues/51770">https://github.com/apache/airflow/issues/51770</a></p>
+<p><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>
<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>
@@ -996,7 +1028,7 @@ upgraded from 1.2.1 to 1.2.2</p></li>
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-odd"><td><p>12 Mar 2024</p></td>
+<tr class="row-even"><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
@@ -1010,7 +1042,7 @@ changes</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-even"><td><p>16 Dec 2023</p></td>
+<tr class="row-odd"><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>
@@ -1022,7 +1054,7 @@ removed after the
key expiry 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-odd"><td><p>17 June 2022</p></td>
+<tr class="row-even"><td><p>17 June 2022</p></td>
<td><p>2.2.5</p>
<p>2.3.0-2.3.2</p>
</td>
@@ -1036,7 +1068,7 @@ not compatible with
Authlib >= 1.0.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-even"><td><p>18 Jan 2022</p></td>
+<tr class="row-odd"><td><p>18 Jan 2022</p></td>
<td><p>All 2.2.*, 2.1.*</p></td>
<td><ul class="simple">
<li><p>The AIRFLOW_GID 500 was removed</p></li>
@@ -1129,6 +1161,7 @@ on 17 Jan 2022</p></td>
<div class="wy-menu-vertical">
<ul>
<li><a class="reference internal" href="#">Dockerfile Changelog</a><ul>
+<li><a class="reference internal" href="#airflow-3-0-3">Airflow 3.0.3</a></li>
<li><a class="reference internal" href="#airflow-3-0-1">Airflow 3.0.1</a></li>
<li><a class="reference internal" href="#airflow-3-0">Airflow 3.0</a></li>
<li><a class="reference internal" href="#airflow-2-10">Airflow 2.10</a></li>
diff --git a/docs-archive/docker-stack/entrypoint.html
b/docs-archive/docker-stack/entrypoint.html
index 86f83d8fb0..d51bb5c39b 100644
--- a/docs-archive/docker-stack/entrypoint.html
+++ b/docs-archive/docker-stack/entrypoint.html
@@ -17,7 +17,7 @@
<link rel="stylesheet" type="text/css"
href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css"
href="_static/_gen/css/main-custom.min.css?v=24ed3fb0" />
<link rel="stylesheet" type="text/css"
href="_static/sphinx-design.min.css?v=95c83b7e" />
- <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=101b2490" />
+ <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=957f1c83" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Dockerfile Changelog"
href="changelog.html" />
@@ -698,7 +698,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.0.2-python3.9<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.0-python3.9<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>..
@@ -708,17 +708,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.0.2-python3.9<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.0-python3.9<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.0.2-python3.9<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.0-python3.9<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.0.2-python3.9<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.0-python3.9<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:
@@ -923,14 +923,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.0.2-python3.9<span class="w">
</span>webserver
+<span class="w"> </span>apache/airflow:3.1.0-python3.9<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.0.2-python3.9<span class="w">
</span>webserver
+<span class="w"> </span>apache/airflow:3.1.0-python3.9<span class="w">
</span>webserver
</pre></div>
</div>
<p>The commands above perform initialization of the SQLite database, create
admin user with admin password
@@ -968,7 +968,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.0.2-python3.9<span class="w">
</span>webserver
+<span class="w"> </span>apache/airflow:3.1.0-python3.9<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/genindex.html
b/docs-archive/docker-stack/genindex.html
index 5c0625f0ab..52d9fc3afc 100644
--- a/docs-archive/docker-stack/genindex.html
+++ b/docs-archive/docker-stack/genindex.html
@@ -16,7 +16,7 @@
<link rel="stylesheet" type="text/css"
href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css"
href="_static/_gen/css/main-custom.min.css?v=24ed3fb0" />
<link rel="stylesheet" type="text/css"
href="_static/sphinx-design.min.css?v=95c83b7e" />
- <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=101b2490" />
+ <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=957f1c83" />
<link rel="index" title="Index" href="#" />
<link rel="search" title="Search" href="search.html" />
diff --git a/docs-archive/docker-stack/index.html
b/docs-archive/docker-stack/index.html
index 5fca846d79..a34b42a106 100644
--- a/docs-archive/docker-stack/index.html
+++ b/docs-archive/docker-stack/index.html
@@ -17,7 +17,7 @@
<link rel="stylesheet" type="text/css"
href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css"
href="_static/_gen/css/main-custom.min.css?v=24ed3fb0" />
<link rel="stylesheet" type="text/css"
href="_static/sphinx-design.min.css?v=95c83b7e" />
- <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=101b2490" />
+ <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=957f1c83" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Building the image" href="build.html" />
@@ -593,29 +593,29 @@ Every time a new version of Airflow is released, the
images are prepared in the
<a class="reference external"
href="https://hub.docker.com/r/apache/airflow">apache/airflow DockerHub</a>
for all the supported Python versions.</p>
<p>The images we release are multi-platform AMD/ARM images.</p>
-<p>You can find the following images there (Assuming Airflow version <code
class="code docutils literal notranslate"><span
class="pre">3.0.2</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.0</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.0.2</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.0.2-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.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.1.0-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>
-<p>You can also use “slim” images that contain only core airflow and are about
half the size of the “regular” images
+<p>You can also use “slim” images that contain only core Airflow and are about
half the size of the “regular” images
but you need to add all the <a class="reference external"
href="/docs/apache-airflow/stable/extra-packages-ref.html" title="(in
apache-airflow v3.1.0)"><span>Reference for package extras</span></a> and
providers that you need separately
via <a class="reference internal" href="build.html#build-build-image"><span
class="std std-ref">Building the image</span></a>.</p>
<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.0.2</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.0.2-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.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.1.0-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.1.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.0.2/Dockerfile">Dockerfile</a>.</p>
+<a class="reference external"
href="https://github.com/apache/airflow/blob/3.1.0/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,
@@ -680,9 +680,9 @@ This is one of good strategies you can take - build a
process to upgrade your Ai
security fixes in the dependencies.</p></li>
<li><p>If the base platform we use (currently Debian Bookworm) does not
contain the latest versions you want
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
+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.0.2/Dockerfile">Dockerfile</a>
for the latest version.</p></li>
+<a class="reference external"
href="https://github.com/apache/airflow/blob/3.1.0/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 -
@@ -749,7 +749,7 @@ are by default in the <code class="docutils literal
notranslate"><span class="pr
<p>For example commands that start Airflow see: <a class="reference internal"
href="entrypoint.html#entrypoint-commands"><span class="std std-ref">Executing
commands</span></a>.</p>
<p>Airflow requires many components to function as it is a distributed
application. You may therefore also be interested
in launching Airflow in the Docker Compose environment, see: <a
class="reference external"
href="/docs/apache-airflow/stable/howto/docker-compose/index.html" title="(in
apache-airflow v3.1.0)"><span>Running Airflow in Docker</span></a>.</p>
-<p>You can use this image in <a class="reference external"
href="/docs/helm-chart/stable/index.html" title="(in helm-chart
v1.17.0-dev)"><span class="xref std std-doc">Helm Chart</span></a> as well.</p>
+<p>You can use this image in <a class="reference external"
href="/docs/helm-chart/stable/index.html" title="(in helm-chart v1.17.0)"><span
class="xref std std-doc">Helm Chart</span></a> as well.</p>
</section>
diff --git a/docs-archive/docker-stack/output-build-docker-stack.log
b/docs-archive/docker-stack/output-build-docker-stack.log
index 7468ff86d8..1fcf29455a 100644
--- a/docs-archive/docker-stack/output-build-docker-stack.log
+++ b/docs-archive/docker-stack/output-build-docker-stack.log
@@ -29,6 +29,7 @@ loading intersphinx inventory
'apache-airflow-providers-apache-livy' from /opt/a
loading intersphinx inventory 'apache-airflow-providers-apache-pig' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-apache-pig/objects.inv...
loading intersphinx inventory 'apache-airflow-providers-apache-pinot' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-apache-pinot/objects.inv...
loading intersphinx inventory 'apache-airflow-providers-apache-spark' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-apache-spark/objects.inv...
+loading intersphinx inventory 'apache-airflow-providers-apache-tinkerpop' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-apache-tinkerpop/objects.inv...
loading intersphinx inventory 'apache-airflow-providers-apprise' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-apprise/objects.inv...
loading intersphinx inventory 'apache-airflow-providers-arangodb' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-arangodb/objects.inv...
loading intersphinx inventory 'apache-airflow-providers-asana' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-asana/objects.inv...
@@ -63,6 +64,7 @@ loading intersphinx inventory 'apache-airflow-providers-imap'
from /opt/airflow/
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-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...
loading intersphinx inventory 'apache-airflow-providers-microsoft-azure' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-microsoft-azure/objects.inv...
loading intersphinx inventory 'apache-airflow-providers-microsoft-mssql' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-microsoft-mssql/objects.inv...
loading intersphinx inventory 'apache-airflow-providers-microsoft-psrp' from
/opt/airflow/generated/_inventory_cache/apache-airflow-providers-microsoft-psrp/objects.inv...
@@ -141,7 +143,7 @@ ModuleNotFoundError: No module named 'docker-examples'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
- File "/opt/airflow/devel-common/src/sphinx_exts/exampleinclude.py", line
151, in register_source
+ File "/opt/airflow/devel-common/src/sphinx_exts/exampleinclude.py", line
152, in register_source
analyzer = ModuleAnalyzer.for_module(modname)
File "/usr/local/lib/python3.9/site-packages/sphinx/pycode/__init__.py",
line 99, in for_module
filename, source = cls.get_module_source(modname)
diff --git a/docs-archive/docker-stack/recipes.html
b/docs-archive/docker-stack/recipes.html
index 6e81b2c211..d83746e735 100644
--- a/docs-archive/docker-stack/recipes.html
+++ b/docs-archive/docker-stack/recipes.html
@@ -17,7 +17,7 @@
<link rel="stylesheet" type="text/css"
href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css"
href="_static/_gen/css/main-custom.min.css?v=24ed3fb0" />
<link rel="stylesheet" type="text/css"
href="_static/sphinx-design.min.css?v=95c83b7e" />
- <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=101b2490" />
+ <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=957f1c83" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Image build arguments reference"
href="build-arg-ref.html" />
@@ -596,7 +596,7 @@ recipes to the documentation in case they prove useful to
other members of the c
submitting a pull request. The sections below capture this knowledge.</p>
<section id="google-cloud-sdk-installation">
<h2>Google Cloud SDK installation<a class="headerlink"
href="#google-cloud-sdk-installation" title="Link to this heading">¶</a></h2>
-<p>Some operators, such as <a class="reference external"
href="/docs/apache-airflow-providers-google/stable/_api/airflow/providers/google/cloud/operators/kubernetes_engine/index.html#airflow.providers.google.cloud.operators.kubernetes_engine.GKEStartPodOperator"
title="(in apache-airflow-providers-google v15.1.0)"><code class="xref py
py-class docutils literal notranslate"><span
class="pre">GKEStartPodOperator</span></code></a>,
+<p>Some operators, such as <a class="reference external"
href="/docs/apache-airflow-providers-google/stable/_api/airflow/providers/google/cloud/operators/kubernetes_engine/index.html#airflow.providers.google.cloud.operators.kubernetes_engine.GKEStartPodOperator"
title="(in apache-airflow-providers-google v16.0.0)"><code class="xref py
py-class docutils literal notranslate"><span
class="pre">GKEStartPodOperator</span></code></a>,
require the installation of <a class="reference external"
href="https://cloud.google.com/sdk">Google Cloud SDK</a> (includes <code
class="docutils literal notranslate"><span class="pre">gcloud</span></code>).
You can also run these commands with BashOperator.</p>
<p>Create a new Dockerfile like the one shown below.</p>
@@ -769,8 +769,8 @@ 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.1.0)"><code class="xref py
py-class docutils literal notranslate"><span
class="pre">BeamRunGoPipelineOperator</span></code></a>,
-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>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.1.1)"><code class="xref py
py-class docutils literal notranslate"><span
class="pre">BeamRunGoPipelineOperator</span></code></a>,
+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">
<p class="example-header"><span
class="example-title">/opt/airflow/docker-stack-docs/docker-images-recipes/go-beam.Dockerfile</span></p>
diff --git a/docs-archive/docker-stack/search.html
b/docs-archive/docker-stack/search.html
index 977a38d8fc..b5c01193c2 100644
--- a/docs-archive/docker-stack/search.html
+++ b/docs-archive/docker-stack/search.html
@@ -16,7 +16,7 @@
<link rel="stylesheet" type="text/css"
href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css"
href="_static/_gen/css/main-custom.min.css?v=24ed3fb0" />
<link rel="stylesheet" type="text/css"
href="_static/sphinx-design.min.css?v=95c83b7e" />
- <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=101b2490" />
+ <link rel="stylesheet" type="text/css"
href="_static/custom.css?v=957f1c83" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="#" />
diff --git a/docs-archive/docker-stack/searchindex.js
b/docs-archive/docker-stack/searchindex.js
index 57e4e09515..c4d488a54f 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