laertida opened a new issue, #53604:
URL: https://github.com/apache/airflow/issues/53604

   ### Apache Airflow version
   
   3.0.3
   
   ### If "Other Airflow 2 version" selected, which one?
   
   _No response_
   
   ### What happened?
   
   ### Summary
   
   **The Airflow Helm chart does not render the webserver Ingress resource when 
using Airflow 3.0.0 or later, even when all ingress values are correctly set.**
   
   ### Details
   
   - **Chart version:** (e.g. 1.18.0, please specify your exact version)
   - **Airflow version:** 3.0.2 (set via `airflowVersion` in values)
   - **Observed behavior:**  
     When deploying the chart with Airflow 3.x, the `webserver-ingress.yaml` 
template is not rendered, even with `ingress.web.enabled: true` and correct 
configuration. No Ingress resource is created for the webserver.
   - **Expected behavior:**  
     The Ingress resource for the webserver should be rendered regardless of 
Airflow version, if enabled in values.
   
   
   ### Root Cause Analysis
   
   When inspecting `templates/webserver/webserver-ingress.yaml` (and similar 
ingress templates), the rendering is gated by:
   
   ```jinja
   {{- if and .Values.webserver.enabled (semverCompare "<3.0.0" 
.Values.airflowVersion) }}
   ```
   
   This means the Ingress is only rendered for Airflow versions **strictly less 
than 3.0.0**.  
   With `airflowVersion: 3.0.2`, this condition is never true, so the Ingress 
resource is never created.
   
   ### Proposed Fix
   
   The template should **not** restrict Ingress rendering by Airflow version.  
   The condition should only depend on `.Values.webserver.enabled` (and/or 
`.Values.ingress.web.enabled`), like:
   
   ```jinja
   {{- if .Values.webserver.enabled }}
   ```
   
   or
   
   ```jinja
   {{- if and .Values.webserver.enabled .Values.ingress.web.enabled }}
   ```
   
   ### Additional Context
   
   - Users upgrading to Airflow 3.x via the Helm chart will not get Ingress 
resources, breaking external access to the webserver.
   - This may also affect other Ingress resources (API server, Flower, etc.) if 
they use similar gating logic.
   
   ---
   
   **Thank you for your work on the Helm chart! Let me know if you need further 
details or a test case.**
   
   ### What you think should happen instead?
   
   _No response_
   
   ### How to reproduce
   
   ### Steps to Reproduce
   
   1. Use the official Airflow Helm chart (e.g., 1.18.0+).
   2. Set `airflowVersion: 3.0.2` (or any 3.x version) in your values.yaml.
   3. Set up the Ingress as recommended (see minimal values block below).
   4. Deploy with `helm upgrade --install ...`.
   5. **Result:** No Ingress resource is created for the webserver.
   
   #### Example `values.yaml` block:
   
   ```yaml
   airflowVersion: 3.0.2
   ingress:
     enabled: true
     web:
       enabled: true
       ingressClassName: "nginx"
       annotations: {}
       hosts:
         - name: my-airflow.example.com
       path: /
       pathType: ImplementationSpecific
   ```
   
   
   ### Operating System
   
   Kubernetes deployment 
   
   ### Versions of Apache Airflow Providers
   
   3.0.3
   
   ### Deployment
   
   Official Apache Airflow Helm Chart
   
   ### Deployment details
   
   Kubernetes 
   
   ### Anything else?
   
   
   ### Root Cause Analysis
   
   When inspecting `templates/webserver/webserver-ingress.yaml` (and similar 
ingress templates), the rendering is gated by:
   
   ```jinja
   {{- if and .Values.webserver.enabled (semverCompare "<3.0.0" 
.Values.airflowVersion) }}
   ```
   
   This means the Ingress is only rendered for Airflow versions **strictly less 
than 3.0.0**.  
   With `airflowVersion: 3.0.2`, this condition is never true, so the Ingress 
resource is never created.
   
   ### Proposed Fix
   
   The template should **not** restrict Ingress rendering by Airflow version.  
   The condition should only depend on `.Values.webserver.enabled` (and/or 
`.Values.ingress.web.enabled`), like:
   
   ```jinja
   {{- if .Values.webserver.enabled (semverCompare ">=3.0.0" 
.Values.airflowVersion) }}
   ```
   
   ### Additional Context
   
   - Users upgrading to Airflow 3.x via the Helm chart will not get Ingress 
resources, breaking external access to the webserver.
   - This may also affect other Ingress resources (API server, Flower, etc.) if 
they use similar gating logic.
   
   ---
   
   **Thank you for your work on the Helm chart! Let me know if you need further 
details or a test case.**
   
   ### Are you willing to submit PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to