Skip to content

Can't use AIRFLOW__CELERY__BROKER_URL_CMD in the Helm Chart #39985

@chrisluedtke

Description

@chrisluedtke

Official Helm Chart version

1.13.1 (latest released)

Apache Airflow version

2.9.1

Kubernetes Version

1.28.9

Helm Chart configuration

env:
  - name: AIRFLOW__CELERY__BROKER_URL_CMD
    value: |
      python -c '
      import urllib.parse, os
      pw = os.getenv("REDIS_PASSWORD")
      print(urllib.parse.quote_plus(f"redis://:${pw}@data-airflow-redis:6379/0", end="")
      '

envFrom:
  - name: REDIS_PASSWORD
    valueFrom:
      secretKeyRef:
        name: airflow-redis-password
        key: password

redis:
  enabled: true
  passwordSecretName: airflow-redis-password

enableBuiltInSecretEnvVars:
  AIRFLOW__CELERY__BROKER_URL: false

Docker Image customizations

No response

What happened

Documentation suggests that I can set my broker URL via a bash command. However, I get this error:

Error: execution error at (data-airflow/charts/airflow/templates/check-values.yaml:34:11): When using the internal redis of the chart and setting the value redis.passwordSecretName, you must also set the value data.brokerUrlSecretName.

What you think should happen instead

Either the docs should be updated to reflect that developers can't use this env var, or the chart's value checks should be updated to allow setting only redis.passwordSecretName and not redis.brokerUrlSecretName.

How to reproduce

The chart is rejecting my inputs as defined here:
https://github.com/apache/airflow/blob/main/chart/templates/check-values.yaml#L33

Anything else

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions