Product update

Goodbye Ingress NGINX, hello Envoy Gateway

Wodby cluster infrastructure 2.0.0 moves the public edge from Ingress NGINX to Envoy Gateway. New clusters use Envoy Gateway by default, and existing clusters can upgrade from the Wodby dashboard.

Ingress NGINX served us well, but it is no longer the right foundation for Wodby infrastructure. Kubernetes SIG Network and the Security Response Committee announced Ingress NGINX retirement. Best-effort maintenance continued until March 2026, and after that there are no further releases, bug fixes, or security updates.

That upstream retirement gave us a clear reason to move now. At the same time, Wodby's edge layer had already grown past a model based on arbitrary Ingress annotations. We need one consistent way to manage HTTP routes, HTTPS redirects, TCP and UDP published ports, route-level behavior, and future gateway features across Wodby Cloud, managed Kubernetes, and K3S clusters.

Envoy Gateway gives us that foundation through Kubernetes Gateway API resources such as Gateway, HTTPRoute, TCPRoute, and UDPRoute. In Wodby, that shows up as a cleaner endpoint model: routes and ports with explicit settings, instead of a growing list of Ingress NGINX annotations.

How Gateway API replaces the old ingress model

This is not a one-to-one controller swap. Ingress NGINX concentrated routing, TLS, redirects, auth, and controller-specific behavior into an Ingress plus annotations. Envoy Gateway splits those concerns into Gateway API resources and Envoy Gateway policies, so Wodby can expose them as typed route and port settings.

Ingress NGINX sideEnvoy Gateway sideHow Wodby uses it
Ingress NGINX controller and IngressClassEnvoyProxy, GatewayClass, and GatewayWodby installs Envoy Gateway as the edge controller, configures the eg GatewayClass, and creates Gateway listeners for HTTP, HTTPS, TCP, and UDP entrypoints.
Ingress resourcesGateway and HTTPRouteEach Wodby HTTP or HTTPS route now renders a Gateway for the host and an HTTPRoute that matches the route path and forwards traffic to the Kubernetes Service.
Ingress TLS sectionsGateway HTTPS listener and TLS SecretTLS still uses Kubernetes Secrets, including Let's Encrypt certificates, but termination is attached to the Gateway listener instead of an Ingress spec.
Redirect annotations and custom redirect snippetsHTTPRoute RequestRedirect filtersRedirects are explicit Wodby routes. Envoy Gateway renders them as HTTPRoute redirects with scheme, host, path, and status code support.
Ingress NGINX annotationsRoute settings, HTTPRoute filters, and Envoy policiesSettings such as no_index, path_rewrite, session_affinity, and request_body_size become typed Wodby settings rendered as Gateway API filters or Envoy Gateway policies.
Basic auth annotationsSecurityPolicyWodby HTTP basic auth now renders an Envoy Gateway SecurityPolicy that targets the HTTPRoute instead of adding auth annotations to an Ingress.
TCP/UDP publishing through controller configurationGateway, TCPRoute, UDPRoute, and ClientTrafficPolicyPublished TCP and UDP ports now get dedicated Gateway listeners and TCPRoute or UDPRoute resources. TCP listener settings render through ClientTrafficPolicy.

What changes in Wodby

The Endpoints screen now centers on routes for HTTP and HTTPS traffic, and ports for manually published TCP and UDP traffic. Technical routes, custom routes, main and primary route flags, Let's Encrypt certificates, and HTTP basic auth keep the same product intent, but Envoy Gateway clusters render them through Gateway API objects.

Redirects are now first-class routes. A redirect route can set the target scheme, host, path, and status code. Wodby supports 301 and 302 redirects. When omitted, the redirect scheme defaults to https and the status code defaults to 301.

Route settings

Envoy Gateway clusters use predefined route settings instead of free-form ingress annotations. Settings can be configured as app instance defaults or route-specific overrides. New Envoy Gateway app instances default to HTTPS redirect and cookie session affinity, and generated technical routes default to no-index headers.

SettingValueWhat it controls
https_redirecttrue or falseRedirect HTTP traffic to HTTPS when TLS is enabled.
no_indextrue or falseSet X-Robots-Tag: noindex, nofollow for generated routes.
request_body_sizeSize with Ki, Mi, or Gi, for example 64MiLimit request body size through Envoy Gateway policy.
session_affinitycookie or headerKeep repeat requests attached to the same backend.
path_rewritePath starting with /Rewrite the matched route path before forwarding traffic.

Port settings

Published TCP ports also get a small, typed settings surface. These settings apply to published TCP ports on Envoy Gateway clusters; unpublished ports and UDP ports are not affected.

SettingValueWhat it controls
idle_timeoutDuration such as 30s, 5m, or 1hSet the TCP idle timeout for a published port.
connection_limitPositive integerLimit concurrent downstream TCP connections.
tcp_keepalivetrue or falseEnable TCP keepalive on the published port listener.

Upgrading existing clusters

Existing clusters can be upgraded from the Wodby dashboard. When you start the infrastructure upgrade, Wodby deploys Envoy Gateway, updates the cluster endpoint, migrates supported ingress settings, redeploys application instances, and then removes the obsolete Ingress NGINX infrastructure after the migration path is complete.

Existing HTTP endpoints are preserved as Wodby routes, and supported Ingress NGINX annotations are translated into the new route setting model:

Old Ingress NGINX annotationNew route setting
affinity: cookiesession_affinity = cookie
ssl-redirect or force-ssl-redirecthttps_redirect = true or false
configuration-snippet with X-Robots-Tag noindexno_index = true
rewrite-targetpath_rewrite
proxy-body-sizerequest_body_size
affinity-mode: balanced and affinity-canary-behavior: stickyrecognized as legacy cookie-affinity defaults

Unsupported legacy annotations are left visible for review instead of being silently discarded. That gives teams a clear follow-up list for custom Ingress NGINX behavior that does not have a direct Envoy Gateway route setting.

Infrastructure version 2.0.0

Wodby infrastructure 2.0.0 is the version that replaces Ingress NGINX with Envoy Gateway for public HTTP, HTTPS, TCP, and UDP entrypoints. Infrastructure upgrades are manual today, so existing clusters move when you start the upgrade from the dashboard.

Read the docs

For the current endpoint model, see Apps: Endpoints. For cluster infrastructure versions and upgrades, see Kubernetes cluster infrastructure and Kubernetes cluster updates.