[WIP] chore(client): Simplify automatic configuration logic #4376
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.
All Pull Requests:
Check all that apply:
Complete Description of Additions/Changes:
Historically, insights-client has been using so-called legacy API at cert-api.access.redhat.com. The configuration object contains key legacy_upload which is True for most of them.
Non-legacy API has existed for years now at cert.cloud.redhat.com (or newer cert.console.redhat.com). Both legacy and non-legacy contain the same services on them, but the domain name and base path differ, along with minor differences in behavior, both server- and client-side.
This patch updates the autoconfig logic to separate out individual responsibilities (making them testable) and exposes the legacy/nonlegacy logic, which is determined by the content of /etc/rhsm/rhsm.conf and /etc/insights-client/insights-client.conf.
Instead of rewriting the base_url value several times, it tries to keep the logic separated from the action where the new configuration options are applied.