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 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:
workers:
extraVolumes:
- name: airflow-virtualenvs
image:
reference: "ghcr.io/example/airflow-virtualenvs:latest"
pullPolicy: Always
Then run:
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, 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:
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
Code of Conduct
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 in workers.extraVolumes, Helm schema validation fails with:
To reproduce, use the following values:
Then run:
The error is caused by the io.k8s.api.core.v1.Volume definition embedded in 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:
Image *ImageVolumeSourceon theVolumestruct.What you think should happen instead?
The schema should accept
imageas a valid property on Volume objects, allowing users on Kubernetes ≥ 1.31 to use Image Volumes inextraVolumesfields without needing--skip-schema-validation.Suggested fix: Regenerate the
io.k8s.api.core.v1.Volumedefinition (and other Kubernetes API type definitions) invalues.schema.jsonfrom 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
Code of Conduct