I have a Gateway (Gateway API) on GKE with an HTTPRoute with a setup like this:
- matches:
- path:
type:
value: /prefix/health
backendRefs:
- name: some-backend
port: some-port
filters:
- type: URLRewrite
urlRewrite:
path:
type: ReplaceFullPath
replaceFullPath: /ready
When I look on the Gateway object, I see this error:
Error GWCER104: HTTPRoute "my-httproute"
is misconfigured, err: invalid path type "ReplaceFullPath" configured for "URLRewrite"
filter, path type must be "ReplacePrefixMatch".
The Gateway Class is gke-l7-global-external-managed
, which is compatible with those filters according to the doc (here, look at the bottom next to urlRewrite.path
).
I followed the API spec documentation for the filters.
Is there a problem with the way I write it, or is there a problem on the GKE Gateway side?
I discussed with a solutions engineer from Google and it seems that the problem was their documentation. The Google Gateway API does not support the replaceFullPath
filter on any Gateway class.
The documentation has been updated now and only shows replacePrefixMatch (see at the bottom of this page).