feat(crds): Update gateway-api to 0.7.1 (#12507)

We want to begin to add support for the GRPCRoute resource type
to the policy controller. The GRPCRoute resource was introduced in
gateway-api v0.7.

In preparation for this upcoming work, this commit updates our Gateway
API CRD dependencies to 0.7.1, including the experimental GRPCRoute
resource type.
This commit is contained in:
Mark S 2024-05-06 16:29:43 -04:00 committed by GitHub
parent 89b93f713f
commit e641d0701d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 6170 additions and 664 deletions

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/1923 api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/1923
gateway.networking.k8s.io/bundle-version: v0.7.1-dev gateway.networking.k8s.io/bundle-version: v0.7.1
gateway.networking.k8s.io/channel: experimental gateway.networking.k8s.io/channel: experimental
{{ include "partials.annotations.created-by" . }} {{ include "partials.annotations.created-by" . }}
labels: labels:
@ -61,14 +61,12 @@ spec:
description: "Hostnames defines a set of hostname that should match description: "Hostnames defines a set of hostname that should match
against the HTTP Host header to select a HTTPRoute used to process against the HTTP Host header to select a HTTPRoute used to process
the request. Implementations MUST ignore any port value specified the request. Implementations MUST ignore any port value specified
in the HTTP Host header while performing a match and (absent of in the HTTP Host header while performing a match. \n Valid values
any applicable header modification configuration) MUST forward this for Hostnames are determined by RFC 1123 definition of a hostname
header unmodified to the backend. \n Valid values for Hostnames with 2 notable exceptions: \n 1. IPs are not allowed. 2. A hostname
are determined by RFC 1123 definition of a hostname with 2 notable may be prefixed with a wildcard label (`*.`). The wildcard label
exceptions: \n 1. IPs are not allowed. 2. A hostname may be prefixed must appear by itself as the first label. \n If a hostname is specified
with a wildcard label (`*.`). The wildcard label must appear by by both the Listener and HTTPRoute, there must be at least one intersecting
itself as the first label. \n If a hostname is specified by both
the Listener and HTTPRoute, there must be at least one intersecting
hostname for the HTTPRoute to be attached to the Listener. For example: hostname for the HTTPRoute to be attached to the Listener. For example:
\n * A Listener with `test.example.com` as the hostname matches \n * A Listener with `test.example.com` as the hostname matches
HTTPRoutes that have either not specified any hostnames, or have HTTPRoutes that have either not specified any hostnames, or have
@ -558,9 +556,8 @@ spec:
the value with which to replace the prefix the value with which to replace the prefix
match of a request during a rewrite or match of a request during a rewrite or
redirect. For example, a request to \"/foo/bar\" redirect. For example, a request to \"/foo/bar\"
with a prefix match of \"/foo\" and a with a prefix match of \"/foo\" would
ReplacePrefixMatch of \"/xyz\" would be be modified to \"/bar\". \n Note that
modified to \"/xyz/bar\". \n Note that
this matches the behavior of the PathPrefix this matches the behavior of the PathPrefix
match type. This matches full path elements. match type. This matches full path elements.
A path element refers to the list of labels A path element refers to the list of labels
@ -568,23 +565,7 @@ spec:
When specified, a trailing `/` is ignored. When specified, a trailing `/` is ignored.
For example, the paths `/abc`, `/abc/`, For example, the paths `/abc`, `/abc/`,
and `/abc/def` would all match the prefix and `/abc/def` would all match the prefix
`/abc`, but the path `/abcd` would not. `/abc`, but the path `/abcd` would not."
\n Request Path | Prefix Match | Replace
Prefix | Modified Path -------------|--------------|----------------|----------
/foo/bar | /foo | /xyz |
/xyz/bar /foo/bar | /foo |
/xyz/ | /xyz/bar /foo/bar |
/foo/ | /xyz | /xyz/bar
/foo/bar | /foo/ | /xyz/ |
/xyz/bar /foo | /foo |
/xyz | /xyz /foo/ | /foo
\ | /xyz | /xyz/ /foo/bar
\ | /foo | <empty string> |
/bar /foo/ | /foo | <empty
string> | / /foo | /foo |
<empty string> | / /foo/ | /foo
\ | / | / /foo |
/foo | / | /"
maxLength: 1024 maxLength: 1024
type: string type: string
type: type:
@ -840,9 +821,8 @@ spec:
the value with which to replace the prefix the value with which to replace the prefix
match of a request during a rewrite or match of a request during a rewrite or
redirect. For example, a request to \"/foo/bar\" redirect. For example, a request to \"/foo/bar\"
with a prefix match of \"/foo\" and a with a prefix match of \"/foo\" would
ReplacePrefixMatch of \"/xyz\" would be be modified to \"/bar\". \n Note that
modified to \"/xyz/bar\". \n Note that
this matches the behavior of the PathPrefix this matches the behavior of the PathPrefix
match type. This matches full path elements. match type. This matches full path elements.
A path element refers to the list of labels A path element refers to the list of labels
@ -850,23 +830,7 @@ spec:
When specified, a trailing `/` is ignored. When specified, a trailing `/` is ignored.
For example, the paths `/abc`, `/abc/`, For example, the paths `/abc`, `/abc/`,
and `/abc/def` would all match the prefix and `/abc/def` would all match the prefix
`/abc`, but the path `/abcd` would not. `/abc`, but the path `/abcd` would not."
\n Request Path | Prefix Match | Replace
Prefix | Modified Path -------------|--------------|----------------|----------
/foo/bar | /foo | /xyz |
/xyz/bar /foo/bar | /foo |
/xyz/ | /xyz/bar /foo/bar |
/foo/ | /xyz | /xyz/bar
/foo/bar | /foo/ | /xyz/ |
/xyz/bar /foo | /foo |
/xyz | /xyz /foo/ | /foo
\ | /xyz | /xyz/ /foo/bar
\ | /foo | <empty string> |
/bar /foo/ | /foo | <empty
string> | / /foo | /foo |
<empty string> | / /foo/ | /foo
\ | / | / /foo |
/foo | / | /"
maxLength: 1024 maxLength: 1024
type: string type: string
type: type:
@ -1250,8 +1214,7 @@ spec:
value with which to replace the prefix match value with which to replace the prefix match
of a request during a rewrite or redirect. For of a request during a rewrite or redirect. For
example, a request to \"/foo/bar\" with a prefix example, a request to \"/foo/bar\" with a prefix
match of \"/foo\" and a ReplacePrefixMatch of match of \"/foo\" would be modified to \"/bar\".
\"/xyz\" would be modified to \"/xyz/bar\".
\n Note that this matches the behavior of the \n Note that this matches the behavior of the
PathPrefix match type. This matches full path PathPrefix match type. This matches full path
elements. A path element refers to the list elements. A path element refers to the list
@ -1259,21 +1222,7 @@ spec:
When specified, a trailing `/` is ignored. For When specified, a trailing `/` is ignored. For
example, the paths `/abc`, `/abc/`, and `/abc/def` example, the paths `/abc`, `/abc/`, and `/abc/def`
would all match the prefix `/abc`, but the path would all match the prefix `/abc`, but the path
`/abcd` would not. \n Request Path | Prefix `/abcd` would not."
Match | Replace Prefix | Modified Path -------------|--------------|----------------|----------
/foo/bar | /foo | /xyz |
/xyz/bar /foo/bar | /foo | /xyz/
\ | /xyz/bar /foo/bar | /foo/ |
/xyz | /xyz/bar /foo/bar | /foo/
\ | /xyz/ | /xyz/bar /foo |
/foo | /xyz | /xyz /foo/ |
/foo | /xyz | /xyz/ /foo/bar
\ | /foo | <empty string> | /bar
/foo/ | /foo | <empty string>
| / /foo | /foo | <empty string>
| / /foo/ | /foo | / |
/ /foo | /foo | / |
/"
maxLength: 1024 maxLength: 1024
type: string type: string
type: type:
@ -1512,8 +1461,7 @@ spec:
value with which to replace the prefix match value with which to replace the prefix match
of a request during a rewrite or redirect. For of a request during a rewrite or redirect. For
example, a request to \"/foo/bar\" with a prefix example, a request to \"/foo/bar\" with a prefix
match of \"/foo\" and a ReplacePrefixMatch of match of \"/foo\" would be modified to \"/bar\".
\"/xyz\" would be modified to \"/xyz/bar\".
\n Note that this matches the behavior of the \n Note that this matches the behavior of the
PathPrefix match type. This matches full path PathPrefix match type. This matches full path
elements. A path element refers to the list elements. A path element refers to the list
@ -1521,21 +1469,7 @@ spec:
When specified, a trailing `/` is ignored. For When specified, a trailing `/` is ignored. For
example, the paths `/abc`, `/abc/`, and `/abc/def` example, the paths `/abc`, `/abc/`, and `/abc/def`
would all match the prefix `/abc`, but the path would all match the prefix `/abc`, but the path
`/abcd` would not. \n Request Path | Prefix `/abcd` would not."
Match | Replace Prefix | Modified Path -------------|--------------|----------------|----------
/foo/bar | /foo | /xyz |
/xyz/bar /foo/bar | /foo | /xyz/
\ | /xyz/bar /foo/bar | /foo/ |
/xyz | /xyz/bar /foo/bar | /foo/
\ | /xyz/ | /xyz/bar /foo |
/foo | /xyz | /xyz /foo/ |
/foo | /xyz | /xyz/ /foo/bar
\ | /foo | <empty string> | /bar
/foo/ | /foo | <empty string>
| / /foo | /foo | <empty string>
| / /foo/ | /foo | / |
/ /foo | /foo | / |
/"
maxLength: 1024 maxLength: 1024
type: string type: string
type: type:
@ -2011,7 +1945,7 @@ spec:
required: required:
- spec - spec
type: object type: object
served: false served: true
storage: false storage: false
subresources: subresources:
status: {} status: {}
@ -2049,14 +1983,12 @@ spec:
description: "Hostnames defines a set of hostname that should match description: "Hostnames defines a set of hostname that should match
against the HTTP Host header to select a HTTPRoute used to process against the HTTP Host header to select a HTTPRoute used to process
the request. Implementations MUST ignore any port value specified the request. Implementations MUST ignore any port value specified
in the HTTP Host header while performing a match and (absent of in the HTTP Host header while performing a match. \n Valid values
any applicable header modification configuration) MUST forward this for Hostnames are determined by RFC 1123 definition of a hostname
header unmodified to the backend. \n Valid values for Hostnames with 2 notable exceptions: \n 1. IPs are not allowed. 2. A hostname
are determined by RFC 1123 definition of a hostname with 2 notable may be prefixed with a wildcard label (`*.`). The wildcard label
exceptions: \n 1. IPs are not allowed. 2. A hostname may be prefixed must appear by itself as the first label. \n If a hostname is specified
with a wildcard label (`*.`). The wildcard label must appear by by both the Listener and HTTPRoute, there must be at least one intersecting
itself as the first label. \n If a hostname is specified by both
the Listener and HTTPRoute, there must be at least one intersecting
hostname for the HTTPRoute to be attached to the Listener. For example: hostname for the HTTPRoute to be attached to the Listener. For example:
\n * A Listener with `test.example.com` as the hostname matches \n * A Listener with `test.example.com` as the hostname matches
HTTPRoutes that have either not specified any hostnames, or have HTTPRoutes that have either not specified any hostnames, or have
@ -2546,9 +2478,8 @@ spec:
the value with which to replace the prefix the value with which to replace the prefix
match of a request during a rewrite or match of a request during a rewrite or
redirect. For example, a request to \"/foo/bar\" redirect. For example, a request to \"/foo/bar\"
with a prefix match of \"/foo\" and a with a prefix match of \"/foo\" would
ReplacePrefixMatch of \"/xyz\" would be be modified to \"/bar\". \n Note that
modified to \"/xyz/bar\". \n Note that
this matches the behavior of the PathPrefix this matches the behavior of the PathPrefix
match type. This matches full path elements. match type. This matches full path elements.
A path element refers to the list of labels A path element refers to the list of labels
@ -2556,23 +2487,7 @@ spec:
When specified, a trailing `/` is ignored. When specified, a trailing `/` is ignored.
For example, the paths `/abc`, `/abc/`, For example, the paths `/abc`, `/abc/`,
and `/abc/def` would all match the prefix and `/abc/def` would all match the prefix
`/abc`, but the path `/abcd` would not. `/abc`, but the path `/abcd` would not."
\n Request Path | Prefix Match | Replace
Prefix | Modified Path -------------|--------------|----------------|----------
/foo/bar | /foo | /xyz |
/xyz/bar /foo/bar | /foo |
/xyz/ | /xyz/bar /foo/bar |
/foo/ | /xyz | /xyz/bar
/foo/bar | /foo/ | /xyz/ |
/xyz/bar /foo | /foo |
/xyz | /xyz /foo/ | /foo
\ | /xyz | /xyz/ /foo/bar
\ | /foo | <empty string> |
/bar /foo/ | /foo | <empty
string> | / /foo | /foo |
<empty string> | / /foo/ | /foo
\ | / | / /foo |
/foo | / | /"
maxLength: 1024 maxLength: 1024
type: string type: string
type: type:
@ -2828,9 +2743,8 @@ spec:
the value with which to replace the prefix the value with which to replace the prefix
match of a request during a rewrite or match of a request during a rewrite or
redirect. For example, a request to \"/foo/bar\" redirect. For example, a request to \"/foo/bar\"
with a prefix match of \"/foo\" and a with a prefix match of \"/foo\" would
ReplacePrefixMatch of \"/xyz\" would be be modified to \"/bar\". \n Note that
modified to \"/xyz/bar\". \n Note that
this matches the behavior of the PathPrefix this matches the behavior of the PathPrefix
match type. This matches full path elements. match type. This matches full path elements.
A path element refers to the list of labels A path element refers to the list of labels
@ -2838,23 +2752,7 @@ spec:
When specified, a trailing `/` is ignored. When specified, a trailing `/` is ignored.
For example, the paths `/abc`, `/abc/`, For example, the paths `/abc`, `/abc/`,
and `/abc/def` would all match the prefix and `/abc/def` would all match the prefix
`/abc`, but the path `/abcd` would not. `/abc`, but the path `/abcd` would not."
\n Request Path | Prefix Match | Replace
Prefix | Modified Path -------------|--------------|----------------|----------
/foo/bar | /foo | /xyz |
/xyz/bar /foo/bar | /foo |
/xyz/ | /xyz/bar /foo/bar |
/foo/ | /xyz | /xyz/bar
/foo/bar | /foo/ | /xyz/ |
/xyz/bar /foo | /foo |
/xyz | /xyz /foo/ | /foo
\ | /xyz | /xyz/ /foo/bar
\ | /foo | <empty string> |
/bar /foo/ | /foo | <empty
string> | / /foo | /foo |
<empty string> | / /foo/ | /foo
\ | / | / /foo |
/foo | / | /"
maxLength: 1024 maxLength: 1024
type: string type: string
type: type:
@ -3238,8 +3136,7 @@ spec:
value with which to replace the prefix match value with which to replace the prefix match
of a request during a rewrite or redirect. For of a request during a rewrite or redirect. For
example, a request to \"/foo/bar\" with a prefix example, a request to \"/foo/bar\" with a prefix
match of \"/foo\" and a ReplacePrefixMatch of match of \"/foo\" would be modified to \"/bar\".
\"/xyz\" would be modified to \"/xyz/bar\".
\n Note that this matches the behavior of the \n Note that this matches the behavior of the
PathPrefix match type. This matches full path PathPrefix match type. This matches full path
elements. A path element refers to the list elements. A path element refers to the list
@ -3247,21 +3144,7 @@ spec:
When specified, a trailing `/` is ignored. For When specified, a trailing `/` is ignored. For
example, the paths `/abc`, `/abc/`, and `/abc/def` example, the paths `/abc`, `/abc/`, and `/abc/def`
would all match the prefix `/abc`, but the path would all match the prefix `/abc`, but the path
`/abcd` would not. \n Request Path | Prefix `/abcd` would not."
Match | Replace Prefix | Modified Path -------------|--------------|----------------|----------
/foo/bar | /foo | /xyz |
/xyz/bar /foo/bar | /foo | /xyz/
\ | /xyz/bar /foo/bar | /foo/ |
/xyz | /xyz/bar /foo/bar | /foo/
\ | /xyz/ | /xyz/bar /foo |
/foo | /xyz | /xyz /foo/ |
/foo | /xyz | /xyz/ /foo/bar
\ | /foo | <empty string> | /bar
/foo/ | /foo | <empty string>
| / /foo | /foo | <empty string>
| / /foo/ | /foo | / |
/ /foo | /foo | / |
/"
maxLength: 1024 maxLength: 1024
type: string type: string
type: type:
@ -3500,8 +3383,7 @@ spec:
value with which to replace the prefix match value with which to replace the prefix match
of a request during a rewrite or redirect. For of a request during a rewrite or redirect. For
example, a request to \"/foo/bar\" with a prefix example, a request to \"/foo/bar\" with a prefix
match of \"/foo\" and a ReplacePrefixMatch of match of \"/foo\" would be modified to \"/bar\".
\"/xyz\" would be modified to \"/xyz/bar\".
\n Note that this matches the behavior of the \n Note that this matches the behavior of the
PathPrefix match type. This matches full path PathPrefix match type. This matches full path
elements. A path element refers to the list elements. A path element refers to the list
@ -3509,21 +3391,7 @@ spec:
When specified, a trailing `/` is ignored. For When specified, a trailing `/` is ignored. For
example, the paths `/abc`, `/abc/`, and `/abc/def` example, the paths `/abc`, `/abc/`, and `/abc/def`
would all match the prefix `/abc`, but the path would all match the prefix `/abc`, but the path
`/abcd` would not. \n Request Path | Prefix `/abcd` would not."
Match | Replace Prefix | Modified Path -------------|--------------|----------------|----------
/foo/bar | /foo | /xyz |
/xyz/bar /foo/bar | /foo | /xyz/
\ | /xyz/bar /foo/bar | /foo/ |
/xyz | /xyz/bar /foo/bar | /foo/
\ | /xyz/ | /xyz/bar /foo |
/foo | /xyz | /xyz /foo/ |
/foo | /xyz | /xyz/ /foo/bar
\ | /foo | <empty string> | /bar
/foo/ | /foo | <empty string>
| / /foo | /foo | <empty string>
| / /foo/ | /foo | / |
/ /foo | /foo | / |
/"
maxLength: 1024 maxLength: 1024
type: string type: string
type: type:
@ -4010,3 +3878,4 @@ status:
conditions: null conditions: null
storedVersions: null storedVersions: null
{{- end }} {{- end }}

View File

@ -56,6 +56,7 @@ var (
"templates/policy/server.yaml", "templates/policy/server.yaml",
"templates/serviceprofile.yaml", "templates/serviceprofile.yaml",
"templates/gateway.networking.k8s.io_httproutes.yaml", "templates/gateway.networking.k8s.io_httproutes.yaml",
"templates/gateway.networking.k8s.io_grpcroutes.yaml",
"templates/workload/external-workload.yaml", "templates/workload/external-workload.yaml",
} }

1707
cli/cmd/testdata/install_crds.golden generated vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff