Skip to content

EnvoyFilter: implement targetRefs#3160

Merged
istio-testing merged 1 commit intoistio:masterfrom
howardjohn:target-ref/include-envoyfilter
Apr 12, 2024
Merged

EnvoyFilter: implement targetRefs#3160
istio-testing merged 1 commit intoistio:masterfrom
howardjohn:target-ref/include-envoyfilter

Conversation

@howardjohn
Copy link
Copy Markdown
Member

This is the only API we have a selector without targetRef.

The motivation at the time was that waypoints don't official support
EnvoyFilter, and targetRef was primarily for waypoints.

However, targetRef can be used with all Kubernetes Gateway, including
for ingress, where EnvoyFilter is supported. Also, long term it will
support waypoint as well I assume; the earlier we add the field the less
migration pain there is.

This PR goes directly to targetRefs in line with
#3159.

This is the only API we have a `selector` without `targetRef`.

The motivation at the time was that waypoints don't official support
EnvoyFilter, and targetRef was primarily for waypoints.

However, targetRef can be used with all Kubernetes Gateway, including
for ingress, where EnvoyFilter is supported. Also, long term it will
support waypoint as well I assume; the earlier we add the field the less
migration pain there is.

This PR goes directly to `targetRefs` in line with
istio#3159.
@howardjohn howardjohn added the release-notes-none Indicates a PR that does not require release notes. label Apr 12, 2024
@howardjohn howardjohn requested a review from a team as a code owner April 12, 2024 16:55
@istio-testing istio-testing added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Apr 12, 2024
@costinm
Copy link
Copy Markdown
Contributor

costinm commented Apr 12, 2024

Looks good to me, makes a lot of sense.

BTW - worth taking a look at https://gateway.envoyproxy.io/v0.5.0/design/extending-envoy-gateway/ and https://gateway.envoyproxy.io/v0.5.0/design/envoy-patch-policy/ - while we are commited to never promote EnvoyFilter to v1, we can support APIs defined by other orgs or work with others to standardize common extensions for Envoy-based gateways.

// This is to prevent proxies connected to older control planes (that don't know about the `targetRefs` field)
// from misinterpreting the policy as namespace-wide during the upgrade process.
//
// NOTE: Waypoint proxies are required to use this field for policies to apply; `selector` policies will be ignored.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@istio-testing istio-testing merged commit 2410bbc into istio:master Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-notes-none Indicates a PR that does not require release notes. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants