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

   ### Under which category would you file this issue?
   
   Helm chart
   
   ### Apache Airflow version
   
   3.1.8
   
   ### What happened and how to reproduce it?
   
   When using a Kubernetes [Image 
Volume](https://kubernetes.io/docs/tasks/configure-pod-container/image-volumes/)
 in workers.extraVolumes, Helm schema validation fails with:
   ```
   values don't meet the specifications of the schema(s) in the following 
chart(s):
   airflow:
   - workers.extraVolumes.1: Additional property image is not allowed
    ```
   **To reproduce**, use the following values:
   ```yaml
   workers:
     extraVolumes:
       - name: airflow-virtualenvs
         image:
           reference: "ghcr.io/example/airflow-virtualenvs:latest"
           pullPolicy: Always
   ```
   Then run:
   ```bash
   helm upgrade --install airflow apache-airflow/airflow -f values.yaml
   ```
   The error is caused by the io.k8s.api.core.v1.Volume definition embedded in 
[chart/values.schema.json](https://github.com/apache/airflow/blob/main/chart/values.schema.json),
 which does not include the image property (ImageVolumeSource). The schema was 
generated from a Kubernetes API version older than v1.31.
   The image field is part of the official Kubernetes Volume struct since v1.31:
   
   - Kubernetes source: [kubernetes/api — 
core/v1/types.go](https://github.com/kubernetes/api/blob/master/core/v1/types.go)
 defines `Image *ImageVolumeSource` on the `Volume` struct.
   - KEP-4639: Image Volumes were introduced as alpha in [Kubernetes 
v1.31](https://kubernetes.io/blog/2024/08/16/kubernetes-1-31-image-volume-source/)
 and graduated to beta in [Kubernetes 
v1.33](https://kubernetes.io/blog/2025/04/29/kubernetes-v1-33-image-volume-beta/).
   
   
   ### What you think should happen instead?
   
   The schema should accept `image` as a valid property on Volume objects, 
allowing users on Kubernetes ≥ 1.31 to use Image Volumes in `extraVolumes` 
fields without needing `--skip-schema-validation`.
   
   **Suggested fix:** Regenerate the `io.k8s.api.core.v1.Volume` definition 
(and other Kubernetes API type definitions) in `values.schema.json` from a 
Kubernetes version ≥ 1.31.
   
   ### Operating System
   
   Ubuntu 24
   
   ### Deployment
   
   None
   
   ### Apache Airflow Provider(s)
   
   _No response_
   
   ### Versions of Apache Airflow Providers
   
   _No response_
   
   ### Official Helm Chart version
   
   1.20.0 (latest released)
   
   ### Kubernetes Version
   
   1.35.3
   
   ### Helm Chart configuration
   
   values:  
     airflowVersion: "3.1.8"
       workers:
         extraVolumes:
           - name: airflow-virtualenvs
             image:
               reference: "ghcr.io/private-repo"
               pullPolicy: Always
         extraVolumeMounts:
           - name: airflow-virtualenvs
             mountPath: /opt/airflow/venvs/venv
             subPath: virtualenvs/.venv
   
   ### Docker Image customizations
   
   _No response_
   
   ### Anything else?
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [ ] 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