Skip to content

Commit

Permalink
Update installation prerequisites after upgrading to Debian Bookworm (a…
Browse files Browse the repository at this point in the history
…pache#36521)

We've migrated to Debian Bookworm for our images in apache#31941 but
our installation prerequisites and example system level dependencies
mention Bullseye. Since for 2.8 we run all tests on Bookworm but we
also suppport custom Bullseye imeage (to be removed likely in 2.9)
we should put Bookworm front and center but also explain differences
with Bullseye.
  • Loading branch information
potiuk authored and abhishekbhakat committed Mar 5, 2024
1 parent 8ce3156 commit 1c8cdf1
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 17 deletions.
46 changes: 31 additions & 15 deletions docs/apache-airflow/installation/dependencies.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,23 +70,39 @@ asynchronous workers for Gunicorn. None of those have providers, they are just e
System dependencies
'''''''''''''''''''

You need certain system level requirements in order to install Airflow. Those are requirements that are known
to be needed for Linux system (Tested on Ubuntu Bullseye LTS) :
You need certain system level requirements in order to install Airflow.
Those are requirements that are known to be needed for Linux Debian distributions:

Debian Bookworm (12)
====================

Debian Bookworm is our platform of choice for development and testing. It is the most up-to-date
Debian distribution and it is the one we use for our CI/CD system. It is also the one we recommend
for development and testing as well as production use.

.. code-block:: bash
sudo apt-get install -y --no-install-recommends \
freetds-bin \
krb5-user \
ldap-utils \
libffi6 \
libsasl2-2 \
libsasl2-modules \
libssl1.1 \
locales \
lsb-release \
sasl2-bin \
sqlite3 \
unixodbc
sudo apt install -y --no-install-recommends apt-transport-https apt-utils ca-certificates \
curl dumb-init freetds-bin gosu krb5-user libgeos-dev \
ldap-utils libsasl2-2 libsasl2-modules libxmlsec1 locales libffi8 libldap-2.5-0 libssl3 netcat-openbsd \
lsb-release openssh-client python3-selinux rsync sasl2-bin sqlite3 sudo unixodb
Debian Bullseye (11)
====================

Debian Bullseye is the previous Debian distribution. It is still supported by Airflow and it is
the one we also recommend for production use, however we only build images in the CI and we do not
run any tests there (we do not expect problems though). In Airflow 2.9 we are going to stop building images
for Bullseye and we will only build images and explain system level dependencies for Bookworm.

.. code-block:: bash
sudo apt install -y --no-install-recommends apt-transport-https apt-utils ca-certificates \
curl dumb-init freetds-bin gosu krb5-user libgeos-dev \
ldap-utils libsasl2-2 libsasl2-modules libxmlsec1 locales libffi7 libldap-2.4-2 libssl1.1 netcat \
lsb-release openssh-client python3-selinux rsync sasl2-bin sqlite3 sudo unixodb
You also need database client packages (Postgres or MySQL) if you want to use those databases.


If you use a different distribution, you will need to adapt the commands accordingly.
5 changes: 3 additions & 2 deletions docs/apache-airflow/installation/prerequisites.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,11 @@ wildly on the deployment options you have
.. warning::

Airflow™ currently can be run on POSIX-compliant Operating Systems. For development it is regularly
tested on fairly modern Linux Distros and recent versions of MacOS.
tested on fairly modern Linux Distros that our contributors use and recent versions of MacOS.
On Windows you can run it via WSL2 (Windows Subsystem for Linux 2) or via Linux Containers.
The work to add Windows support is tracked via `#10388 <https://github.com/apache/airflow/issues/10388>`__
but it is not a high priority. You should only use Linux-based distros as "Production" execution environment
as this is the only environment that is supported. The only distro that is used in our CI tests and that
is used in the `Community managed DockerHub image <https://hub.docker.com/p/apache/airflow>`__ is
``Debian Bullseye``.
``Debian Bookworm``. We also build ``Debian Bullseye`` images in Airflow 2.8 but we do not use them for
CI tests and they will be dropped in Airflow 2.9.

0 comments on commit 1c8cdf1

Please sign in to comment.