Skip to content

Route traffic

Use the bundled Ingress and Gateway API support to route traffic to your Kubernetes Services. You don't need to write templates to use these routes. Install HAPTIC first, or explore the live examples in the guides without a cluster.

Choose how to define routes

Your setup Start here
You use Ingress resources for host and path routing Ingress routing
You use Gateway API, with listeners and routes managed separately Gateway API walkthrough
You need a specific Gateway route type, filter, or policy Gateway API reference
You are replacing another ingress controller Migration guide
Your routing model uses a custom resource Write templates and watch your resources

The default installation creates the haptic IngressClass and, when the Gateway API CRDs are available, the haptic GatewayClass. Select HAPTIC with spec.ingressClassName: haptic on an Ingress or spec.gatewayClassName: haptic on a Gateway. Application routes then attach to that Gateway.

Configure traffic behavior

Task Guide
Serve HTTPS with your certificates TLS certificates
Change Ingress timeouts, headers, redirects, or load balancing Ingress annotations and native annotation reference
Authenticate Gateway requests, set rate limits, or select a firewall policy Gateway route policies
Reuse web application firewall (WAF) rules across applications WAF policies
Cache repeated responses Response caching
Use external authentication, request inspection, or traffic mirroring Traffic processing plugins
Use SPIFFE identities for backend TLS SPIFFE/SPIRE mTLS

For Ingress authentication, rate limits, and request validation, use the native annotations. Gateway API extensions use HAProxyRoutePolicy resources. Read each guide's prerequisites before applying a policy; some features require an optional service or plugin.

Check a route

Send a request with the hostname and path your route matches. If it doesn't reach the expected application, follow routing troubleshooting. Use access logs to identify the selected route, backend, and any policy that denied the request.

To change which resources an installation handles, see IngressClass settings or GatewayClass settings. For behavior the bundled settings don't cover, extend a template.

Found a problem on this page? Report it