Add MeshExtension API to extensions#3650
Conversation
|
😊 Welcome @liamawhite! This is either your first contribution to the Istio api repo, or it's been You can learn more about the Istio working groups, Code of Conduct, and contribution guidelines Thanks for contributing! Courtesy of your friendly welcome wagon. |
- Move top-level TrafficSelector to extension_filter.proto - Keep WasmPlugin.TrafficSelector nested for backward compat - Remove targetRef from ExtensionFilter - Add release notes
…mment - Renumber ExtensionFilter fields to be contiguous (targetRefs=2, phase=3, priority=4, match=5) - Wrap wasm/lua in oneof filter_config for type-safe mutual exclusion - Clarify priority tiebreaker ordering (creationTimestamp, then name/namespace) - Regenerate pb.go, pb.html, and CRD YAML
ramaraochavali
left a comment
There was a problem hiding this comment.
LGTM. Couple of naming questions for discussion
- Rename extension_filter.proto to mesh_extension.proto - Update all references, comments, cue-gen tags, and doc annotations - Update CRD kind from ExtensionFilter to MeshExtension - Update release note - Regenerate all artifacts
|
Ok, I know this is really bikeshedding.....but I don't really like MeshExtension, specifically because it's useable for gateways as well. What about trafficextension? |
I am fine with that |
- Rename mesh_extension.proto to traffic_extension.proto - Update all references, comments, cue-gen tags, and doc annotations - Update CRD kind from MeshExtension to TrafficExtension - Rename release note file to add-traffic-extension.yaml - Regenerate all artifacts
- Add ExecutionPhase as the canonical phase enum in traffic_extension.proto - TrafficExtension.phase now uses ExecutionPhase - Annotate PluginPhase in wasm.proto as kept for backward compat only - Regenerate all artifacts
|
Ok I think we should be good to go? |
|
@ramaraochavali one last review from you should do it! |
ramaraochavali
left a comment
There was a problem hiding this comment.
Thank you. This is great
The API PR (istio/api#3650) has been merged. This updates the codebase to use the real upstream istio.io/api and istio.io/client-go modules, removing the replace directives pointing to the liamawhite forks. Key changes from the merged API: - ExtensionFilter renamed to TrafficExtension - PluginPhase renamed to ExecutionPhase (AUTHN/AUTHZ/STATS constants updated) - Wasm/Lua fields moved into a FilterConfig oneof, requiring use of TrafficExtension_Wasm and TrafficExtension_Lua wrapper types - TrafficExtension only has TargetRefs (plural), no singular TargetRef Update all code, generated schema files, and tests accordingly.
The API PR (istio/api#3650) has been merged. This updates the codebase to use the real upstream istio.io/api and istio.io/client-go modules, removing the replace directives pointing to the liamawhite forks. Key changes from the merged API: - ExtensionFilter renamed to TrafficExtension - PluginPhase renamed to ExecutionPhase (AUTHN/AUTHZ/STATS constants updated) - Wasm/Lua fields moved into a FilterConfig oneof, requiring use of TrafficExtension_Wasm and TrafficExtension_Lua wrapper types - TrafficExtension only has TargetRefs (plural), no singular TargetRef Update all code, generated schema files, and tests accordingly.
Please provide a description of this PR:
Adds the
MeshExtensionAPI (formerlyExtensionFilter) to the extensions package, providing a unified mechanism for configuring WebAssembly and Lua filters with consistent targeting and configuration patterns. This adds native support for Lua filters as described in the following design doc.Related implementation PR is here.