Skip to content

feat: support kubernetes gateway api#2965

Merged
j-zimnowoda merged 173 commits intomainfrom
APL-1595-2
Mar 20, 2026
Merged

feat: support kubernetes gateway api#2965
j-zimnowoda merged 173 commits intomainfrom
APL-1595-2

Conversation

@merll
Copy link
Copy Markdown
Contributor

@merll merll commented Feb 20, 2026

📌 Summary

This PR migrates from Ingress-Nginx to the Kubernetes Gateway API using Istio as an ingress gateway.

🔍 Reviewer Notes

There are two related PRs, that need to be considered during tests:

The migration process is implemented but requires changes in the following PR to work correctly. This should be merged first:

For avoiding a race condition between the ConfigMap update and the operator already reconciling, deactivate it temporarily:

  1. disable auto-sync of apl-operator and scale down to 0, so that it does not sync while you make the following changes:
kubectl patch applications.argoproj.io -n argocd apl-operator-apl-operator --patch '[{"op": "remove", "path": "/spec/syncPolicy/automated"}]' --type=json
kubectl scale --replicas=0 -n apl-operator deployment apl-operator
  1. update ConfigMap otomi/otomi-status field deployingVersion to 4.16.0:
kubectl patch configmap otomi-status -n otomi --type merge -p '{"data":{"deployingVersion": "4.16.0"}}'
  1. then the version can be set to this feature branch (APL-1595-2)
  2. scale apl-operator back up
kubectl scale --replicas=1 -n apl-operator deployment apl-operator

The following related PR has already been merged to reduce the diff of this one. It includes the CRD and a base chart for generic setup of Gateways:

🧹 Checklist

  • Code is readable, maintainable, and robust.
  • Unit tests added/updated

@merll
Copy link
Copy Markdown
Contributor Author

merll commented Mar 18, 2026

What would be procedure for allowing arbitrary NS to use platform SSO?

I can answer that question more clearly once I have solved the issue with token verification. It will likely involve adding an AuthorizationPolicy or modifying a common one, if we integrate it into the team-ns chart.

Copy link
Copy Markdown
Collaborator

@ferruhcihan ferruhcihan left a comment

Choose a reason for hiding this comment

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

It appears that TTY might not need a ServiceEntry, whereas the Tekton Dashboard could require one. It would be great to confirm this, so we can make sure the configuration is correct for both.

@merll
Copy link
Copy Markdown
Contributor Author

merll commented Mar 19, 2026

It appears that TTY might not need a ServiceEntry, whereas the Tekton Dashboard could require one. It would be great to confirm this, so we can make sure the configuration is correct for both.

Thanks for pointing out the missing entries. The ServiceEntry is only necessary for platform-internal traffic to find its way when using external host names. Missing some of them would likely go unnoticed in most cases, but for consistency I think it is better to have them in all cases. Therefore I added them.

@j-zimnowoda j-zimnowoda merged commit deb7620 into main Mar 20, 2026
15 checks passed
@j-zimnowoda j-zimnowoda deleted the APL-1595-2 branch March 20, 2026 08:21
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.

5 participants