-
Notifications
You must be signed in to change notification settings - Fork 437
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
Use appendAction for translated HeaderValueOptions #8678
Use appendAction for translated HeaderValueOptions #8678
Conversation
Visit the preview URL for this PR (updated for commit c8eef51): https://gloo-edge--pr8678-fix-use-append-actio-pswgy3jy.web.app (expires Mon, 25 Sep 2023 14:23:22 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 77c2b86e287749579b7ff9cadb81e099042ef677 |
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.
Looking great! Some small thoughts for consolidation that I think we can do. As part of this, should we update our docs about this feature to clarify what the current behavior is?
…ithub.com:solo-io/gloo into fix/use-append-action-for-header-value-options-v3
Issues linked to changelog: |
docs/content/guides/traffic_management/request_processing/append_remove_headers/_index.md
Outdated
Show resolved
Hide resolved
docs/content/guides/traffic_management/request_processing/append_remove_headers/_index.md
Outdated
Show resolved
Hide resolved
docs/content/guides/traffic_management/request_processing/append_remove_headers/_index.md
Outdated
Show resolved
Hide resolved
docs/content/guides/traffic_management/request_processing/append_remove_headers/_index.md
Outdated
Show resolved
Hide resolved
Co-authored-by: Art <artberger@users.noreply.github.com>
…nd_remove_headers/_index.md Co-authored-by: Art <artberger@users.noreply.github.com>
…nd_remove_headers/_index.md Co-authored-by: Art <artberger@users.noreply.github.com>
* update header value options to convert append to envoy v3's append action * update tests to expect appendAction * remove focused test * Update append description * add changelog * add extra informatnion on header append/removal docs * Apply suggestions from code review Co-authored-by: Art <artberger@users.noreply.github.com> * Update docs/content/guides/traffic_management/request_processing/append_remove_headers/_index.md Co-authored-by: Art <artberger@users.noreply.github.com> * Update docs/content/guides/traffic_management/request_processing/append_remove_headers/_index.md Co-authored-by: Art <artberger@users.noreply.github.com> --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: Art <artberger@users.noreply.github.com>
* update header value options to convert append to envoy v3's append action * update tests to expect appendAction * remove focused test * Update append description * add changelog * add extra informatnion on header append/removal docs * Apply suggestions from code review Co-authored-by: Art <artberger@users.noreply.github.com> * Update docs/content/guides/traffic_management/request_processing/append_remove_headers/_index.md Co-authored-by: Art <artberger@users.noreply.github.com> * Update docs/content/guides/traffic_management/request_processing/append_remove_headers/_index.md Co-authored-by: Art <artberger@users.noreply.github.com> --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: Art <artberger@users.noreply.github.com>
…on (#8704) * Use appendAction for translated HeaderValueOptions (#8678) * update header value options to convert append to envoy v3's append action * update tests to expect appendAction * remove focused test * Update append description * add changelog * add extra informatnion on header append/removal docs * Apply suggestions from code review Co-authored-by: Art <artberger@users.noreply.github.com> * Update docs/content/guides/traffic_management/request_processing/append_remove_headers/_index.md Co-authored-by: Art <artberger@users.noreply.github.com> * Update docs/content/guides/traffic_management/request_processing/append_remove_headers/_index.md Co-authored-by: Art <artberger@users.noreply.github.com> --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: Art <artberger@users.noreply.github.com> * update changelog * Expose most_specific_header_mutations_wins (#8692) * add most_specific_header_mutations_wins route config option * translate and add MostSpecificHeaderMutationsWins to translator_test * add changelog * add skipCI-kube-tests:true directive * add header manipulation order e2e tests and expose routeTable in testContext's testClients * codegen * Add section in docs to include mostSpecificHeaderMutationsWins * remove skipCI-kube-tests:true directive * review comment updates * Apply suggestions from code review Co-authored-by: Art <artberger@users.noreply.github.com> * review comment updates pt 2 --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: Art <artberger@users.noreply.github.com> * codegen * do not skip kube tests --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: Art <artberger@users.noreply.github.com>
…on (#8705) * Use appendAction for translated HeaderValueOptions (#8678) * update header value options to convert append to envoy v3's append action * update tests to expect appendAction * remove focused test * Update append description * add changelog * add extra informatnion on header append/removal docs * Apply suggestions from code review Co-authored-by: Art <artberger@users.noreply.github.com> * Update docs/content/guides/traffic_management/request_processing/append_remove_headers/_index.md Co-authored-by: Art <artberger@users.noreply.github.com> * Update docs/content/guides/traffic_management/request_processing/append_remove_headers/_index.md Co-authored-by: Art <artberger@users.noreply.github.com> --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: Art <artberger@users.noreply.github.com> * update changelog * Expose most_specific_header_mutations_wins (#8692) * add most_specific_header_mutations_wins route config option * translate and add MostSpecificHeaderMutationsWins to translator_test * add changelog * add skipCI-kube-tests:true directive * add header manipulation order e2e tests and expose routeTable in testContext's testClients * codegen * Add section in docs to include mostSpecificHeaderMutationsWins * remove skipCI-kube-tests:true directive * review comment updates * Apply suggestions from code review Co-authored-by: Art <artberger@users.noreply.github.com> * review comment updates pt 2 --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: Art <artberger@users.noreply.github.com> * codegen * remove ContainHeaderKeys from header tests * do not skip kube tests * add matcher suite test * add route table client to gateway --------- Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> Co-authored-by: Art <artberger@users.noreply.github.com>
Description
Envoy has deprecated the
append
field: ref. So we are now translating to the newer fieldappend_action
so users can keep the same functionality as before.There are four
append_action
fields:As of now, since we're just translating our existing
append
which is aboolean
onto theappend_action
, we are mapping to two fields as follows:append: true
=>append_action: APPEND_IF_EXISTS_OR_ADD
append: false
=>append_action: OVERWRITE_IF_EXISTS_OR_ADD
API/Code changes
append
translates to Envoy'sappend_action
Context
Users ran into issues where theappend
field was essentially being ignored.append
has been deprecated in favor ofappend_action
Testing steps
Notice only the VS header (
SAMEORIGIN
) is in the header.Go to: http://localhost:19000/config_dump
Notice the
append_action: OVERWRITE_IF_EXISTS_OR_ADD
in the Vhost.Note: If
append: true
, we'll notice both headers in the curl and we may not seeappend_action
as. thetrue
value is the default value.Note: Setting
append: false
on the Route adds theappend_action: OVERWRITE_IF_EXISTS_OR_ADD
in Envoy, but due to the order that header manipulation gets processed, both headers are returned.Notes for reviewers
Checklist: