Page MenuHomePhabricator

Replace ingress-nginx before upstream EOL date
Open, HighPublic

Description

The ingress-nginx project that we heavily rely on for handling Toolforge traffic is now in maintenance mode: https://github.com/kubernetes/ingress-nginx/issues/13002

We have several options:

  1. Do nothing.
  2. Migrate to some other ingress provider.
  3. Once it's ready, migrate to InGate, which is a work-in-progress Ingress/Gateway API controller by the same people who maintain ingress-nginx
  4. Migrate to some other Gateway API implementation

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

https://github.com/kubernetes/ingress-nginx/issues/13002 seems to state that ingress-nginx will not enter maintenance mode until there is a stable release of InGate and that a migration path from ingress-nginx to Ingate will also be provided by the ingress-nginx project in the future. The Ingate project seems to still be soliciting requirements what makes it seem like a stable release will be a while in coming.

There are a few tools that I know of which use ingress-nginx specific features like the nginx.ingress.kubernetes.io/permanent-redirect annotation described in https://wikitech.wikimedia.org/wiki/User:BryanDavis/Kubernetes#Make_a_tool_redirect_to_another_tool_WITHOUT_running_a_webservice. We can probably figure out how to get a listing of all Ingress objects that are not managed by webservice or toolforge jobs so we can examine the potential requirements they add to the search for a replacement Ingress/Gateway service.

https://www.kubernetes.dev/blog/2025/11/12/ingress-nginx-retirement/

To prioritize the safety and security of the ecosystem, Kubernetes SIG Network and the Security Response Committee are announcing the upcoming retirement of Ingress NGINX. Best-effort maintenance will continue until March 2026. Afterward, there will be no further releases, no bugfixes, and no updates to resolve any security vulnerabilities that may be discovered.

taavi renamed this task from toolforge: Investigate ingress-nginx replacements to Replace ingress-nginx before upstream EOL date.Jan 15 2026, 12:41 PM
taavi raised the priority of this task from Medium to High.

It looks like InGate is no option:

https://github.com/kubernetes-sigs/ingate/commit/7c0f10563c6ef12e97172b8ca40e1a2006f73a35

InGate is being retired (early 2026).
SIG Network and the Security Response Committee recommend that all users begin migration to Gateway API or another Ingress controller immediately. Many options are listed in the Kubernetes documentation: Gateway API and Ingress. Additional options may be available from vendors you work with.