Allow to disable tap via setting an env var#252
Merged
hawkw merged 4 commits intolinkerd:masterfrom May 15, 2019
Merged
Conversation
Signed-off-by: Zahari Dichev <[email protected]>
Member
|
Thanks, @zaharidichev! |
olix0r
reviewed
May 13, 2019
src/app/config.rs
Outdated
| pub h2_settings: H2Settings, | ||
|
|
||
| /// When set, tap is not served | ||
| pub tap_disabled: bool, |
Member
There was a problem hiding this comment.
What if, instead of this flag, we make the control_listener hold an Option so that it only exists when tap is enabled?
Signed-off-by: Zahari Dichev <[email protected]>
hawkw
approved these changes
May 13, 2019
Contributor
hawkw
left a comment
There was a problem hiding this comment.
This LGTM --- I commented on a couple of non-blocking nits
Signed-off-by: Zahari Dichev <[email protected]>
kleimkuhler
approved these changes
May 14, 2019
Contributor
kleimkuhler
left a comment
There was a problem hiding this comment.
We can probably skip spawning tap_daemon similar to how we check if we should spawn control_listener. Otherwise this looks good!
Signed-off-by: Zahari Dichev <[email protected]>
olix0r
approved these changes
May 15, 2019
Member
olix0r
left a comment
There was a problem hiding this comment.
Thanks for another great submission, @zaharidichev !
sprt
pushed a commit
to sprt/linkerd2-proxy
that referenced
this pull request
Aug 30, 2019
commit b27dfb2 Author: Takanori Ishibashi <[email protected]> Date: Wed May 15 05:58:42 2019 +0900 updaes->updates (linkerd#250) Signed-off-by: Takanori Ishibashi <[email protected]> commit 16441c2 Author: Eliza Weisman <[email protected]> Date: Tue May 14 14:40:03 2019 -0700 Pass router::Config directly to router::Layer (linkerd#253) Currently, router `layer`s are constructed with a single argument, a type implementing `Recognize`. Then, the entire router stack is built with a `router::Config`. However, in linkerd#248, it became necessary to provide the config up front when constructing the `router::layer`, as the layer is used in a fallback layer. Rather than providing a separate type for a preconfigured layer, @olix0r suggested we simply change all router layers to accept the `Config` when they're constructed (see linkerd#248 (comment)). This branch changes `router::Layer` to accept the config up front. The `router::Stack` types `make` function now requires no arguments, and the implementation of `Service` for `Stack` can be called with any `T` (as the target is now ignored). Signed-off-by: Eliza Weisman <[email protected]> commit b70c68d Author: Eliza Weisman <[email protected]> Date: Wed May 15 13:14:04 2019 -0700 Load balancers fall back to ORIG_DST when no endpoints exist (linkerd#248) Currently, when no endpoints exist in the load balancer for a destination, we fail the request. This is because we expect endpoints to be discovered by both destination service queries _and_ DNS lookups, so if there are no endpoints for a destination, it is assumed to not exist. In linkerd/linkerd2#2661, we intend to remove the DNS lookup from the proxy and instead fall back to routing requests for which no endpoints exist in the destination service to their SO_ORIGINAL_DST IP address. This means that the current approach of failing requests when the load balancer has no endpoints will no longer work. This branch introduces a generic `fallback` layer, which composes a primary and secondary service builder into a new layer. The primary service can fail requests with an error type that propages the original request, allowing the fallback middleware to call the fallback service with the same request. Other errors returned by the primary service are still propagated upstream. In contrast to the approach used in linkerd#240, this fallback middleware is generic and not tied directly to a load balancer or a router, and can be used for other purposes in the future. It relies on the router cache eviction added in linkerd#247 to drain the router when it is not being used, rather than proactively destroying the router when endpoints are available for the lb, and re-creating it when they exist again. A new trait, `HasEndpointStatus`, is added in order to allow the discovery lookup to communicate the "no endpoints" state to the balancer. In addition, we add a new `Update::NoEndpoints` variant to `proxy::resolve::Update`, so that when the control plane sends a no endpoints update, we switch from the balancer to the no endpoints state _immediately_, rather than waiting for all the endpoints to be individually removed. When the balancer has no endpoints, it fails all requests with a fallback error, so that the fallback middleware A subsequent PR (linkerd#248) will remove the DNS lookups from the discovery module. Closes linkerd#240. Signed-off-by: Eliza Weisman <[email protected]> commit 6525b06 Author: Zahari Dichev <[email protected]> Date: Wed May 15 23:35:09 2019 +0300 Allow disabling tap by setting an env var (linkerd#252) This PR fixes linkerd/linkerd2#2811. Now if `LINKERD2_PROXY_TAP_DISABLED` is set, the tap is not served at all. The approach taken is that the `ProxyParts` is changed so the `control_listener` is now an `Option` that will be None if tap is disabled as this control_listener seems to be exclusively used to serve the tap. Feel free to suggest a better approach. Signed-off-by: Zahari Dichev <[email protected]> commit 91f32db Author: Zahari Dichev <[email protected]> Date: Thu May 16 00:45:23 2019 +0300 Assert that outbound TLS works before identity is certified (linkerd#251) This commit introduces TLS capabilities to the support server as well as tests to ensure that outbound TLS works even when there is no verified certificate for the proxy yet. Fixes linkerd/linkerd2#2599 Signed-off-by: Zahari Dichev <[email protected]> commit 45aadc6 Author: Sean McArthur <[email protected]> Date: Wed May 15 14:25:39 2019 -0700 Update h2 to v0.1.19 Includes a couple HPACK fixes Signed-off-by: Sean McArthur <[email protected]> commit 3e0e00c Author: Oliver Gould <[email protected]> Date: Thu May 16 08:11:06 2019 -0700 Update mio to 0.6.17 (linkerd#257) To pick up tokio-rs/mio#939
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.
This PR aims to fix linkerd/linkerd2#2811. Now if
LINKERD2_PROXY_TAP_DISABLEDis set, the tap is not served at all. The approach taken is that theProxyPartsis changed so thecontrol_listeneris now anOptionthat will be None if tap is disabled as this control_listener seems to be exclusively used to serve the tap. Feel free to suggest a better approach.Signed-off-by: Zahari Dichev [email protected]