-
Notifications
You must be signed in to change notification settings - Fork 169
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
Proxy setup for agent #593
Comments
@mostlyjason I added this issue to the task list in the meta-issue. We have many issues about proxy support, so it can be quite confusing to figure out how it is supposed to work and which settings we have available. elastic/beats#25021 contains the most details how proxy support works. Issue https://github.com/elastic/ingest-dev/issues/1051 contains a diagram with communication channels and a list of potential places proxies could be. Anyways, let me give you a short summary how proxy support works. From Go docs about environment variables support:
In addition to support for environment variables, users can configure proxy support via config files. We have proxy support in a many places/namespaces throughout Agent/Beats. All accept the same set of settings. elastic/beats#25219 Did introduce missing settings to a few places, guaranteeing consistency between components (check the PR description for more details). Proxy settings:
Fleet enrolmmentProxy typesProxies can come in different flavors and support different protocols. Proxy support for HTTP 1 connections should still be able to upgrade to HTTP 2 after a successful From Go docs:
Proxy authenticationSome environments might require users to authenticate themselves with the proxy. We do not have explicit settings for authentication. The Agent enrollment into Fleet:When enrolling an Agent into Fleet, we might not have a configuration file yet. In addition to the environment variables, the enrollment command accepts the proxy settings via CLI (PR elastic/beats#26514). Namely During enrollment internal configuration files might be written. The proxy settings will be copies over to those configuration files. Notes:
|
Awesome thanks @urso! @dedemorton is this enough info for the docs team to convert it into a public doc? I'll reassign this back to you but let me know if you need more information. |
Yes, it's enough for us to get started, assuming the related PRs and issues describe the final product behavior. Can you ask someone on the dev team to confirm that the info in those PRs/issues is correct? |
@dedemorton i dont see anything incorrect there but let me know if anything looks inconsistent |
The details in the PRs and given here should be complete |
@andresrc you mentioned this issue needs scoping in an email. Do you see anything that you feel should be left out or is missing? I think users need to understand how to set the setting or environment variables, the values they can take, and caveats. You mentioned some issues discovered during testing? |
@mostlyjason what I meant is that in the diagram linked in https://github.com/elastic/ingest-dev/issues/1051 there are multiple connections that might be impacted by the proxy settings, and in many scenarios we might find a mix of them. So maybe we should focus on some of them first. |
Ok can we focus first on the proxy settings that Steffen just added here elastic/beats#25219? This is new functionality and he will be leaving soon and we may need his input. I believe that is the connections with numbers 3, 4, 6 and 7 in the diagram. @urso please correct me if I'm wrong. Is that a reasonable place to start? |
Correct, this PR adds proxy support (and consistent set of settings) to all these connections. There is another PR for 3 and 5 in the Beats repository. The connection 5 is done in Fleet Server repo and Beats repo. All in all, we introduce the very same set of settings in each place: proxy_url, proxy_headers, proxy_disabled and support for the HTTP_PROXY, HTTPS_PROXY, and NOPROXY environment variables. |
There was a bug that was fixed as part of 7.14.1 which has been confirmed as fixed. I don't know which #s it is per above, but I bet it is 3,4,6, and 7. The testing remains to be done for all other connections, though they may (probably) already work. Just fyi. |
@lthach2 FYI, and it might be helpful to review + collaborate on the Docs work for proxy enhancements |
Proxy support had a few bugs that are included as part of 7.15, the Agent team finished testing and this remains the only remaining piece to close out the meta/tracking ticket for Agent proxy support. |
I have an initial PR up here: #1239 I went through the rat king of issues to figure this out as best I could, but I need someone to work with me on testing and filling in the missing details because I do not have an environment where I can test this setup. It sounds like @michel-laterman tested this at one point, and maybe @lthach2 can help? Who wants to help me take this (American) football over the finish line for 7.16? Add a comment to #1239 if you can help. Thanks! |
I think doc update in #1239 lacks description of where to put environment settings such as |
@gbanasiak Can you add your comment to the review of #1239? That way, reviewers can see your comment and discuss it. Thanks! |
Let's document how users can set up and use proxies with Elastic Agent.
Related:
The text was updated successfully, but these errors were encountered: