jaegertracing / helm-charts

Helm Charts for Jaeger backend
Apache License 2.0
258 stars 340 forks source link

[Feature - Jaeger]: Ability to not provide ES_USERNAME #441

Closed klubi closed 1 year ago

klubi commented 1 year ago

Requirement

In AWS environment, when jaeger runs in kubernetes than it can access OpenSearch via dedicated vpc url. Using that URL does not require providing any credentials (if fine-grained-access is disabled).

Problem

Using jaeger chart makes it impossible to not provide name that will be passed as ES_USERNAME. Providing that variable makes it impossible to use OpenSearch as a backend.

Proposal

Would be nice if chart allowed to not provide that value, so it does not get rendered.

I have a working solution, using jaeger-operator (not chart, raw, in-house built manifests). In that solution, operator takes below Jaeger config:

storage:
    type: elasticsearch
    options:
      es:
        server-urls: https://vpc-redacted-redacted.us-east-1.es.amazonaws.com
        index-prefix: staging-tracing
        tls.skip-host-verify: "true"

and turns it into following manifest

spec:
  containers:
  - args:
    - --es.index-prefix=staging-tracing
    - --es.server-urls=https://vpc-redacted-redacted.us-east-1.es.amazonaws.com
    - --es.tls.enabled=true
    - --es.tls.skip-host-verify=true
    - --sampling.strategies-file=/etc/jaeger/sampling/sampling.json
    env:
    - name: SPAN_STORAGE_TYPE
      value: elasticsearch
    - name: COLLECTOR_ZIPKIN_HOST_PORT
      value: :9411
    - name: COLLECTOR_OTLP_ENABLED
      value: "true"

I can't achieve same config using when using jaeger chart, which results in below failures:

Failed to init storage factory","error":"failed to create primary Elasticsearch client: health check timeout: no Elasticsearch node available

Open questions

No response