listener: first implementation of an Api Listener#9516
Merged
junr03 merged 57 commits intoenvoyproxy:masterfrom Jan 17, 2020
junr03:api-listener
Merged
listener: first implementation of an Api Listener#9516junr03 merged 57 commits intoenvoyproxy:masterfrom junr03:api-listener
junr03 merged 57 commits intoenvoyproxy:masterfrom
junr03:api-listener
Conversation
added 14 commits
December 23, 2019 14:53
Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: Jose Nino <jnino@lyft.com>
goaway
reviewed
Dec 30, 2019
goaway
reviewed
Dec 30, 2019
source/extensions/filters/network/http_connection_manager/config.h
Outdated
Show resolved
Hide resolved
added 7 commits
January 2, 2020 11:20
Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: Jose Nino <jnino@lyft.com>
Member
Author
|
@mattklein123 merged! |
Member
|
/retest |
|
🔨 rebuilding |
Member
|
/azp run envoy-linux |
|
Azure Pipelines successfully started running 1 pipeline(s). |
mattklein123
requested changes
Jan 16, 2020
Member
mattklein123
left a comment
There was a problem hiding this comment.
Thanks, LGTM with a few remaining comments.
/wait
Comment on lines
+14
to
+15
| class ApiListenerIntegrationTest : public BaseIntegrationTest, | ||
| public testing::TestWithParam<Network::Address::IpVersion> { |
Member
There was a problem hiding this comment.
Can this potentially be based on the HTTP integration tests? I think you could just use that with a config modifier that replaces the listener contents with an API listener?
Member
Author
There was a problem hiding this comment.
I didn't want to grab all the unnecessary codec_client stuff. I did clean up the config part to DRY it up.
Member
Author
|
@mattklein123 updated! Thanks for all the comments :) |
Signed-off-by: Jose Nino <jnino@lyft.com>
This was referenced Jan 17, 2020
junr03
added a commit
that referenced
this pull request
Jan 28, 2020
Description: noticed in #9516 that we did not have a convention around aliasing absl::optional<std::reference_wrapper<T>>. This PR proposes one. Risk Level: low. compiles. Testing: compilation and test suite ran. Docs Changes: added the convention in STYLE.md Signed-off-by: Jose Nino <jnino@lyft.com>
junr03
added a commit
to envoyproxy/envoy-mobile
that referenced
this pull request
Jan 30, 2020
Description: this PR integrates [Envoy's ApiListener](envoyproxy/envoy#9516) to replace Envoy Mobile's use of the AsyncClient. Doing so gives Envoy Mobile access to all L7 facilities provided by Envoy's Http Connection Manager; including but no limited to the L7 filters. Risk Level: HIGH! This PR changes the underlying code for Envoy Mobile's core functionality Testing: unit tests updated for the dispatcher, integration tests, and e2e tests with the example apps. Additionally, the ApiListener code has been unit and integration tested in Envoy. Fixes #543 Signed-off-by: Jose Nino <jnino@lyft.com>
jpsim
pushed a commit
that referenced
this pull request
Nov 28, 2022
Description: this PR integrates [Envoy's ApiListener](#9516) to replace Envoy Mobile's use of the AsyncClient. Doing so gives Envoy Mobile access to all L7 facilities provided by Envoy's Http Connection Manager; including but no limited to the L7 filters. Risk Level: HIGH! This PR changes the underlying code for Envoy Mobile's core functionality Testing: unit tests updated for the dispatcher, integration tests, and e2e tests with the example apps. Additionally, the ApiListener code has been unit and integration tested in Envoy. Fixes #543 Signed-off-by: Jose Nino <jnino@lyft.com> Signed-off-by: JP Simard <jp@jpsim.com>
jpsim
pushed a commit
that referenced
this pull request
Nov 29, 2022
Description: this PR integrates [Envoy's ApiListener](#9516) to replace Envoy Mobile's use of the AsyncClient. Doing so gives Envoy Mobile access to all L7 facilities provided by Envoy's Http Connection Manager; including but no limited to the L7 filters. Risk Level: HIGH! This PR changes the underlying code for Envoy Mobile's core functionality Testing: unit tests updated for the dispatcher, integration tests, and e2e tests with the example apps. Additionally, the ApiListener code has been unit and integration tested in Envoy. Fixes #543 Signed-off-by: Jose Nino <jnino@lyft.com> Signed-off-by: JP Simard <jp@jpsim.com>
This file contains hidden or 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
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: this PR introduces the initial implementation of an Api Listener based on the proto configuration merged in #8170. Notably, this PR introduces the ability to add only one api listener via bootstrap config only. This decision was made in order to iterate into more complex setups (multiple listeners, LDS supplied listeners) in subsequent PRs. Moreover, the API listener is created in the context of Envoy's main thread not worker threads.
A first use of this Api Listener can be seen in envoyproxy/envoy-mobile#616.
Risk Level: low, only used in Envoy Mobile. The risk here is about building something generally useful and flexible. Note however that a couple of things were rejiggered in the HCM.
Testing: unit and integration tests. Additional testing in https://github.com/lyft/envoy-mobile.
Docs Changes: Added inline comments and TODOs. Proto documentation is up-to-date.
Release Notes: similar to doc changes.
Signed-off-by: Jose Nino jnino@lyft.com