Skip to content
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

Not possible to configure TLS on Jaeger Exporter via SDK auto-configure env vars #4917

Closed
ppatierno opened this issue Nov 3, 2022 · 5 comments
Labels
blocked:spec blocked on open or unresolved spec

Comments

@ppatierno
Copy link

I have a Jaeger backend with TLS enabled on the gRPC port.
Having a look at the Jaeger Exporter source code, it seems to be possible to enable TLS on the gRPC client in order to match the expectations of the backend.
Anyway, I don't see a way to configure TLS on the Jaeger Exporter by using the SDK auto-configure extension through env vars.
Taking a look here it seems that for the OTLP exporter there are additional env vars for setting up TLS key and certificates (i.e. OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE, OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY, ...).
There are no corresponding env vars for the Jaerger (and Zipkin) exporter.
Is my assumption right that we cannot configure TLS on the Jaeger Exporter client via SDK auto-configuration extension with env vars?

@ppatierno ppatierno changed the title Configure TLS on Jaeger Exporter via SDK auto-configure env vars Not possible to configure TLS on Jaeger Exporter via SDK auto-configure env vars Nov 3, 2022
@jack-berg
Copy link
Member

Unfortunately the environment variables we support are dictated by the spec, and there aren't environment variables for jaeger / zipkin TLS.

There's been resistance at the spec level to continue to add additional environment variable with knowledge that file based configuration approach has several advantages and is coming down the pipeline. This issue was opened to shed some light on whether or not new environment variables will be added while we await a file based config solution. Here's the relevant decision from the technical committee:

Additionally, new environment variable use-cases will be evaluated and non-essential use-cases may still be blocked on a full configuration specification.

So we're blocked on the spec, and the spec is being cautious about adding new environment variables but may make exceptions in certain situations.

For jaeger, you might consider using an OTLP exporter instead of jaeger since jaeger now supports OTLP. As a matter of fact, there's a general effort to deprecate and eventually remove the jaeger exporters altogether. The story for zipkin is not as great, but its worth noting that the collector zipkin exporter does support customizing TLS.

@breedx-splk
Copy link
Contributor

+1 for what @jack-berg said. I know @ppatierno your question was specifically about auto-configure and env vars, but if you're willing to drop in a little bit of code, the JaegerGrpcSpanExporterBuilder does support settings certs. Maybe that helps.

In any case, like Jack said, best bet is to do OTLP into Jaeger at this point.

@ppatierno
Copy link
Author

Thanks @jack-berg @breedx-splk now it's everything clearer.
Unluckily we are leveraging the SDK auto-configure extension so we cannot make any code change just for this.
We are planning to move to use OTLP exporter by default in Strimzi in order to have better support for TLS as well as taking into account the Jaeger exporter deprecation. I didn't know about it.

@jack-berg jack-berg added the blocked:spec blocked on open or unresolved spec label Nov 7, 2022
@jack-berg
Copy link
Member

Happy to help! Marking this issue as blocked:spec. Will close if the spec moves forward with deprecating the jaeger exporter.

@jack-berg
Copy link
Member

The jaeger exporters were removed in #6119 so this is no longer relevant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked:spec blocked on open or unresolved spec
Projects
None yet
Development

No branches or pull requests

3 participants