-
Notifications
You must be signed in to change notification settings - Fork 158
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
Move to use 127.0.0.1 for network listeners by default in some cases #3639
Conversation
I don't believe we've advertised this as an upcoming change and wonder about a smoother transition using feature flags and the internal settings mechanism. The failing |
We're just changing some of the default values of the installers and not the software itself, so we can probably not do this work with feature flags. We could make a warning log appear advertising this upcoming change as a separate PR. I guess I will need to check the best way to address the health check failure. For now I think the best approach is to configure the health check to bind to 0.0.0.0 to keep the test working. |
You can try updating the installation command for the |
Yes, I pushed this as result. Thanks for the help :) |
If you rebase, the installer tests will probably fail since it is expecting "0.0.0.0" by default , and the custom test uses "127.0.0.1". We can probably just swap those in the tests. |
We'll also need to remember to update https://github.com/splunk/public-o11y-docs/blob/main/gdi/opentelemetry/install-linux.rst?plain=1#L220 and https://github.com/splunk/public-o11y-docs/blob/main/gdi/opentelemetry/install-windows.rst?plain=1#L182 when these changes are released. |
Re docs - sure. @aurbiztondo-splunk as heads up |
f437cde
to
74c922e
Compare
I'm suggesting another approach based on the content of these changes. Having to manage the ip in multiple places adds some complexity to expected behavior and considering its use is only in the default agent and gateway configs that the settings/main evaluate it could happen there. imo 127.0.0.1* would only be applicable for agent installations and defaulting* to it in gateway mode is potentially entirely breaking. edit: We don't necessarily have to tie into the feature flags, but building on the existing (config) settings functionality makes more sense to me than addressing this in every installer/deployment method. |
Well, I feel this discussion in -contrib is relevant. I definitely prefer to use localhost, but, have we discussed this amongst our customers before changing the default? Sorry if you've internally shared it, if so I've missed it. If this was greenfield, yes, totally agreed Some telemetry around configuration would be ideal, assuming we could audit all receivers to ensure (yay more work! Eh, that's what we get paid for 😁) |
…or by default on Windows and Linux installers, as well as Chocolatey
903ea1e
to
d8dd534
Compare
From our discussions. the approach to revise this approach advocates to be mindful of adopting different modes of operation for the collector, which approach the problem holistically:
I like this approach as an evolution of how we shape and distribute the collector to make it easier on everyone to know how things work, with an authoritative approach where we know for a fact that running as gateway is matching an exact configuration and reduces pain levels for customers who can live with defaults. Right now, however, we're not there, and we have to contend with good defaults for our "custom" mode which is set initially by our installer. The proposition then boils down right now to heuristics, which may help but also burden ourselves with complexity or edge cases. The proposition is that if we identify the collector is running with an exact match to the gateway configuration file location, our settings defaults then should change to be set to 0.0.0.0. This proposition contradicts this PR as we set the environment variable value during installation to a fixed value, which we set to 127.0.0.1 for specific installation methods that reflect most likely an agent deployment on a host. We can approach this in 2 ways: Both approaches have their merits. I would personally like to pick the one that doesn't bind us in a particular mode of operation. I propose we do the following:
|
👍
Though not necessarily "good" we do know the config and config content but I'm not sure what deductions or end state we'd want to have. Having the desired config resolve to |
We can still exercise the env var and set it with an empty value so it's reserved and documented in the customer configuration. |
Description:
Move to use 127.0.0.1 for the network listen interface of the collector by default on Windows and Linux installers, as well as Chocolatey