| When does it fit? | You want the Kubernetes project's recommended direction and can move routes to a new API. Several implementations are listed as conformant on the Gateway API site, among them NGINX Gateway Fabric, Envoy Gateway, Istio, Cilium and Traefik. | You want to stay close to NGINX behavior and keep the Ingress API for now. F5 publishes a guide for replacing an Ingress-NGINX cluster with it. | You already run another controller for part of the estate, or your cloud provider offers one that covers your routes. The Kubernetes documentation lists the options. |
|---|
| What changes in the manifests? | Ingress becomes Gateway and HTTPRoute resources. Listeners and TLS move to the Gateway, which is usually owned by a different team than the routes. Annotations are not an extension point. | Annotations change prefix, from nginx.ingress.kubernetes.io to nginx.org on the Ingress path, or move into F5's VirtualServer resources. Many ConfigMap keys are renamed. | Depends on the controller. Expect different annotation names and different defaults. |
|---|
| What happens to snippets and custom directives? | There is no snippet annotation. Behavior outside the standard API needs an implementation-specific policy or extension, so each snippet is reviewed for whether it is still needed. | Snippet annotations map to location and server snippets. F5's guide lists four Ingress-NGINX annotations that still have no resource fields and are carried by snippets. | Check per controller. Do not assume snippet support exists. |
|---|
| What tooling helps? | ingress2gateway can read ingress-nginx resources and emit standard Gateway API resources. It warns about what it cannot translate and says annotations are not copied. | F5's guide has side-by-side tables for annotations and ConfigMap keys. It names no conversion tool. | Usually the controller's own documentation. |
|---|
| How is the cutover run? | Install the new controller beside Ingress NGINX on its own external address, test there, then move hostnames one at a time. | The same parallel install. Canary rules must be listed in the same order Ingress-NGINX evaluates them, header, then cookie, then weight. | The same pattern, with the controller's own testing options. |
|---|
| When is it the wrong choice? | When the estate leans on controller-specific behavior nobody has listed, and the team will find the gaps in production. | When the plan is to standardize on Gateway API soon, because the estate would move twice. | When nobody has checked who maintains the controller, since a thin maintainer base is what ended Ingress NGINX. |
|---|
| What does AceMQ add? | The inventory, a gap list, converted routes reviewed by hand and a parallel-run plan, then support for the new controller. | The same inventory and annotation mapping, with F5 as the vendor for NGINX Plus entitlements. | The same inventory and a written comparison of the controllers you are considering. |
|---|