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

[Feature]: Ability to edit edit port name in service for collector and query. #589

Open
vishukamble opened this issue Jul 14, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@vishukamble
Copy link
Contributor

Requirement

I want the ability to change the port name in spec.ports.name for the Jaeger services (query and collector). This is to allow for custom port names such as http-admin or other names which help enforce HTTPS via Istio. Renaming the port with the prefix http allows Istio to automatically apply mTLS, providing HTTPS for service monitoring.

Problem

I am trying to enable mTLS for service monitors with Prometheus using Istio. The current Jaeger Helm chart does not allow changing the port name in the service monitor configuration, which prevents me from enforcing HTTPS.

I had to manually create service monitors and disable the ones provided by the Helm chart as they don't allow specifying tlsConfig for the Jaeger query and collector service monitors. Here are the links to the current implementations:

Jaeger query service monitor
Jaeger collector service monitor

My current service monitor specification looks like this:

spec:
  endpoints:
  - path: /metrics
    port: http-admin
    scheme: https
    tlsConfig:
      caFile: /etc/prom-certs/root-cert.pem
      certFile: /etc/prom-certs/cert-chain.pem
      insecureSkipVerify: true
      keyFile: /etc/prom-certs/key.pem

The problem arises with the port name. Using the default port name admin results in an unexpected EOF error. However, if I manually change the port name to http-admin in both the service monitor and the service definitions for the Jaeger query and collector, it works correctly with Istio enforcing HTTPS.

Proposal

Query Service:

  - name: {{ .Values.service.portName | default "admin" }}
    port: 16687
    protocol: TCP
    targetPort: {{ .Values.service.targetPortName | default "admin" }}

Collector Service:

   - name: {{ .Values.service.portName | default "admin" }}
    port: 14269
    targetPort: {{ .Values.service.targetPortName | default "admin" }}

Open questions

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant