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

jscheffl pushed a commit to branch v3-2-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/v3-2-test by this push:
     new 032a8914b15 [v3-2-test] Docs: Expand Helm Chart upgrade tasks in 
Airflow 3 migration guide (#66118) (#66259)
032a8914b15 is described below

commit 032a8914b1522edf439a5899d3b71443ce4f8969
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Sat May 2 17:25:43 2026 +0200

    [v3-2-test] Docs: Expand Helm Chart upgrade tasks in Airflow 3 migration 
guide (#66118) (#66259)
    
    * [v3-2-test] Docs: Expand Helm Chart upgrade tasks in Airflow 3 migration 
guide (#66118)
    
    * Docs: Expand Helm Chart upgrade tasks in Airflow 3 migration guide
    
    Replace the two-line Helm Chart note in the Airflow 3 migration guide
    with a dedicated subsection that lists the concrete action items for
    upgrading the official chart from Airflow 2.x to 3.x: webserver to
    apiServer rename with a values.yaml before/after, secret_key relocation,
    jwtSecretName, the standalone dagProcessor deployment, FabAuthManager
    default, webserver_config.py rework, minimum Kubernetes 1.30, the DB
    migration job, and a pointer to the chart release notes for renamed and
    removed keys.
    
    Signed-off-by: André Ahlert <[email protected]>
    
    * Move Helm Chart upgrade tasks to chart/docs
    
    Address review from @Miretpl: chart-specific upgrade content belongs
    under chart/docs, mirroring the providers/fab/docs/upgrading.rst pattern
    where each component owns its upgrade guide and the core migration guide
    links to it.
    
    Move the expanded Helm Chart upgrade checklist from
    airflow-core/docs/installation/upgrading_to_airflow3.rst to a new
    chart/docs/upgrading-to-airflow-3.rst, restore the original two-line
    note in the core guide, and add a pointer to the chart doc from the
    core guide. Register the new file in chart/docs/index.rst under Guides.
    
    Signed-off-by: André Ahlert <[email protected]>
    
    ---------
    (cherry picked from commit 8fc246721e5f348c43e8c3176d06aad9ead18f2e)
    
    Co-authored-by: André Ahlert <[email protected]>
    Signed-off-by: André Ahlert <[email protected]>
    
    * Upgrade uv.lock
    
    ---------
    
    Signed-off-by: André Ahlert <[email protected]>
    Co-authored-by: André Ahlert <[email protected]>
    Co-authored-by: Jens Scheffler <[email protected]>
---
 .../docs/installation/upgrading_to_airflow3.rst    |   1 +
 chart/docs/index.rst                               |   1 +
 chart/docs/upgrading-to-airflow-3.rst              | 119 +++++++++++++++++++++
 uv.lock                                            |   4 +-
 4 files changed, 124 insertions(+), 1 deletion(-)

diff --git a/airflow-core/docs/installation/upgrading_to_airflow3.rst 
b/airflow-core/docs/installation/upgrading_to_airflow3.rst
index ad0b5507b62..683779c63c2 100644
--- a/airflow-core/docs/installation/upgrading_to_airflow3.rst
+++ b/airflow-core/docs/installation/upgrading_to_airflow3.rst
@@ -317,6 +317,7 @@ and FastAPI middlewares (``fastapi_root_middlewares``).
 
 If you use the Airflow Helm Chart to deploy Airflow, please check your defined 
values against configuration options available in Airflow 3.
 All configuration options below ``webserver`` need to be changed to 
``apiServer``. Consider that many parameters have been renamed or removed.
+For the full chart-specific upgrade checklist (``values.yaml`` changes, the 
standalone Dag processor, JWT secret, FAB defaults, minimum Kubernetes version, 
and renamed keys across chart ``1.16.0``..``1.18.0``), see 
:doc:`helm-chart:upgrading-to-airflow-3`.
 
 Step 7: Changes to your startup scripts
 ---------------------------------------
diff --git a/chart/docs/index.rst b/chart/docs/index.rst
index 286183e1d15..0b31b45e91c 100644
--- a/chart/docs/index.rst
+++ b/chart/docs/index.rst
@@ -45,6 +45,7 @@ Helm Chart for Apache Airflow
 
    production-guide
    service-account-token-examples
+   upgrading-to-airflow-3
 
 .. toctree::
    :hidden:
diff --git a/chart/docs/upgrading-to-airflow-3.rst 
b/chart/docs/upgrading-to-airflow-3.rst
new file mode 100644
index 00000000000..312bceb8028
--- /dev/null
+++ b/chart/docs/upgrading-to-airflow-3.rst
@@ -0,0 +1,119 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+Upgrading the Helm Chart to Airflow 3
+=====================================
+
+Before reading this, make sure you have read the Airflow Upgrade Guide for how 
to prepare for an upgrade:
+:doc:`apache-airflow:installation/upgrading_to_airflow3`.
+
+This guide describes the chart-specific tasks for upgrading a deployment of 
the official Airflow Helm chart from
+Airflow 2.x to Airflow 3.x. Upgrade the chart to ``1.16.0`` or later (chart 
``1.16.0`` is the first release that
+supports Airflow 3) and review your ``values.yaml`` against the items below. 
Many keys have been renamed, removed,
+or replaced and the chart will fail to render or deploy unsupported components 
silently if old keys remain.
+
+Bump the Airflow image
+----------------------
+
+Set ``defaultAirflowTag`` and ``airflowVersion`` to a 3.x release. The chart 
ships with a 3.x default starting at
+chart ``1.17.0``.
+
+Rename ``webserver`` to ``apiServer``
+-------------------------------------
+
+The Airflow 3 component that serves the UI and the public REST API is the API 
server, not the webserver. All
+configuration that lived under ``webserver:`` in the chart values must move 
under ``apiServer:``. The component now
+listens on port ``8080`` and is started with ``airflow api-server``. For 
example:
+
+.. code-block:: yaml
+
+   # Airflow 2.x chart values
+   webserver:
+     replicas: 2
+     service:
+       type: ClusterIP
+     resources: {}
+
+   # Airflow 3.x chart values
+   apiServer:
+     replicas: 2
+     service:
+       type: ClusterIP
+     resources: {}
+
+Move the secret key
+-------------------
+
+The API server reads ``[api] secret_key`` instead of ``[webserver] 
secret_key``. If you set this through ``config:``
+in your values file or through ``extraEnv``, update the section name.
+
+Add a JWT secret
+----------------
+
+Airflow 3 uses short-lived JWT tokens to authenticate workers and triggerers 
against the API server. The chart
+generates a ``jwt-secret`` Secret on install. If you template Secrets 
out-of-band or pin a custom name through
+``jwtSecretName``, make sure the referenced Secret exists with a 
``jwt-secret`` key before workers and triggerers
+start.
+
+Deploy the standalone Dag processor
+-----------------------------------
+
+In Airflow 3 the Dag file processor is no longer embedded in the scheduler. 
The chart deploys it as a separate
+``dag-processor`` Deployment configured under ``dagProcessor:``. Review 
resources, tolerations, and any RBAC
+overrides for this new component, including granting its ServiceAccount access 
to your Dag bundles (git-sync,
+persistent volumes, or custom bundles).
+
+Pick an auth manager
+--------------------
+
+The chart defaults to ``FabAuthManager`` (provided by the 
``apache-airflow-providers-fab`` package) so that
+existing FAB-based users, roles, and SSO configuration keep working. If you 
migrated to a different auth manager,
+set it explicitly under ``config.core.auth_manager`` and ensure the 
corresponding provider is installed in your
+image.
+
+Rework custom plugins
+---------------------
+
+If you mount a ``webserver_config.py`` or ship Flask-AppBuilder plugins 
(``appbuilder_views``,
+``appbuilder_menu_items``, ``flask_blueprints``), install the FAB provider and 
mount the file under the
+``apiServer`` section instead of ``webserver``. See the plugin notes in the 
core
+:doc:`apache-airflow:installation/upgrading_to_airflow3` guide and 
:doc:`apache-airflow-providers-fab:upgrading`
+for details.
+
+Check the minimum Kubernetes version
+------------------------------------
+
+Chart ``1.17.0`` raised the minimum supported Kubernetes version to ``1.30``. 
Upgrade your cluster before upgrading
+the chart if needed.
+
+Run database migrations as part of the upgrade
+----------------------------------------------
+
+The chart's database migration job handles ``airflow db migrate`` 
automatically when you run ``helm upgrade``. Make
+sure the migration job completes successfully before traffic is sent to the 
new API server. If you disable the
+built-in job, run ``airflow db migrate`` yourself before scaling up the 
scheduler, API server, Dag processor, and
+triggerer.
+
+Re-check renamed or removed values
+----------------------------------
+
+Many configuration options under ``webserver``/``apiServer``, ``workers``, and 
``scheduler`` were renamed or
+removed across chart ``1.16.0``..``1.18.0``. Diff your existing 
``values.yaml`` against the chart's default
+``values.yaml`` and the :doc:`release_notes` for those versions before 
applying.
+
+After updating ``values.yaml``, render the chart locally with ``helm 
template`` and inspect the diff against your
+current release before running ``helm upgrade``.
diff --git a/uv.lock b/uv.lock
index b23921c100d..7c8b8a54b29 100644
--- a/uv.lock
+++ b/uv.lock
@@ -97,9 +97,9 @@ apache-airflow-providers-mongo = false
 apache-airflow-providers-apprise = false
 apache-airflow-providers-apache-impala = false
 apache-airflow-ctl = false
+apache-airflow-providers-zendesk = false
 apache-airflow-providers-github = false
 apache-airflow-providers-snowflake = false
-apache-airflow-providers-zendesk = false
 apache-airflow-providers-presto = false
 apache-airflow-providers-airbyte = false
 apache-airflow-providers-apache-hive = false
@@ -7797,6 +7797,7 @@ source = { editable = "dev/registry" }
 dependencies = [
     { name = "pydantic" },
     { name = "pyyaml" },
+    { name = "tomli", marker = "python_full_version < '3.11'" },
 ]
 
 [package.dev-dependencies]
@@ -7808,6 +7809,7 @@ dev = [
 requires-dist = [
     { name = "pydantic", specifier = ">=2.12.0" },
     { name = "pyyaml", specifier = ">=6.0.3" },
+    { name = "tomli", marker = "python_full_version < '3.11'", specifier = 
">=2.0.0" },
 ]
 
 [package.metadata.requires-dev]

Reply via email to