Skip to content

Conversation

zirain
Copy link
Member

@zirain zirain commented Oct 9, 2025

RFC: https://docs.google.com/document/d/1hnYJ1P3hYNBALR_2U2h03xJYhyKtcDHLzBAEVEl_pDc/edit?tab=t.0

Protocol and ClusterMatch(subset) is not implemented in the first iterate, we can add them back if needed.

@zirain zirain requested a review from a team as a code owner October 9, 2025 11:25
@istio-policy-bot
Copy link

😊 Welcome @zirain! This is either your first contribution to the Istio api repo, or it's been
a while since you've been here.

You can learn more about the Istio working groups, Code of Conduct, and contribution guidelines
by referring to Contributing to Istio.

Thanks for contributing!

Courtesy of your friendly welcome wagon.

@istio-testing istio-testing added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Oct 9, 2025
@zirain zirain added the release-notes-none Indicates a PR that does not require release notes. label Oct 9, 2025
Copy link
Member

@howardjohn howardjohn left a comment

Choose a reason for hiding this comment

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

Looks good!

string name = 4;
}

message WaypointMatch {
Copy link
Member

Choose a reason for hiding this comment

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

I think we will need CEL validation in place to ensure that you only use waypoint match when mode is WAYPOINT, and that you don't use other matchers when mode is WAYPOINT.

Also for targetRef service, must be WAYPOINT. For targetRef gateway, must be waypoint or gateway or empty?

Copy link
Member

Choose a reason for hiding this comment

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

nvm I see you have some of these already, nice


// One or more match conditions to be met before a patch is applied
// to the generated configuration for a given proxy.
// +kubebuilder:validation:XValidation:message="only support waypointMatch when context is WAYPOINT",rule="(self.context == 'WAYPOINT' && has(self.waypoint)) || (self.context != 'WAYPOINT' && !has(self.waypoint))"
Copy link
Member

Choose a reason for hiding this comment

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

I think this may fail if self.context is unset. The default function may be handy here

Copy link
Member Author

Choose a reason for hiding this comment

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

add default will execced the limit cost of CEL, add a test case for it.

@zirain zirain requested a review from howardjohn October 11, 2025 02:10
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/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants