-
Notifications
You must be signed in to change notification settings - Fork 473
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
Control plane support for Extractor regex replace #9124
Merged
Merged
+2,294
−407
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ab2dd0fcc874edd9405
jbohanon
reviewed
Feb 1, 2024
jbohanon
reviewed
Feb 1, 2024
Loading status checks…
…o extractor_regex_replace
jbohanon
reviewed
Feb 2, 2024
Loading status checks…
…o extractor_regex_replace
Loading status checks…
…o extractor_regex_replace
jbohanon
reviewed
Mar 13, 2024
Co-authored-by: Jacob Bohanon <[email protected]>
Loading status checks…
…o extractor_regex_replace
jbohanon
previously approved these changes
Mar 13, 2024
Nadine2016
reviewed
Mar 13, 2024
...o/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md
Outdated
Show resolved
Hide resolved
Nadine2016
reviewed
Mar 13, 2024
...o/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md
Outdated
Show resolved
Hide resolved
Nadine2016
reviewed
Mar 13, 2024
...o/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md
Outdated
Show resolved
Hide resolved
Nadine2016
reviewed
Mar 13, 2024
...o/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md
Outdated
Show resolved
Hide resolved
Nadine2016
reviewed
Mar 13, 2024
...o/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md
Outdated
Show resolved
Hide resolved
Nadine2016
reviewed
Mar 13, 2024
...o/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md
Outdated
Show resolved
Hide resolved
Loading status checks…
…o extractor_regex_replace
Nadine2016
approved these changes
Mar 13, 2024
jbohanon
approved these changes
Mar 13, 2024
ben-taussig-solo
added a commit
that referenced
this pull request
Mar 14, 2024
* update envoy transformation API w changes as of 55ddd1bfc4d9976bc953cab2dd0fcc874edd9405 * add new settings to user-facing API * update transformation plugin + add unit tests * bump envoy-gloo version to pre-release hash * unit testing updates * check regex validity in transformation plugin * use table based tests * add e2e tests * update comment, add DO_NOT_SUBMIT tag * testing updates * create error type * support dynamic_metadata API field * support dynamic_metadata API field in user-facing API * Revert "support dynamic_metadata API field in user-facing API" This reverts commit 1602aba. * Revert "support dynamic_metadata API field" This reverts commit a001c66. * update inline documentation of transformation filter to match envoy-gloo changes * add changelog entry * use pre-release ENVOY_GLOO_IMAGE * remove DO_NOT_MERGE, add new test against default mode * add documentation for new feature * clean up plugin.go todos and commentary * update external API documentation * remove remaining TODO in plugin.test.go * unfocus tests in plugin_test.go * let control plane be dumb about regex semantics; already covered by envoy validation mode * update proto documentation for new modes * docs updates * Adding changelog file to new location * Deleting changelog file from old location * bump ENVOY_GLOO_IMAGE to 1.28.1-patch2 * documentation updates * update user guide, .proto inline documentation * remove unintentially committed bananaToOrange test * resolve typos in .proto files * update tests with new defaults, move envoy transformation validation tests to kube2e suite * Adding changelog file to new location * Deleting changelog file from old location * update envoy-gloo dep to point to new 1.27 release * empty commit to kick build * clean up modeName check when generating extractor errors Co-authored-by: Jacob Bohanon <[email protected]> * remove duplicated default extraction mode handler * validate new default mode handling in new test --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: changelog-bot <changelog-bot> Co-authored-by: Jacob Bohanon <[email protected]>
ben-taussig-solo
added a commit
that referenced
this pull request
Mar 14, 2024
* update envoy transformation API w changes as of 55ddd1bfc4d9976bc953cab2dd0fcc874edd9405 * add new settings to user-facing API * update transformation plugin + add unit tests * bump envoy-gloo version to pre-release hash * unit testing updates * check regex validity in transformation plugin * use table based tests * add e2e tests * update comment, add DO_NOT_SUBMIT tag * testing updates * create error type * support dynamic_metadata API field * support dynamic_metadata API field in user-facing API * Revert "support dynamic_metadata API field in user-facing API" This reverts commit 1602aba. * Revert "support dynamic_metadata API field" This reverts commit a001c66. * update inline documentation of transformation filter to match envoy-gloo changes * add changelog entry * use pre-release ENVOY_GLOO_IMAGE * remove DO_NOT_MERGE, add new test against default mode * add documentation for new feature * clean up plugin.go todos and commentary * update external API documentation * remove remaining TODO in plugin.test.go * unfocus tests in plugin_test.go * let control plane be dumb about regex semantics; already covered by envoy validation mode * update proto documentation for new modes * docs updates * Adding changelog file to new location * Deleting changelog file from old location * bump ENVOY_GLOO_IMAGE to 1.28.1-patch2 * documentation updates * update user guide, .proto inline documentation * remove unintentially committed bananaToOrange test * resolve typos in .proto files * update tests with new defaults, move envoy transformation validation tests to kube2e suite * Adding changelog file to new location * Deleting changelog file from old location * update envoy-gloo dep to point to new 1.27 release * empty commit to kick build * clean up modeName check when generating extractor errors Co-authored-by: Jacob Bohanon <[email protected]> * remove duplicated default extraction mode handler * validate new default mode handling in new test --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: changelog-bot <changelog-bot> Co-authored-by: Jacob Bohanon <[email protected]>
soloio-bulldozer bot
added a commit
that referenced
this pull request
Mar 14, 2024
Loading
Loading status checks…
* Control plane support for Extractor regex replace (#9124) * update envoy transformation API w changes as of 55ddd1bfc4d9976bc953cab2dd0fcc874edd9405 * add new settings to user-facing API * update transformation plugin + add unit tests * bump envoy-gloo version to pre-release hash * unit testing updates * check regex validity in transformation plugin * use table based tests * add e2e tests * update comment, add DO_NOT_SUBMIT tag * testing updates * create error type * support dynamic_metadata API field * support dynamic_metadata API field in user-facing API * Revert "support dynamic_metadata API field in user-facing API" This reverts commit 1602aba. * Revert "support dynamic_metadata API field" This reverts commit a001c66. * update inline documentation of transformation filter to match envoy-gloo changes * add changelog entry * use pre-release ENVOY_GLOO_IMAGE * remove DO_NOT_MERGE, add new test against default mode * add documentation for new feature * clean up plugin.go todos and commentary * update external API documentation * remove remaining TODO in plugin.test.go * unfocus tests in plugin_test.go * let control plane be dumb about regex semantics; already covered by envoy validation mode * update proto documentation for new modes * docs updates * Adding changelog file to new location * Deleting changelog file from old location * bump ENVOY_GLOO_IMAGE to 1.28.1-patch2 * documentation updates * update user guide, .proto inline documentation * remove unintentially committed bananaToOrange test * resolve typos in .proto files * update tests with new defaults, move envoy transformation validation tests to kube2e suite * Adding changelog file to new location * Deleting changelog file from old location * update envoy-gloo dep to point to new 1.27 release * empty commit to kick build * clean up modeName check when generating extractor errors Co-authored-by: Jacob Bohanon <[email protected]> * remove duplicated default extraction mode handler * validate new default mode handling in new test --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: changelog-bot <changelog-bot> Co-authored-by: Jacob Bohanon <[email protected]> * update changelog location * respsect updated variable name in kube2e gateway_test.go * update language in user guide * correct typo in .proto documentation --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: Jacob Bohanon <[email protected]>
soloio-bulldozer bot
added a commit
that referenced
this pull request
Mar 15, 2024
Loading
Loading status checks…
* Control plane support for Extractor regex replace (#9124) * update envoy transformation API w changes as of 55ddd1bfc4d9976bc953cab2dd0fcc874edd9405 * add new settings to user-facing API * update transformation plugin + add unit tests * bump envoy-gloo version to pre-release hash * unit testing updates * check regex validity in transformation plugin * use table based tests * add e2e tests * update comment, add DO_NOT_SUBMIT tag * testing updates * create error type * support dynamic_metadata API field * support dynamic_metadata API field in user-facing API * Revert "support dynamic_metadata API field in user-facing API" This reverts commit 1602aba. * Revert "support dynamic_metadata API field" This reverts commit a001c66. * update inline documentation of transformation filter to match envoy-gloo changes * add changelog entry * use pre-release ENVOY_GLOO_IMAGE * remove DO_NOT_MERGE, add new test against default mode * add documentation for new feature * clean up plugin.go todos and commentary * update external API documentation * remove remaining TODO in plugin.test.go * unfocus tests in plugin_test.go * let control plane be dumb about regex semantics; already covered by envoy validation mode * update proto documentation for new modes * docs updates * Adding changelog file to new location * Deleting changelog file from old location * bump ENVOY_GLOO_IMAGE to 1.28.1-patch2 * documentation updates * update user guide, .proto inline documentation * remove unintentially committed bananaToOrange test * resolve typos in .proto files * update tests with new defaults, move envoy transformation validation tests to kube2e suite * Adding changelog file to new location * Deleting changelog file from old location * update envoy-gloo dep to point to new 1.27 release * empty commit to kick build * clean up modeName check when generating extractor errors Co-authored-by: Jacob Bohanon <[email protected]> * remove duplicated default extraction mode handler * validate new default mode handling in new test --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: changelog-bot <changelog-bot> Co-authored-by: Jacob Bohanon <[email protected]> * update changelog location * update changelog entry location * respsect updated variable name in kube2e gateway_test.go * update language in user guide * correct typo in .proto documentation --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: Jacob Bohanon <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
User-facing API
mode
field, which represents the type of extraction to perform. Themode
field can be one ofEXTRACT
,SINGLE_REPLACE
, orREPLACE_ALL
. Themode
field is optional, and defaults toEXTRACT
(prior to these changes,EXTRACT
was the standard behavior for extractors).replacement_text
field, which is used inSINGLE_REPLACE
andREPLACE_ALL
modes. This field is optional, and is required if the extractor is configured inSINGLE_REPLACE
orREPLACE_ALL
mode.Control-plane Updates
mode
extractor field,mode
isEXTRACT
, the control-plane will error ifreplacement_text
is set.mode
isSINGLE_REPLACE
, the control-plane will error ifreplacement_text
is not set.mode
isREPLACE_ALL
, the control-plane will error ifsubgroup
is set, and ifreplacement_text
is not set.Testing
mode
andreplacement_text
fields, and that invalid configurations are rejected.Additional Bug Fixes
Remaining Work
I need to make substantial changes to the documentation before this work is complete. I may choose to handle that in a separate PR if that seems more straightforwardI am going to leave this PR in WIP/draft state until the corresponding envoy-gloo PR is merged and released: Add regex replace functionality to transformation filter extractors [Revised] solo-io/envoy-gloo#309