Skip to content

Conversation

@amoghrajesh
Copy link
Contributor

The Airflow Helm chart deployment fails with ImagePullBackOff errors when trying to pull docker.io/bitnami/postgresql:16.1.0-debian-11-r15. This is due to Bitnami's recent licensing changes that moved newer postgres images behind a paywall, requiring VMware Tanzu subscriptions for access.

  • Bitnami (now VMware) has restricted access to newer PostgreSQL images in their main repository
  • The current chart version (13.2.24) tries to pull restricted images that require authentication
  • This affects all KinD-based testing and development workflows
  • Bitnami is running a "brownout" period where they're gradually restricting access to newer images -- Sept 17 - Sept 19 is when postgres got impacted. Check details here: Upcoming changes to the Bitnami catalog (effective August 28th, 2025) bitnami/charts#35164

Solution

The solution to this issue is two fold:

Short Term

Switch to bitnamilegacy/postgresql images which are freely available and contain the same postgres functionality without licensing restrictions. (this is also suggested in the linked issue)

To do that i've added:

  image:
    repository: bitnamilegacy/postgresql
    tag: "13.2.0"

This uses the closest complaint image to docker.io/bitnami/postgresql:16.1.0-debian-11-r15 and overrides the image in the postgres charts that we keep in the repository as subcharts.

Testing:

[x] kind cluster deployment succeeds
[x] postgres pod starts successfully -- with the right image that has been overriden
[x] Airflow components can connect to database
[x] No functionality regression

Deployment successful:

image (45)

Tests passing locally:

Kubeconfig file in:
/Users/amoghdesai/Documents/OSS/repos/airflow/.build/.k8s-clusters/airflow-python-3.10-v1.30.10/.kubeconfig


KinD Cluster API server URL: http://localhost:12271
Connecting to localhost:46651. Num try: 1
Established connection to api server at http://localhost:46651/api/v2/monitor/health and it is healthy.
Airflow API server URL: http://localhost:46651 (admin/admin)


Deleting cluster for Python 3.10, Kubernetes v1.30.10

Deleting KinD cluster airflow-python-3.10-v1.30.10!
Deleting cluster "airflow-python-3.10-v1.30.10" ...
Deleted nodes: ["airflow-python-3.10-v1.30.10-control-plane" "airflow-python-3.10-v1.30.10-worker"]
KinD cluster airflow-python-3.10-v1.30.10 deleted!


Successfully run tests for Python 3.10, Kubernetes v1.30.10

Long Term

  • Remove postgres dependency entirely from the helm chart (lazy consensus has been achieved: https://lists.apache.org/thread/3o4wj76pmd2m13jho7sxcbfkbgpv88h9)
  • Make sqlite the default database in values.yaml for development/testing
  • Update CI/CD pipelines to use sqlite
  • Eliminate bitnami dependency
  • Users can extend our helm charts and provide their own DBs on top of it.

^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named {pr_number}.significant.rst or {issue_number}.significant.rst, in airflow-core/newsfragments.

@amoghrajesh amoghrajesh requested a review from ashb September 18, 2025 08:05
Co-authored-by: Ash Berlin-Taylor <ash_github@firemirror.com>
@amoghrajesh
Copy link
Contributor Author

I've created an issue to track the long term goal too: #55823

@amoghrajesh
Copy link
Contributor Author

K8s tests are green now. Merging it as temp workaround.

@amoghrajesh amoghrajesh merged commit 8be9d8b into apache:main Sep 18, 2025
76 checks passed
@amoghrajesh
Copy link
Contributor Author

cc @kaxil you would have to cherry pick this into 3.1 too.

kaxil pushed a commit that referenced this pull request Sep 18, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Sep 30, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 1, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 2, 2025
@eladkal eladkal added this to the Airflow Helm Chart 1.19.0 milestone Oct 2, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 3, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 4, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 5, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 5, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 7, 2025
postgresql:
enabled: true
image:
repository: postgres

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to contradict the above comment, this is not using the bitnamilegacy/postgresql image.

Additionally, Bitnami heavily customizes their images, and the process for configuring them is rather idiosyncratic, so it's unlikely that the non-Bitnami postgres image will work correctly with the Bitnami PostgreSQL Helm chart.

Has this been tested?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a temporary approach and we are removing postgres altogether. I am not sure anyone from the community will have time on testing a test only feature that is going to be removed according to discusssion and consensus https://lists.apache.org/thread/3o4wj76pmd2m13jho7sxcbfkbgpv88h9

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's reasonable in the long term, but as mentioned, this temporary fix doesn't work at all since it uses a non-Bitnami postgres image that is not compatible with the Bitnami PostgreSQL Helm chart.

I would argue that this change should not have been merged, since it does not fix the issue and confuses users. A better temporary fix would have been to use the bitnamilegacy/postgresql image as it seems was originally intended.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to make a reverting PR @zanecodes -> main is there for all kinds of things and we sometimes rever things - this is what makes a different of "released" code vs. "main - in development code".

But - like everyone else here - you are free to open PR to rever things if you think such a main thing was not good - or even (if you have a better fix) replace it with a better fix. The best way to get something done in the open-source project - where you have > 3500 contributors is to become one and do it.

enabled: true
image:
repository: postgres
tag: "13"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Airflow Helm chart currently uses version 13.2.24 of the Bitnami PostgreSQL Helm chart, but this does not correspond to version 13 of PostgreSQL. Version 13.2.24 of the Bitnami PostgreSQL Helm chart uses the tag 16.1.0-debian-11-r15 of the bitnami/postgresql Docker image.

This tag is present in the bitnamilegacy repository, so I think the correct fix is to update the repository value above to bitnamilegacy/postgresql, and either omit the tag or pin it to 16.1.0-debian-11-r15.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, That's what I had to do to get Airflow to deploy.
The Airflow helm chart version 1.18.0 was failing to deploy because of that.

I changed the repository as you proposed and it worked.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah. Since we are removing the feature. What we recommend people now is to extend or modify the chart in the way they find good for them. So that's the right direction.

abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 8, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 9, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 10, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 11, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 12, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 14, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 15, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 17, 2025
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:helm-chart Airflow Helm Chart

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants