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]
