Two Deployments (api, web) routed by a singleton HTTPRoute. The Gateway lives in a different namespace (gateway-system) — a ReferenceGrant permits the cross-namespace backend reference.
Singleton httpRoute declaration with parentRefs pointing to a Gateway in gateway-system.
Per-workload route shorthand: each workload contributes rules into the merged HTTPRoute via deployments.<n>.httpRoute.rules. Order is controlled by priority (lower wins; ties alphabetical).
serviceName and servicePort default to the workload’s own Service — no manual cross-reference.
referenceGrant allows the gateway-system namespace to reference Services in this release’s namespace. Without it, Gateway API rejects the cross-namespace backend ref.
Path-based routing: /api/* → api workload, everything else → web workload.
Rule-level name: optional string (lowercase RFC 1123 label) identifying a rule in Gateway API status, traces, and access logs. Requires Gateway API v1.4+ Standard or v1.2+ Experimental CRDs.
Rule-level timeouts: request caps the full round-trip budget; backendRequest caps backend processing time (must be ≤ request). Both accept Gateway API Duration strings (30s, 1h30m, 100ms). Standard since Gateway API v1.2.
Rule-level retry: attempts sets the attempt limit; codes lists HTTP status codes 400–599 that trigger a retry (implementations MUST support 500/502/503/504); backoff sets the minimum delay between attempts. Requires Gateway API Experimental channel CRDs — Standard CRDs reject the field.