Skip to content

Conversation

@pkoutsovasilis
Copy link
Contributor

@pkoutsovasilis pkoutsovasilis commented Oct 1, 2025

Summary / What does this PR do?

This PR teaches beatsauthextension to optionally continue running when its HTTP/TLS configuration is invalid, while still surfacing the failure via the OTel component status API and propagating the error to dependent exporters.

Key changes

  • Adds continue_on_error to the extension config.
    • When true, the extension does not fail Collector startup; it reports a PermanentError via component status and exposes a RoundTripper that returns the captured error on use.
    • When false (default), startup fails as before.
  • Reports status via componentstatus so healthcheckv2 / status endpoints can reflect extension health.
  • Refactors HTTP client construction to separate client creation, startup status reporting, and RoundTripper provisioning.

This preserves clarity (like Beats subprocesses) without taking down the whole Collector process.

Why is it important?

Using Beats HTTP transport for the Elasticsearch exporter means a bad TLS/auth config currently causes the entire Collector to exit during extension creation, obscuring which output/config failed. We need to:

  • Keep the process alive (especially under Hybrid Elastic Agent).
  • Surface failures in a way that maps back to the originating output.
  • Let the exporter go unhealthy when it actually attempts to use the extension’s transport.

@pkoutsovasilis pkoutsovasilis force-pushed the feat/beatsauth_continue_on_err branch from ed7ba8b to 2fb1ea7 Compare October 6, 2025 15:29
@pkoutsovasilis pkoutsovasilis requested a review from cmacknz October 6, 2025 21:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants