Skip to content

SWAT-59 - ingressClassName support - #703

Open
stefan-raducan wants to merge 10 commits into
masterfrom
SWAT-59.ingressClassName-in-helm-chart
Open

SWAT-59 - ingressClassName support#703
stefan-raducan wants to merge 10 commits into
masterfrom
SWAT-59.ingressClassName-in-helm-chart

Conversation

@stefan-raducan

Copy link
Copy Markdown
Collaborator

Description

Our helm chart creates ingress configs with deprecated annotations (there's no option to add spec.ingressClassName here.

If global.ingressClassName is set → uses that value
Else if global.extraAnnotations contains kubernetes.io/ingress.class → uses that value
Else → defaults to "{{ .Release.Name }}-nginx"

[build-system] has been added to pyproject.toml to follow the official guidelines here and here along with the build tool.

Related Issues

SWAT-59
https://github.com/astronomer/issues/issues/6220

Testing

3 pytests have been added for the configuration updates in the following scenarios:

  1. ingressClassName with Airflow only
  2. ingressClassName with Airflow and Celery runners (Flower ingress)
  3. ingressClassName with dag server only
  4. ingressClassName not present in the end config when it's not added in values

Merging

Merge into main

@stefan-raducan
stefan-raducan requested a review from a team as a code owner February 23, 2026 18:15
@Simpcyclassy

Copy link
Copy Markdown
Member

LGTM. This introduces the modern spec.ingressClassName field: deployers can set ingress.ingressClassName and the chart uses only that, with no deprecated annotation. The optional field and tests match that behaviour.

cc: @danielhoherd please take a look as well

Comment thread pyproject.toml Outdated
Comment on lines +2 to +5
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is this needed? We do not build a python package in this repo.

@danielhoherd danielhoherd Mar 3, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

FWIW the way we use uv with this repo is just to manage the venv, which means build related properties are not needed. EG:

$ uv init
Initialized project `py-example`
$ uv add pytest
Using CPython 3.14.3
Creating virtual environment at: .venv
Resolved 7 packages in 122ms
Installed 5 packages in 17ms
 + iniconfig==2.3.0
 + packaging==26.0
 + pluggy==1.6.0
 + pygments==2.19.2
 + pytest==9.0.2
$ cat pyproject.toml
[project]
name = "py-example"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.14"
dependencies = [
    "pytest>=9.0.2",
]

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

you're right, I didn't use uv locally which caused some issues. with uv everything works as is. I've reverted changes and updated README.md

Comment thread pyproject.toml Outdated
Comment thread .gitignore Outdated
Comment thread bin/install-ci-tools
Comment on lines +50 to +57
echo "Installing uv version ${UV_VERSION}..."
if [[ -f /tmp/bin/uv ]]; then
echo "Already installed in /tmp/bin. Skipping!"
else
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/${UV_VERSION}/uv-installer.sh | sh
mv "$HOME/.local/bin/uv" /tmp/bin/
fi

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is this needed? Was there a problem in CI without this?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Yes, this change is strictly related to failing tests (which were failing before this PR, e.g. this run. 'uvis used in allairflow-test` jobs in CircleCI here:

bin/run-ci: line 140: uv: command not found

@danielhoherd danielhoherd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The ingressClass changes look good, but I'd like the uv related changes to be removed.

@stefan-raducan
stefan-raducan requested a review from a team as a code owner March 4, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants