Skip to content

Helm chart values.schema.json definition is outdated and rejects image volume type #65394

@sim500

Description

@sim500

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:helm-chartAirflow Helm Chartkind:bugThis is a clearly a bugneeds-triagelabel for new issues that we didn't triage yet

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions