-
Notifications
You must be signed in to change notification settings - Fork 5.2k
istio: migrate all istio extensions to contrib #42785
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: wbpcode/wangbaiping <wbphub@gmail.com>
Signed-off-by: wbpcode/wangbaiping <wbphub@gmail.com>
Signed-off-by: wbpcode/wangbaiping <wbphub@gmail.com>
Signed-off-by: wbpcode/wangbaiping <wbphub@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request migrates all Istio extensions from the istio/proxy repository to Envoy's contrib directory. The migration includes four main filters (metadata_exchange, peer_metadata, istio_stats, alpn) along with common utilities for workload discovery and metadata objects. As stated in the PR description, the code changes are minimal (style/format fixes only), API changes preserve legacy package names for backward compatibility, and only unit tests are migrated.
Key Changes:
- Adds Istio-specific network and HTTP filters to contrib
- Preserves legacy package names for backward compatibility (e.g.,
istio.envoy.config.filter.http.alpn.v2alpha1) - Includes comprehensive test coverage for the migrated components
Reviewed changes
Copilot reviewed 54 out of 54 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/type_whisperer/proto_build_targets_gen.py | Adds support for non-standard versioned packages used by Istio extensions |
| tools/code_format/config.yaml | Exempts specific Istio files from certain formatting rules |
| contrib/extensions_metadata.yaml | Registers all four Istio extensions with proper metadata |
| contrib/contrib_build_config.bzl | Adds build configuration for Istio extensions |
| CODEOWNERS | Assigns ownership of Istio contrib directory |
| changelogs/current.yaml | Documents the migration in release notes |
| api/contrib/envoy/extensions/filters//v3/.proto | Proto definitions for all Istio filters |
| contrib/istio/filters//source/ | Source implementations for all filters |
| contrib/istio/filters//test/ | Unit tests for all filters |
| docs/root/api-v3/config/contrib/istio/istio.rst | Documentation index for Istio extensions |
contrib/istio/filters/network/metadata_exchange/source/metadata_exchange.cc
Outdated
Show resolved
Hide resolved
Signed-off-by: wbpcode/wangbaiping <wbphub@gmail.com>
Signed-off-by: wbpcode/wangbaiping <wbphub@gmail.com>
Signed-off-by: code <wbphub@gmail.com>
Commit Message: istio: migrate all istio extensions to contrib
Additional Description:
See #29681 for more context.
All these come from github.com/istio/proxy.
For the code: no any change except fixing style and format.
For the API: no any change except fixing format. The legacy package name is kept for backward compatibility, for example, for the ALPN filter, the type url
istio.envoy.config.filter.http.alpn.v2alpha1.FilterConfigwill still be used.. We should try to figure out a possible way to migrate to new Envoy standard API.For the test: only unit tests are migrated. The e2e tests are still kept in the istio/proxy. We can add more unit tests and integration tests for these extensions in the future.
Risk Level: low. Mainly contrib change and harmless to Envoy self.
Testing: n/a.
Docs Changes: n/a.
Release Notes: added.
Platform Specific Features: n/a.